Как посчитать итоги за день?

1. Terabaytus 07.12.24 18:29 Сейчас в теме
Добрый день, подскажите не могу сообразить. Есть 2 таблицы в одну у нас попадают проданые товары. Во вторую мне нужно подвести итог по количеству и сумме плюсом это всё должно быть раскидано по дням например один день купили столько товара на такую сумму в другой день купили товара на такую сумму.
У меня выходит подсчёт суммы и количества, но только за один день и его можно даже редактировать сумма и количество меняется автоматически, а вот во торой то же получаеться вывести, но проблема в том если кто то в этот же день будет редактировать этот документ втрой день не редактируеться и Количество.Итого() выводит сразу завсе дни, а мне нужно что бы количество было за один день как и сумма.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
				
        ПередЗаписьюНоваяСтрока = Истина;		

        ЭлементыФормы.Итого.ДобавитьСтроку()
			
КонецПроцедуры


Процедура ИтогоЗаДеньПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
	
	Если НоваяСтрока И ПередЗаписьюНоваяСтрока = Истина Тогда
		
		Для Каждого СтрокаТЗ Из ИтогоЗаДень Цикл
		
			Если НачалоДня(СтрокаТЗ.ДатаПродажи) = Дата("01.01.0001 0:00:00") Тогда
				
				Элемент.ТекущаяСтрока.ИтогЗаДень = Количество;
				Элемент.ТекущаяСтрока.Количество = Услуги.Итог("Количество");
				Элемент.ТекущаяСтрока.ДатаПродажи = ТекущаяДата();
				
			ИначеЕсли ВыборСтрокиТаблицы = Истина Тогда 
				
				Элемент.ТекущаяСтрока.ИтогЗаДень = Количество;
				Элемент.ТекущаяСтрока.Количество = Услуги.Итог("Количество");
				Элемент.ТекущаяСтрока.ДатаПрадажи = ТекущаяДата();
										
			КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;

КонецПроцедуры

//обновляет данные в таблице ИтогДень согласно добавленым продажам в таблице ИтогоЗаДень
Процедура ИтогоЗаДеньПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	
	Для Каждого СтрокаТЗ Из ИтогоЗаДень Цикл
				
		Если НачалоДня(Дата) = НачалоДня(ТекущаяДата())  Тогда
				
			        Элемент.ТекущаяСтрока.ИтогЗаДень = Количество;
				Элемент.ТекущаяСтрока.Количество = Услуги.Итог("Количество");
				Элемент.ТекущаяСтрока.ДатаПродажи = ТекущаяДата();
				
		ИначеЕсли РедактироватьНажатие = Истина Тогда 
				
			        Элемент.ТекущаяСтрока.ИтогЗаДень = Количество;
				Элемент.ТекущаяСтрока.Количество = Услуги.Итог("Количество");
				Элемент.ТекущаяСтрока.ДатаПродажи = ТекущаяДата();
						
		КонецЕсли;		
				
	КонецЦикла;
	
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
5. anton13m 3 09.12.24 10:37 Сейчас в теме
(4)
его и использую

Где?
Итог выводит общий итог по колонке, если вам нужно по дням, то группируйте по дням, тогда у вас будет таблица с итогами по дням.
И обходить в цикле нужно таблицу с услугами, а не итоговую. Обходите таблицу услуг, ищите в таблице итогов запись за день и прибавляете сумму, если не нашли добавляете новую сумму.
Terabaytus; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2112515 07.12.24 22:14 Сейчас в теме
(1)
и его можно даже редактировать сумма и количество меняется автоматически, а вот во торой то же получаеться вывести, но проблема в том если кто то в этот же день будет редактировать этот документ втрой день не редактируеться и Количество.Итого() выводит сразу завсе дни, а мне нужно что бы количество было за один день как и сумма.

Сказано было сильно, но не очень понятно. Плеснули редкие хлопки, и все призадумались: так ли уж это лестно слышать?
3. anton13m 3 09.12.24 09:59 Сейчас в теме
(1)
подскажите не могу сообразить

Используйте регистр накопления, а не это, что вы там придумали
4. Terabaytus 09.12.24 10:21 Сейчас в теме
5. anton13m 3 09.12.24 10:37 Сейчас в теме
(4)
его и использую

Где?
Итог выводит общий итог по колонке, если вам нужно по дням, то группируйте по дням, тогда у вас будет таблица с итогами по дням.
И обходить в цикле нужно таблицу с услугами, а не итоговую. Обходите таблицу услуг, ищите в таблице итогов запись за день и прибавляете сумму, если не нашли добавляете новую сумму.
Terabaytus; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот