|
дополнительные реквизиты в печатную форму | ☑ | ||
---|---|---|---|---|
0
HD_DoG
04.09.20
✎
16:08
|
Добрый день. Я новичок. Подскажите, как добавить дополнительные реквизиты в печатную форму (от начала и до конца). За основу взял обработку. Имеется Заказ клиента. В него должен попадать Артикул, Наименование, Кол-во и Ячейка хранения. В форму пападает все кроме Ячейки хранение, так как это дополнительный реквизит. Как его вытащить в форму??? Не судите строго, я только учусь. Заранее ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!!
|
|||
1
HD_DoG
04.09.20
✎
16:09
|
1С УТ 11.4
|
|||
2
FIXXXL
04.09.20
✎
16:13
|
первым делом сделай внешнюю печатную форму
данные для ПФ формируются запросом, в него надо добавить недостающие данные в макет добавить недостающие ячейки для вывода новых данных |
|||
3
HD_DoG
04.09.20
✎
16:15
|
внешняя печатная форма есть. В нее уже попадает Артикул, Наименование, Количество и Ед.ИЗМ. А как туды впихнуть Ячейку хранения я не знаю
|
|||
4
FIXXXL
04.09.20
✎
16:15
|
(3) надо отладчик курить, код читать...
|
|||
5
HD_DoG
04.09.20
✎
16:19
|
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.ЗаказКлиента"); ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "ЗаказКлиентаКоличественный"); ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Изготовлено wpg"); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Заказ клиента количественный(шаблон)", "ЗаказКлиентаКоличественный", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаказКлиентаКоличественный", "Заказ клиента с ячейками хранения", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати)); КонецПроцедуры // Печать() Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати) ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказКлиента_ЗаказКлиентаКоличественный"; МакетОбработки = ПолучитьМакет("ПФ_MXL_ЗаказКлиента_Количественный"); ОбластьЗаголовок=МакетОбработки.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок.Параметры.ТекстЗаголовка = "Заказ клиента № "+СсылкаНаДокумент.Номер+" от "+ СсылкаНаДокумент.Дата; ТабличныйДокумент.Вывести(ОбластьЗаголовок); ОбластьПоставщик=МакетОбработки.ПолучитьОбласть("Поставщик"); ОбластьПоставщик.Параметры.ПредставлениеОрганизации = СсылкаНаДокумент.Организация; ТабличныйДокумент.Вывести(ОбластьПоставщик); ОбластьПокупатель=МакетОбработки.ПолучитьОбласть("Покупатель"); ОбластьПокупатель.Параметры.ПредставлениеПартнера = СсылкаНаДокумент.Партнер; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПартнерыКонтактнаяИнформация.Представление КАК Представление |ИЗ | Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация |ГДЕ | ПартнерыКонтактнаяИнформация.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент.Партнер.Ссылка); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыборкаДетальныеЗаписи.Следующий() ; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА Адрес = ВыборкаДетальныеЗаписи.Представление; ОбластьПокупатель.Параметры.Адрес = Адрес; ТабличныйДокумент.Вывести(ОбластьПокупатель); ОбластьШапкаТаблицы=МакетОбработки.ПолучитьОбласть("ШапкаТаблицы"); ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы); ОбластьСтрокаТаблицы=МакетОбработки.ПолучитьОбласть("СтрокаТаблицы"); //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиентаТовары.Номенклатура КАК Номенклатура, | ЗаказКлиентаТовары.Номенклатура.Артикул КАК НоменклатураАртикул, | ЗаказКлиентаТовары.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения, |ВЫБОР | КОГДА ЗаказКлиентаТовары.Номенклатура.ВесЗнаменатель <> 0 | ТОГДА ЗаказКлиентаТовары.Номенклатура.ВесЧислитель / ЗаказКлиентаТовары.Номенклатура.ВесЗнаменатель * ЗаказКлиентаТовары.Количество | ИНАЧЕ &Ничего |КОНЕЦ КАК Вес, |ВЫБОР | КОГДА ЗаказКлиентаТовары.Номенклатура.ВесЗнаменатель <> 0 | ТОГДА ЗаказКлиентаТовары.Номенклатура.ВесЕдиницаИзмерения | ИНАЧЕ &Ничего |КОНЕЦ КАК ВесЕдИзм, | ЗаказКлиентаТовары.Цена КАК Цена, | ЗаказКлиентаТовары.Количество КАК Количество, | ЗаказКлиентаТовары.Сумма КАК Сумма, | ЗаказКлиентаТовары.НомерСтроки КАК НомерСтроки |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент.Ссылка); Запрос.УстановитьПараметр("Ничего", "---"); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); КоличествоСтрок = ВыборкаДетальныеЗаписи.Количество(); СуммаКоличество = 0; СуммаВес = 0; СуммаОбъем = 0; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьСтрокаТаблицы.Параметры.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки; ОбластьСтрокаТаблицы.Параметры.Товар = ВыборкаДетальныеЗаписи.Номенклатура; ОбластьСтрокаТаблицы.Параметры.Количество = ВыборкаДетальныеЗаписи.Количество; // ОбластьСтрокаТаблицы.Параметры.Цена = ВыборкаДетальныеЗаписи.Цена; // ОбластьСтрокаТаблицы.Параметры.Сумма = ВыборкаДетальныеЗаписи.Сумма; ОбластьСтрокаТаблицы.Параметры.Артикул = ВыборкаДетальныеЗаписи.НоменклатураАртикул; ОбластьСтрокаТаблицы.Параметры.ЕдИзм = ВыборкаДетальныеЗаписи.НоменклатураЕдиницаИзмерения; ОбластьСтрокаТаблицы.Параметры.ЯчейкаХранения = ; Если ВыборкаДетальныеЗаписи.Вес = "---" Тогда ОбластьСтрокаТаблицы.Параметры.Вес = ВыборкаДетальныеЗаписи.Вес; Иначе ОбластьСтрокаТаблицы.Параметры.Вес = Формат(Окр(ВыборкаДетальныеЗаписи.Вес,1),"ЧДЦ=1"); КонецЕсли; ОбластьСтрокаТаблицы.Параметры.ВесЕдИзм = ВыборкаДетальныеЗаписи.ВесЕдИзм; ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицы); ТекущВес=ВыборкаДетальныеЗаписи.Вес; Если ТекущВес = "---" Тогда ТекущВес = 0; КонецЕсли; СуммаКоличество = СуммаКоличество + ВыборкаДетальныеЗаписи.Количество; СуммаВес = СуммаВес + ТекущВес; КонецЦикла; // // //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА ОбластьПодвалТаблицы=МакетОбработки.ПолучитьОбласть("ПодвалТаблицы"); ОбластьПодвалТаблицы.Параметры.ИтогКоличество = СуммаКоличество; ОбластьПодвалТаблицы.Параметры.ИтогВес = Формат(окр(СуммаВес,1),"ЧДЦ=1"); ТабличныйДокумент.Вывести(ОбластьПодвалТаблицы); ОбластьПодписи=МакетОбработки.ПолучитьОбласть("Подписи"); ТекстИтоговойСтроки = НСтр("ru = 'Всего наименований %ВсегоНаименований% на сумму %Сумма% руб.'"); ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%ВсегоНаименований%", КоличествоСтрок); ТекстИтоговойСтроки = СтрЗаменить(ТекстИтоговойСтроки,"%Сумма%", СсылкаНаДокумент.СуммаДокумента); ОбластьПодписи.Параметры.ИтоговаяСумма = ТекстИтоговойСтроки; ОбластьПодписи.Параметры.СуммаПрописью = ЧислоПрописью(СсылкаНаДокумент.СуммаДокумента,"Л = ru_RU; ДП = Истина","рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2"); ОбластьПодписи.Параметры.Менеджер = СсылкаНаДокумент.Менеджер; ТабличныйДокумент.Вывести(ОбластьПодписи); ТабличныйДокумент.АвтоМасштаб = Истина; Возврат ТабличныйДокумент; КонецФункции |
|||
6
FIXXXL
04.09.20
✎
16:21
|
(5) ну вон и запрос прям есть
в него и вытаскивай доп.реквизит |
|||
7
HD_DoG
04.09.20
✎
16:24
|
Подскажите, куда и что прописать. Заранее благодарен
|
|||
8
FIXXXL
04.09.20
✎
16:38
|
(7) извини, но я убегаю...
|
|||
9
HD_DoG
04.09.20
✎
16:44
|
Блиин. А может как у вас время будет вы посмотрите? Заранее спасибо
|
|||
10
Chameleon1980
05.09.20
✎
06:30
|
(7) левым соединением с таблицей, в которой лежит этот
доп реквизит с условием в соединении |
|||
11
HD_DoG
05.09.20
✎
13:01
|
Спасибо, но как? Я только учусь. Можете помочь?
|
|||
12
HD_DoG
07.09.20
✎
07:49
|
Люди добрые, помогите с моим вопросом. Все выходные колдовал, ничего путнего не получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |