Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 22:38

Передача параметров из документа в справочник и обратно

Автор Shok1986, 08 дек 2017, 10:58

0 Пользователей и 1 гость просматривают эту тему.

Shok1986

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

//Модуль справочника

Процедура ПриОткрытии()
    Параметр = Форма.Параметр;
    Если ПустоеЗначение(Параметр) = 0 Тогда
   Если ТипЗначенияСтр(Параметр) = "СписокЗначений" Тогда
      Если Параметр.Получить("Команда") = "Выполнить" Тогда
         фВнешняяФорма = 1;
         Выполнить(); // выполняются необходимые процедуры
                        ПриЗаписи();
         СписПараметров=СоздатьОбъект("СписокЗначений");
         СписПараметров.ДобавитьЗначение("","Команда") ;
         СписПараметров.ДобавитьЗначение("123","Результат") ; //123 для примера чтобы посмотреть возвратит или нет
         СписПараметров.ДобавитьЗначение(ОписаниеОшибкиВФорму,"ОписаниеРезультата") ;
         Форма.Закрыть(0);
      КонецЕсли;   
           КонецЕсли;
         КонецЕсли;
КонецПроцедуры

Заранее всем огромное спасибо за любую помощь

Shok1986

Проблема решена.
Решение:
Вместо ОткрытьФорму нужно ОткрытьФормуМодально. Все передается.
Теперь не могу записать справочник после процедуры Выполнить()

               Форма.Параметр=СписПараметров;         
               Записать();
               Форма.Закрыть(0);
Ошибка: Записать();
{Справочник.Спр.Форма.Модуль(2894)}: Данная команда не может выполняться в формуле элемента диалога!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск