Передать в открывающую форму данные в 1С предприятие 8.3
В дополнении у УТ 11.5 которое выступает как удаленная ККМ для фискализации чеков появилась необходимость в заказе клиента сделать кнопку нажимая на которую открывается форма создания чека с товарами из заказа.
В ЗаказКлиента.Форма.ФормаДокумента создал команду ПробитьЧек, вывел кнопку. Команда выполняет скрипт который в форму передает ссылку на заказ клиента:
&НаКлиенте
Процедура ПробитьЧекПосле(Команда)
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("СоздатьИзЗаказа", Истина);
СтруктураПараметров.Вставить("Заказ", Объект.Ссылка);
ОткрытьФорму("Документ.ЧекиККМ.Форма.ФормаДокумента", СтруктураПараметров);
КонецПроцедуры
На форму которая вызывается добавил событие ПриСозданииНаСервере.
На данное событие назначил скрипт:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("СоздатьИзЗаказа") Тогда
Параметры_СоздатьИзЗаказа = Параметры.СоздатьИзЗаказа;
Если Параметры_СоздатьИзЗаказа = Истина Тогда
Объект.ЗаказКлиента = Параметры.Заказ;
Для Каждого Стр Из Объект.ЗаказКлиента.Товары Цикл
НоваяСтр = Объект.Товары.Добавить();
НоваяСтр.Номенклатура = Стр.Номенклатура;
НоваяСтр.Количество = Стр.Количество;
НоваяСтр.Цена = Стр.Цена;
НоваяСтр.Сумма = Стр.Сумма;
НоваяСтр.СтавкаНДС = Стр.СтавкаНДС.ПеречислениеСтавкаНДС;
НоваяСтр.СуммаНДС = Стр.СуммаНДС;
КонецЦикла;
Сообщить("Чек из Заказа Клиента: " + Объект.ЗаказКлиента);
КонецЕсли;
Иначе
Параметры_СоздатьИзЗаказа = Ложь;
КонецЕсли;
КонецПроцедуры
В процедуре ОткрытьФорму во втором атрибуте переданную структуру можно получить в открываемой форме в переменной Параметры.