|
ВПФ УПД печать из реализации | ☑ | ||
---|---|---|---|---|
0
program345
20.01.18
✎
11:35
|
привет!
Сделал УПД: печатается из реализации (вид операции товары), ищет документ счет-фактура и печатает. Тут одна команда: упдВариант1, а как запихнуть вторую? Товары в реализации: Если ЕстьСчетаФактуры И УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус1_981") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус1_981", "УПД (статус 1)", УчетНДС.ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати, Документы.СчетФактураВыданный.ТекстЗапросаПечатьСчетовФактур(Истина, Истина, Истина)),, "Обработка.ПечатьУПД.ПФ_MXL_УниверсальныйПередаточныйДокумент981"); КонецЕсли; Услуги в реализации: Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус2_981") Тогда ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = ""; Для каждого Объект Из МассивОбъектов Цикл Если ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураВыданный") Тогда ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = Документы[Объект.Метаданные().Имя].ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Истина); Прервать; КонецЕсли; КонецЦикла; Если НЕ ПустаяСтрока(ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов) Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус2_981", "УПД (статус 2)", УчетНДС.ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати, ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов, Истина),, "Обработка.ПечатьУПД.ПФ_MXL_УниверсальныйПередаточныйДокумент981"); КонецЕсли; КонецЕсли; Так же некрасиво: Функция СведенияОВнешнейОбработке()Экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); МассивНазначений.Добавить("Документ.СчетФактураВыданный"); //Указываем документ к которому делаем внешнюю печ. форму ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "УПД (ред.)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "УПД (ред.)"); ТаблицаКоманд = Получить(); ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус1_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции рад подсказкам. |
|||
1
program345
20.01.18
✎
12:37
|
ап
|
|||
2
Borteg
20.01.18
✎
12:42
|
(0) всмысле некрасиво?
|
|||
3
program345
20.01.18
✎
13:16
|
получается 2 кнопочки с печатью, в типовой то одна.
|
|||
4
Borteg
20.01.18
✎
13:38
|
(3) ну убери кнопку какую не надо ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
|
|||
5
program345
20.01.18
✎
17:24
|
тогда не печатает Реализацию с услугами
|
|||
6
Мимохожий Однако
20.01.18
✎
17:49
|
На кнопке сделай меню, а в нём два действия
|
|||
7
program345
26.01.18
✎
14:18
|
Функция СведенияОВнешнейОбработке()Экспорт
ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); МассивНазначений.Добавить("Документ.СчетФактураВыданный"); //Указываем документ к которому делаем внешнюю печ. форму ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "УПД (ред.)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "УПД (ред.)"); ТаблицаКоманд = Получить(); ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус1_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция Получить() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); //как будет выглядеть описание печ.формы для пользователя Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_УниверсальныйПередаточныйДокумент981"); Если НужноПечататьМакет(КоллекцияПечатныхФорм, "УПДСтатус2_981") Тогда ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = ""; Для каждого Объект Из МассивОбъектов Цикл Если ТипЗнч(Объект) <> Тип("ДокументСсылка.СчетФактураВыданный") Тогда ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов = //Документы[Объект.Метаданные().Имя].ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Истина); Документы.РеализацияТоваровУслуг.ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов(Истина); Прервать; КонецЕсли; КонецЦикла; Если НЕ ПустаяСтрока(ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов) Тогда ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УПДСтатус2_981", "УПД (статус 2)", ПечатьУниверсальныхПередаточныхДокументов981(МассивОбъектов, ОбъектыПечати, ТекстЗапросаПечатьУниверсальныхПередаточныхДокументов, Истина),, Макет); КонецЕсли; КонецЕсли; КонецПроцедуры // Печать() |
|||
8
program345
26.01.18
✎
14:19
|
как эти две команды преобразовать в одну кнопочку?
ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус2_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); ДобавитьКоманду(ТаблицаКоманд, "УПД (ред.)", "УПДСтатус1_981", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); |
|||
9
program345
26.01.18
✎
14:52
|
как в типовой, там же для разных статусов УПД одна кнопка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |