Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

КА. Не могу передать и сохранить в реквизит формы внешней обработки параметры формы.

КА. Не могу передать и сохранить в реквизит формы внешней обработки параметры формы.
Я
   LOLYBUF
 
29.06.21 - 13:00
Ситуация такая: есть внешняя обработка заполнения, которую нужно открывать из документа. При заполнении документа открывается форма внешней обработки в которую нужно передать параметры, но параметры то передаются, но когда я пытаюсь сохранить какое-либо значение в реквизит, они куда-то пропадают. Не сохраняются ни в какую. Кто знает, как решить?
   apdate by
 
1 - 29.06.21 - 13:26
а где значение  должно сохраниться?
   LOLYBUF
 
2 - 29.06.21 - 13:32
(1) В реквизите внешней формы
   LOLYBUF
 
3 - 29.06.21 - 13:33
(2) В реквизите внешней обработки*
Усе путаться начал
   apdate by
 
4 - 29.06.21 - 14:07
нууу. я не знал что можно хранить данные в реквизите обработки (

а что если данные формы в файл поместить а при открытии обработки поднимать из файла
но вот не знаю как идентифицировать то(

я вообще честно говоря не понял задачи толком
   LOLYBUF
 
5 - 29.06.21 - 14:08
(4) Сейчас я попробую объяснить.
Есть документ через который должна открываться внешняя обработка заполнения, а точнее ее форма. Далее в форму нужно подтянуть ссылку на этот документ и после зполнения табличной части документа, по этой ссылке отредактировать документ.
   Фрэнки
 
6 - 29.06.21 - 15:47
Лень чего-то придумывать...

Есть обработка заполнения, так? Которая сидит в внешних обработках. Ты с ней пытаешься чего-то делать.
Форму обработки открывает ВладелецФормы

ДанныеОбъекта = ВладелецФормы.Объект;

и дальше погнали обработку данных объекта.

Или на самом деле все нетиповое?
   LOLYBUF
 
7 - 29.06.21 - 16:12
(6) Да, ты верно думаешь
   apdate by
 
8 - 30.06.21 - 09:18
(5) теперь понял! думал Вы хотите куда то сохранить значение

В параметрах что то прилетает?

В форме документа что то типа

ПараметрыТовара = Новый Структура();
    ПараметрыФормы = Новый Структура();
    ИмяФормыЗапросаКоличества = "Обработка.РабочийСтол.Форма.ЗапросКоличества";
    ОбработатьНоменклатуру_(ВыбраннаяСтрока,ПараметрыТовара,ПараметрыФормы);
    Если ЗапрашиватьКоличество Тогда
        ОткрытьФорму(
        ИмяФормыЗапросаКоличества, 
        ПараметрыФормы, 
        ЭтаФорма,
        ,
        ,
        ,
        Новый ОписаниеОповещения("ДобавитьВПодбор", ЭтотОбъект, ПараметрыТовара),
        РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
    КонецЕсли;


в форме обработки вешаете событие ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

далее читаете переменную Параметры.Ваш переданный документ (ссылка)

далее

в том методе в котором у Вас необходимо передать что либо из обработки в документ

пишите

ПараметрыТовара = Новый Структура;
    ПараметрыТовара.Вставить("Номенклатура", Номенклатура);        
    ПараметрыТовара.Вставить("КоличествоУпаковок", КоличествоУпаковок);    
    ПодобранныеТовары.Добавить(ПараметрыТовара);
    
    Результат = Новый Структура("ПодобранныеТовары", ПодобранныеТовары);

    Закрыть(Результат);

короче формируете стуктуру и передаете ее обработно в документ методом Закрыть()

далее в документе в методе

&НаСервере
Функция ДобавитьВПодбор(Результат, ДополнительныеПараметры)
    Если Результат <> Неопределено И СокрЛП(Результат) <> "Отмена" Тогда
        ДобавитьВПодбор(ДополнительныеПараметры.Номенклатура, Результат.ПодобранныеТовары[0].КоличествоУпаковок, ДополнительныеПараметры.Цена, ДополнительныеПараметры.Штрихкод, ДополнительныеПараметры.Остаток);
    КонецЕсли;
    ТекущийЭлемент = Элементы.СписокНоменклатура;
КонецФункции 

читаете свой "Результат"
   apdate by
 
9 - 30.06.21 - 09:19
за синтаксис не пинайте сильно. сам еще зеленый в 1С :-)
   LOLYBUF
 
10 - 30.06.21 - 11:51
(8) Такое не сработает. Параметры формы после открытия самой формы внешней обработки проглатывает все что в них передали изначально, поэтому их там не получится поймать.
   LOLYBUF
 
11 - 30.06.21 - 11:51
Но я нашел вот такой вариант: https://infostart.ru/1c/articles/825702/
   apdate by
 
12 - 30.06.21 - 13:46
(10) У меня работает!
   apdate by
 
13 - 30.06.21 - 13:47
(11) то же верное решение

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.