Как на форму документа добавить кнопку для запуска обработки
Имеется обработка запуск которой производится с формы документа. Данная обработка создает документ и формирует отчет. В модуле обьекта за это отвечает данный код
Теперь мне нужно изменить обработку так что бы при нажатии на кнопку только формировался документ
Для этого Табличный документ не вывожу, сделал Возврат Неопределено, но тогда ругается 1С, на то что нет табличного документа.
Затем стал менять этот код, но тогда кнопка пропадает, по которой пользователь может запустить обработку
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ЗаказНаЭмиссиюКодовМаркировкиСУЗ"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "ДозаказатьКМ_Отчет"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Печать реестра Товаров ИСМП. Расхождения СУЗ'");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "ДозаказатьКМ_Отчет", "ДозаказатьКМ_Отчет", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
ПоказатьТеперь мне нужно изменить обработку так что бы при нажатии на кнопку только формировался документ
Для этого Табличный документ не вывожу, сделал Возврат Неопределено, но тогда ругается 1С, на то что нет табличного документа.
Затем стал менять этот код, но тогда кнопка пропадает, по которой пользователь может запустить обработку
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
Прикрепленные файлы:

По теме из базы знаний
- 1с8.2-8.3.Вывод на экран данных запроса с переданными Параметрами из Документа! 8 различных вариантов:от Сообщений, Таблицы и Отчетов до СКД без объекта-отчета
- Структура подчиненности с хронологией документов и кнопками проведения и удаления
- Как мы запилили в АЙТАТ.РФ обработку-бота, чтобы ускорить отгрузку в 2 раза или Реальный опыт внедрения нового механизма "Трансляция событий" от 1С-Коннект
- Отправка ссылки на документ в обработку вызовом из формы документа, управляемая и обычная формы
- [ЕХТ] Фреймворк для Расширений 1С: Обработка событий: описание, примеры и демобаза.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Спасибо, с места сдвинулся. В итоге добавил кнопку на форму при нажатии на которую появляется форма обработки, но как передать ссылку документа из которого эта обработка вызывается. При открытии формы в Сообщении видна корректная ссылка, записываю ее в реквизит формы. А в других процедурах этот реквизит пустой. Подскажите где ошибка
ВызовКлиентскогоМетода
Спасибо, с места сдвинулся. В итоге добавил кнопку на форму при нажатии на которую появляется форма обработки, но как передать ссылку документа из которого эта обработка вызывается. При открытии формы в Сообщении видна корректная ссылка, записываю ее в реквизит формы. А в других процедурах этот реквизит пустой. Подскажите где ошибка
&НаКлиенте
Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт
Праметры1 = Новый Структура;
Праметры1.Вставить("ИдентификаторКоманды", ИдентификаторКоманды);
Праметры1.Вставить("МассивОбъектов", МассивОбъектов);
СсылкаНаДокумент=МассивОбъектов[0];
Сообщить("МассивОбъектов= "+Строка(СсылкаНаДокумент));
Сообщить("СсылкаНаДокумент= "+Строка(СсылкаНаДокумент));
ОткрытьФорму("ВнешняяОбработка.ДокументыКМ.Форма.ФормаВыбора",Праметры1);
КонецПроцедуры
&НаКлиенте
Процедура Отчет(Команда)
СсылкаНаДокумент2=СсылкаНаДокумент;
Сообщить("СсылкаНаДокумент= "+Строка(СсылкаНаДокумент2));
ТабличныйДокумент = ПечатьНаСервере(СсылкаНаДокумент);
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("ДокументыКМ");
ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "ДокументыКМ");
ПечатнаяФорма.ТабличныйДокумент = ТабличныйДокумент;
КлючУникальности = ЭтаФорма.КлючУникальности;
ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати");
ПараметрыОткрытия.Вставить("ПараметрКоманды", Новый Массив);
ПараметрыОткрытия.Вставить("ПараметрыПечати", Новый Структура);
ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
ПараметрыОткрытия.ПараметрыПечати.Вставить("ЗаголовокФормы", "Реестр товаров ИСМП. Расхождения СУЗ");
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности);
КонецПроцедуры
ПоказатьПрикрепленные файлы:


(4) Вот как это делаю, выше в коде это показано. И когда форма открывается, ссылка корректная, потому что в сообщениях видно. Точку останова не поставишь
Но когда на форме кликаю на кнопку, то реквизит пустой, потому что пустые сообщения
СсылкаНаДокумент=МассивОбъектов[0];
ТЗ_НоваяСтрока=ТЗ.Добавить();
Объект.СсылкаНаОбъект=МассивОбъектов[0];
ТЗ_НоваяСтрока.ДокументСсылка=СсылкаНаДокумент;
Сообщить("МассивОбъектов= "+Строка(СсылкаНаДокумент));
Сообщить("ТЗ= "+Строка(ТЗ[0].ДокументСсылка));
Сообщить("СсылкаНаОбъект= "+Строка(Объект.СсылкаНаОбъект));
Но когда на форме кликаю на кнопку, то реквизит пустой, потому что пустые сообщения
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот