Расшифровка по ячейке

1. user1008893 04.02.19 14:05 Сейчас в теме
Делаю обработку,которая выводит контрагентов,кол-во заказов . В следующем поле,при нажатии на него должна выходить форма в котором есть все заказы этого контрагента. Подскажите пожалуйста,как это реализовать?
Процедура ДействияФормыСформировать(Кнопка)	
	ПостроительОтчетаОтчет = Новый ПостроительОтчета; 
ПостроительОтчетаОтчет.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ЗаказПокупателя.Ссылка КАК ЗаказПокупателя,
	|	ЗаказПокупателя.Контрагент КАК Контрагент,
	|	ЗаказПокупателя.ДатаИсполнения КАК ДатаИсполнения,
	|	КОЛИЧЕСТВО(ЗаказПокупателя.Контрагент) КАК Количество
	|{ВЫБРАТЬ
	|	ЗаказПокупателя.*,
	|	Контрагент.*}
	|ИЗ
	|	Документ.ЗаказПокупателя КАК ЗаказПокупателя
	|ГДЕ
	|	ЗаказПокупателя.Проведен = ИСТИНА
	|	И ЗаказПокупателя.ДатаИсполнения <= &ДатаИсполнения
	|
	|СГРУППИРОВАТЬ ПО
	|	ЗаказПокупателя.Ссылка,
	|	ЗаказПокупателя.Контрагент,
	|	ЗаказПокупателя.ДатаИсполнения
	|
	|УПОРЯДОЧИТЬ ПО
	|	Контрагент
	|ИТОГИ ПО
	|	Контрагент,
	|	ЗаказПокупателя
	|АВТОУПОРЯДОЧИВАНИЕ";
ПостроительОтчетаОтчет.Параметры.Вставить("ДатаИсполнения",ДатаИсполнения);

табДок=ЭлементыФормы.ПолеТабличногоДокумента1;
табДок.Очистить();
табДок.ТолькоПросмотр=Истина;
 ПостроительОтчетаОтчет.Выполнить();
МойМакет=ПолучитьМакет("Макет");
побл=МойМакет.ПолучитьОбласть("Заголовок");
ПостроительОтчетаОтчет.МакетЗаголовкаОтчета=побл;
табДок.Вывести(побл);
ОбластьШапка = МойМакет.ПолучитьОбласть("Шапка|Контрагент"); 
табДок.Вывести(ОбластьШапка);
областьЗаказ=МойМакет.ПолучитьОбласть("ЗаказыПокупателя");
ОблТаб = МойМакет.ПолучитьОбласть("Таблица|Контрагент");


табДок.НачатьАвтогруппировкуСтрок();
пВыб = ПостроительОтчетаОтчет.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);;	
Пока пВыб.Следующий() Цикл
ОблТаб.Параметры.Заполнить(пВыб);		   
табДок.Вывести(ОблТаб,пВыб.Уровень());
КонецЦикла;
табДок.ЗакончитьАвтогруппировкуСтрок();


ТекущийПериод  = НачалоДня(ТекущаяДата());
ГоризонтПланирования = КонецМесяца(ТекущаяДата());
_Период     = НачалоМесяца(ТекущийПериод);
_КонПериод  = КонецДня(ГоризонтПланирования);
Пока _Период <= _КонПериод Цикл
	Если НачалоДня(_Период) < НачалоДня(ТекущийПериод) Тогда       // прошлый день
		областьЗаказ.Параметры.СчетчикМесяца = Формат(_Период, "ДФ='dd.MM.yyyy (ddd)'");
				 табДок.Присоединить(областьЗаказ);
	ИначеЕсли НачалоДня(_Период) = НачалоДня(ТекущийПериод) Тогда  // текущий день				
				областьЗаказ.Параметры.СчетчикМесяца = Формат(_Период, "ДФ='dd.MM.yyyy (ddd)'");
				табДок.Присоединить(областьЗаказ);
	Иначе 
		областьЗаказ.Параметры.СчетчикМесяца  = Формат(_Период, "ДФ='dd.MM.yyyy (ddd)'");
		 табДок.Присоединить(областьЗаказ);
		КонецЕсли; 		
		_Период  = КонецДня(_Период) + 1;
	КонецЦикла;	
	
	
	
КонецПроцедуры
Показать


на форме расшифровки
Процедура ЗаполнитьТЧПодробнымиДанными() Экспорт 
	
	Запрос= Новый Запрос;	
	Запрос.Текст = 
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ЗаказПокупателя.Ссылка КАК Документ,
	|	ЗаказПокупателя.Контрагент КАК Контрагент,
	|	ЗаказПокупателя.ДатаИсполнения
	|ИЗ
	|	Документ.ЗаказПокупателя КАК ЗаказПокупателя
	|ГДЕ
	|	ЗаказПокупателя.Проведен = ИСТИНА
	|	И ЗаказПокупателя.ДатаИсполнения МЕЖДУ &ДатаНач И &ДатаКон";
	
	_ТекстУсловий = "ИСТИНА";
			
	Запрос.УстановитьПараметр("ДатаНач",               	ДатаНач);
	Запрос.УстановитьПараметр("ДатаКон",               	КонецДня(ДатаКон));


	
	_ТаблЗаказы = Запрос.Выполнить().Выгрузить();
	Для Каждого СтрокаТаблЗаказы Из _ТаблЗаказы Цикл
		СтрокаТЧ = ТЧ.Добавить();
		СтрокаТЧ.Документ  = СтрокаТаблЗаказы.Документ;
		КонецЦикла;	
	 КонецПроцедуры
Показать
Прикрепленные файлы:
+
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
103. dhurricane 11.02.19 14:18 Сейчас в теме
(102) Не понял вопроса.
+
104. user1008893 11.02.19 14:23 Сейчас в теме
(103)Ну вот мы получили все данные. Нажимаем на выбрать заказ,там у нас расшифровка.
Как теперь вывести все данные на печатную форму?
+
105. dhurricane 11.02.19 14:36 Сейчас в теме
(104) А еще подробнее. :)
+
106. user1008893 11.02.19 14:42 Сейчас в теме
(105)Я создала макет для печати и хочу туда вывести дату,Контрагента и его заказы. Т.е. получить заказы из расшифровки
+
107. dhurricane 11.02.19 14:45 Сейчас в теме
(106) А зачем вообще нужна была форма расшифровки, если нужно выводить заказы? Почему бы их сразу не получить и не вывести в основную печатную форму?
+
108. user1008893 11.02.19 14:50 Сейчас в теме
(107)потому что,можно удалить их из списка или добавить
+
109. dhurricane 11.02.19 14:52 Сейчас в теме
(108) Позвольте узнать, для чего? Несколько необычный функционал для печатной формы. Почему, скажем, не документ? Неужели не планируется сохранять результаты?
+
110. user1008893 11.02.19 14:57 Сейчас в теме
(109)иногда отгрузки раньше иногда позже,они просто печатают себе план и работают по нему
+
111. dhurricane 11.02.19 15:12 Сейчас в теме
(110) Ну я вижу такое решение:
1. Добавить в основную форму невидимую таблицу с колонками: Контрагент, СчетчикПериода, Заказ.
2. При формировании основной печатной формы перед выводом ячейки периода искать в таблице заказы по контрагенту и счетчику периода. Если заказы найдены, выводить их. Если нет - выводить прежнюю надпись "Выбрать заказ".
3. В форме расшифровки при нажатии на ОК добавлять в добавленную таблицу основной формы строки с выбранными заказами по контрагенту и периоду, для которых открыта форма расшифровки.
4. После закрытия формы расшифровки переформировывать основную печатную форму.
+
112. user1008893 11.02.19 16:15 Сейчас в теме
(111)короче,все плохо
+
113. user1008893 11.02.19 16:46 Сейчас в теме
(111)а нельзя на основной форме по нажатию на кнопку печать,получать значения из тч(форма расшифровка) по каждому контрагенту и дате и выводить их в макет?
+
114. dhurricane 11.02.19 17:59 Сейчас в теме
(113) Можно было все заказы получить в основном запросе. Я не знаю, почему Вы не стали так делать сразу. Единственная загвоздка в том, что раз пользователи могут корректировать списки заказов, значит нужно где-то хранить и учитывать при печати.
+
115. user1008893 12.02.19 08:15 Сейчас в теме
(114)наверно,не стала так делать потому что не знала,что так можно.
+
116. user1008893 12.02.19 11:31 Сейчас в теме
(114)может у вас есть пример? буду пытаться что нибудь сделать
+
117. dhurricane 12.02.19 11:57 Сейчас в теме
(116) У Вас же основной запрос и запрос расшифровки мало чем отличаются. Выводите сразу все заказы из основной выборки.
+
118. user1008893 12.02.19 12:01 Сейчас в теме
(117)т.е Расшифровки не будет теперь?
+
119. dhurricane 12.02.19 12:03 Сейчас в теме
(118) Пусть остается, но без возможности пока редактировать список. Как решите задачу вывода заказов в печатную форму, можно будет вернуться и к редактированию списка.
+
120. user1008893 12.02.19 12:15 Сейчас в теме
(117)как это сделать,можно пример?
+
121. dhurricane 12.02.19 12:20 Сейчас в теме +2 $m
(120) Извините меня, пожалуйста, но я уже потерял всякий интерес к решению Вашей задачи. Попробуйте создать новую тему с ссылкой на текущую и описанием уже достигнутых результатов. В таком случае более вероятно, что другие участники форма подключаться и помогут Вам. Сюда уже вряд ли кто зайдет и напишет. :)
+
122. user1008893 12.02.19 12:29 Сейчас в теме
(121)спасибо,вам за помощь
+
86. user1008893 08.02.19 15:40 Сейчас в теме
(84)Все равно ведь все в разных циклах получилось
+
98. acanta 10.02.19 12:50 Сейчас в теме
Если данные в расшифровке не требуются во всех подробностях, можно заполнить список значений или таблицу значений и вывести диалог выбора строки средствами платформы
Выполнять расчеты в открываемой форме, если за период с момента начала работы с планировщиком данные изменились, тоже тяжелая операция, в которой нет смысла.
+
Внимание! Тема сдана в архив

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