Сформировать отчет 1с7.7

1. Arkady_Killer 30.08.24 05:53 Сейчас в теме
Здравствуйте, помогите суммировать результаты в отчете, очень давно не пользовался семеркой, так сказать "отупел", поэтому прошу помощи. На скриншоте я красным обвел что нужно сделать, но как это реализовать в коде я не знаю.

Процедура Сформировать()
	
	
	Таб = СоздатьОбъект("Таблица");
	Таб.ИсходнаяТаблица("Сформировать");
	Таб.ВывестиСекцию("Шапка");
	Таб.ВывестиСекцию("Строка1");

	Док = СоздатьОбъект("Документ.ЗаказПродукцииНовый");
	Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода);
	Пока Док.ПолучитьДокумент() > 0 Цикл
		Если (Док.Проведен() <> 1) Тогда Продолжить; КонецЕсли;
        РасшДок=Док.ТекущийДокумент();
		Таб.ВывестиСекцию("Строка2");
		
    КонецЦикла; 	
	
	Таб.ВывестиСекцию("Подвал");
	Таб.ТолькоПросмотр(1);
	Таб.Показать("Сформировать","");
КонецПроцедуры

 
//********************************************************************
//***                                                              ***
//********************************************************************
Процедура ПриОткрытии()
	ВыбНачПериода=НачМесяца(ТекущаяДата());
	ВыбКонПериода=КонМесяца(ТекущаяДата());  
		
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
4. jmw 61 30.08.24 07:06 Сейчас в теме
Я же сказал, что смотреть нужно в таблице — макете по восмёрошному
		суммаКол = суммаКол + расшДок.КоличествоДокументов;
		суммаЛот = суммаЛот + расшДок.КоличествоЛотков;
7. jmw 61 30.08.24 08:40 Сейчас в теме
(5) Уже не нужно. Уже всё написано…
Осталось только в подвал добавить „суммаКол#Ч17.0“ и „суммаЛот#Ч17.2“ соответственно, не забыв выставить тип = Выражение
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. jmw 61 30.08.24 06:32 Сейчас в теме
Смотреть нужно в таблице какие данные в соответствующих колонках выводятся, ибо в неё по любому лезть придётся для добавления итогов.
А так, смею предположить, что-то типа:
Процедура Сформировать()

	косяки = 0;
	
	Если ПустоеЗначение(выбНачПериода) = 1 Тогда
		Сообщить("Дата начала отчёта не выбрана", "!");
		косяки = косяки + 1;
	КонецЕсли;
	
	Если ПустоеЗначение(выбКонПериода) = 1 Тогда
		Сообщить("Дата окончания отчёта не выбрана", "!");
		косяки = косяки + 1;
	КонецЕсли;
	
	Если (косяки = 0) И (выбНачПериода > выбКонПериода) Тогда
		Сообщить("Дата начала отчёта позже даты окончания", "!");
	КонецЕсли;
	
	Если косяки > 0 Тогда
		Возврат;
	КонецЕсли;
	
	таб = СоздатьОбъект("Таблица");
	таб.ИсходнаяТаблица("Сформировать");
	таб.ВывестиСекцию("Заголовок");
	
	начПовторения = таб.ВысотаТаблицы() + 1;
	таб.ВывестиСекцию("Шапка");
	конПовторения = таб.ВысотаТаблицы();
	
	таб.ПараметрыСтраницы(1,,,,,,,,,1);
	таб.Опции(0,0,конПовторения);
	таб.ПовторятьПриПечатиСтроки(начПовторения,конПовторения);
	таб.ТолькоПросмотр(1);
	
	суммаКол = 0;
	суммаЛот = 0;
	
	док = СоздатьОбъект("Документ.ЗаказПродукцииНовый");
	док.ВыбратьДокументы(выбНачПериода,выбКонПериода);
	Пока док.ПолучитьДокумент() = 1 Цикл
		Если док.Проведен() = 0 Тогда
			Продолжить;
		КонецЕсли;
		
		расшДок = док.ТекущийДокумент();
		таб.ВывестиСекцию("Строка2");
		
		суммаКол = суммаКол + расшДок.Итог("Количество"); // вот суммируем кол-во
		суммаЛот = суммаЛот + расшДок.Итог("Сумма"); // а здесь суммы
		
	КонецЦикла;
	
	таб.ВывестиСекцию("Подвал");
	таб.Показать("Реестр");
	
КонецПроцедуры
Показать
3. Arkady_Killer 30.08.24 06:41 Сейчас в теме
Бро, я понятия сейчас не имею куда что вставить, можешь просто поправить код? ВОт что в таблице
Прикрепленные файлы:
4. jmw 61 30.08.24 07:06 Сейчас в теме
Я же сказал, что смотреть нужно в таблице — макете по восмёрошному
		суммаКол = суммаКол + расшДок.КоличествоДокументов;
		суммаЛот = суммаЛот + расшДок.КоличествоЛотков;
5. Arkady_Killer 30.08.24 07:19 Сейчас в теме
(4) быт ь может это нужно?
Прикрепленные файлы:
7. jmw 61 30.08.24 08:40 Сейчас в теме
(5) Уже не нужно. Уже всё написано…
Осталось только в подвал добавить „суммаКол#Ч17.0“ и „суммаЛот#Ч17.2“ соответственно, не забыв выставить тип = Выражение
10. Arkady_Killer 30.08.24 10:35 Сейчас в теме
(7) Бро, помоги мне сделать еще список по пользователям чтобы отдельно можно было делать выборку.

Вот я вставил список в форму, теперь нужно чтобы она как то заработала
Прикрепленные файлы:
6. Kanigin 30.08.24 07:56 Сейчас в теме
ИтИтог = 0;

//в цикле
ИтИтог = ИтИтог + КакаяТоСумма;

//Вывод секции Итог
Таб.Показатель.ИтоговыйПоказатель = ИтИтог;
Таб.ВывестиСекцию("Итог");
??? вроде так как-то
8. Arkady_Killer 30.08.24 08:58 Сейчас в теме
(6) JMW пасибки большое бро, прям от души, в общем я сделал так:

Процедура Сформировать()
	
	
	Таб = СоздатьОбъект("Таблица");
	Таб.ИсходнаяТаблица("Сформировать");
	Таб.ВывестиСекцию("Шапка");
	Таб.ВывестиСекцию("Строка1");
    СуммаКол = 0;
    СуммаЛот = 0;
	Док = СоздатьОбъект("Документ.ЗаказПродукцииНовый");
	Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода);
	Пока Док.ПолучитьДокумент() > 0 Цикл
		Если (Док.Проведен() <> 1) Тогда Продолжить; КонецЕсли;
        РасшДок=Док.ТекущийДокумент();
		Таб.ВывестиСекцию("Строка2");
	СуммаКол = СуммаКол + РасшДок.КоличествоДокументов;
	СуммаЛот = СуммаЛот + РасшДок.КоличествоЛотков;	
    КонецЦикла; 	
	
	Таб.ВывестиСекцию("Подвал");
	Таб.ТолькоПросмотр(1);
	Таб.Показать("Сформировать","");
КонецПроцедуры

 
//********************************************************************
//***                                                              ***
//********************************************************************
Процедура ПриОткрытии()
	ВыбНачПериода=НачМесяца(ТекущаяДата());
	ВыбКонПериода=КонМесяца(ТекущаяДата());  
		
КонецПроцедуры
Показать
Прикрепленные файлы:
9. Arkady_Killer 30.08.24 09:20 Сейчас в теме
(6) JWM как мне сделать отбор по оператору в главной форме?
11. jmw 61 30.08.24 11:32 Сейчас в теме
если док.автор = автор тогда
12. Arkady_Killer 30.08.24 12:24 Сейчас в теме
(11)
(11) Бро, а куда в коде это вставить?
13. CheBurator 2696 30.08.24 21:38 Сейчас в теме
Пока док.ПолучитьДокумент() = 1 Цикл
Если Док.Автор <> ВыбАвтор Тогда
Продолжить;
КонецЕсли;
Если док.Проведен() = 0 Тогда
Продолжить;
КонецЕсли;
14. Arkady_Killer 31.08.24 07:31 Сейчас в теме
(13) Бро, в какую часть кода вставить то? Посмотри 8 пост от меня.
Оставьте свое сообщение

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