1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
sitdv 12.09.16 - 16:27 | Делаю внешнею печатную форму управление торговлей 11.2.2.185, при печати пустой лист не могу понять в чем дело.
Функция ПечатьВнешнейПечатнойФормы(МассивОбъектов,ОбъектыПечати)Экспорт ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапки = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); ОбластьИтого = Макет.ПолучитьОбласть("Итого"); ОбластьИтогоНДС =Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьИтогоКОплате = Макет.ПолучитьОбласть("ИтогоКОплате"); ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиента.Номер, | ЗаказКлиента.Дата КАК ДатаДоговора, | ЗаказКлиента.Товары.( | НомерСтроки, | Номенклатура.Артикул КАК Артикул, | Номенклатура КАК Товар, | Количество, | Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Цена, | Сумма | ), | ЗаказКлиента.СуммаДокумента КАК ИтогоКОплате |ИЗ | Документ.ЗаказКлиента КАК ЗаказКлиента" ; Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ОбластьЗаголовок.Параметры,Выборка); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапки); ВыборкаТовары = Выборка.Товары.Выбрать(); Пока ВыборкаТовары.Следующий() Цикл ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры,ВыборкаТовары); ТабДок.Вывести(ОбластьСтрока); КонецЦикла; ЗаполнитьЗначенияСвойств(ОбластьИтогоКОплате.Параметры,Выборка); ТабДок.Вывести(ОбластьИтогоКОплате); ТабДок.Вывести(ОбластьПодвал); КонецЦикла; ТабДок.ФиксацияСверху = 0; ТабДок.ФиксацияСлева = 0; Возврат ТабДок; КонецФункции Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм,"Макет", "Макет", ПечатьВнешнейПечатнойФормы(МассивОбъектов,ОбъектыПечати)); КонецПроцедуры | ||
Cyberhawk 1 - 12.09.16 - 16:48 | Выборка пустая | ||
sitdv 2 - 12.09.16 - 17:12 | то есть в параметры запроса я не передаю объект документ? | ||
Cyberhawk 3 - 12.09.16 - 17:22 | (2) Это было мое предположение. На сам запрос не смотрел. Отладчик в помощь. | ||
sitdv 4 - 12.09.16 - 17:40 | Да запрос кривой исправил
"ВЫБРАТЬ
| ЗаказКлиента.Номер,
| ЗаказКлиента.Дата КАК ДатаДоговора,
| ЗаказКлиента.Товары.(
| НомерСтроки,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура КАК Товар,
| Количество,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Цена,
| Сумма
| ),
| ЗаказКлиента.СуммаДокумента КАК ИтогоКОплате
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
|Где
| ЗаказКлиента.Ссылка В(&МассивОбъектов)"; | ||
sitdv 5 - 12.09.16 - 17:41 | Вопрос как ему передать Ссылку на объект? | ||
sitdv 6 - 12.09.16 - 17:42 | Мне непонятна процедура печать откуда берет МассивОбъектов | ||
hhhh 7 - 12.09.16 - 21:54 | (6) как откуда? Параметр в нее такой передается. | ||
sitdv 8 - 13.09.16 - 07:43 | Поставил точку остановки в общем модуле УправлениеПечатью в функции ВывестиТабличныйДокументВКоллекцию, и понял что моя процедура Печать()в принципе не работает, подскажите в чем может быть дело? | ||
Mankubus 9 - 13.09.16 - 07:51 | (8) в твоей обработке есть процедура "СведенияОВнешнейОбработке"? | ||
sitdv 10 - 13.09.16 - 08:37 | Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура(); ПараметрыРегистрации.Вставить("Вид","ПечатнаяФорма"); //ПараметрыРегистрации.Вставить("Назначение","Документы.ЗаказКлиента"); ПараметрыРегистрации.Вставить("Наименование","ПриложениеКДоговору"); ПараметрыРегистрации.Вставить("Версия","1.0"); ПараметрыРегистрации.Вставить("Информация","ВнешняяОбработкаПриложениеКДоговору"); ПараметрыРегистрации.Вставить("БезопасныйРежим",Ложь); Команды = Получить_Таблицу_Команд(); ПараметрыРегистрации.Вставить("Команды",Команды); ДобавитьКоманду(Команды,"Приложение К Договору","ВызовСерверногоМетода","ОткрытиеФормы",Ложь,"ПечатьMXL"); Возврат ПараметрыРегистрации; КонецФункции Функция Получить_Таблицу_Команд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление"); Команды.Колонки.Добавить("Идентификатор"); Команды.Колонки.Добавить("Использование"); Команды.Колонки.Добавить("ПоказыватьОповещение"); Команды.Колонки.Добавить("Модификатор"); Возврат Команды; КонецФункции Процедура ДобавитьКоманду (ТаблицаКоманд,Представление,Идентификатор,Использование,ПоказыватьОповещение = Ложь,Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры | ||
_stay true_ 11 - 13.09.16 - 08:58 | Открытие формы, по-моему, здесь лишнее | ||
sitdv 12 - 14.09.16 - 02:16 | Вы были правы Открытие формы здесь лишнее |
|
Список тем форума
|