Вход | Регистрация
 

Получить реквизиты формы в УФ

Получить реквизиты формы в УФ
Я
   Kristian
 
04.07.19 - 00:09
Как мне вот это вот:
        формаЗалога = Документы.ЛМБ_ОперацияПоЗалогу.ПолучитьФорму("ФормаДокументаУправляемая");
    ВидОперации = ФормаЗалога.Объект.ВидОперации;
    Имущество = ФормаЗалога.Объект.Имущество;
    ЗалогБилет = ФормаЗалога.Объект.ЗалоговыйБилет;    
    Дата = ФормаЗалога.Объект.Дата;

переделать в управляемые форма, на обычных работает (получаю данные из формы в общий модуль)
 
 
   palsergeich
 
1 - 04.07.19 - 00:10
формаЗалога = Документы.ЛМБ_ОперацияПоЗалогу.ПолучитьФорму("ФормаДокументаУправляемая"); 
Вот эта строчка зачем?
   Kristian
 
2 - 04.07.19 - 00:11
Ага, а как ее можно заменить?
   palsergeich
 
3 - 04.07.19 - 00:12
формаЗалога = Документы.ЛМБ_ОперацияПоЗалогу.ПолучитьФорму("ФормаДокументаУправляемая"); 
    ВидОперации = ФормаЗалога.Объект.ВидОперации; 
    Имущество = ФормаЗалога.Объект.Имущество; 
    ЗалогБилет = ФормаЗалога.Объект.ЗалоговыйБилет;     
    Дата = ФормаЗалога.Объект.Дата; 
Этот код в том виде, в котором есть тебе вернет пустые значения.
Что нужно то и что есть?
   palsergeich
 
4 - 04.07.19 - 00:12
(2) Смотря что надо
   palsergeich
 
5 - 04.07.19 - 00:13
Зачем ты вообще получаешь форму?
Кстати и для ОФ решение сомнительное
   palsergeich
 
6 - 04.07.19 - 00:14
Ты уверен что листинг скопирован корректно?
   palsergeich
 
7 - 04.07.19 - 00:15
Потому что в том виде что есть, очень странно, что оно и в ОФ то работает, есть подозрение что часть кода пропущена.
   Kristian
 
8 - 04.07.19 - 00:19
формаЗалога = Документы.ЛМБ_ОперацияПоЗалогу.ПолучитьФорму("ФормаДокументаУправляемая"); 
    ВидОперации = ФормаЗалога.Объект.ВидОперации;
    Имущество = ФормаЗалога.Объект.Имущество;
    ЗалогБилет = ФормаЗалога.Объект.ЗалоговыйБилет;    
    Дата = ФормаЗалога.Объект.Дата;
                   
      Символ = "#";

      ДлинаНаимВещи = Справочники.ЛМБ_ЗалоговыеВещи.ПустаяСсылка().Метаданные().ДлинаНаименования;
      ПолнНомерЗалога = СокрЛП(ЗалоговыйБилет.Код);
      ПрефиксЗалога = Лев(ПолнНомерЗалога,2);
      Для Каждого Строка из Имущество Цикл;

          
          Попытка
                    НомерЗалога = Число(Прав(ПолнНомерЗалога,СтрДлина(ПолнНомерЗалога)-2));
                Исключение
                    Сообщить("Не удалось получить номер (число) залога из номера Залог.билета - "+ПолнНомерЗалога,СтатусСообщения.Важное);
                    Продолжить;
                КонецПопытки;

                Вещь = Строка.Вещь;
                ВещьНаим = СокрЛП(Вещь.Наименование);
                Поз = Найти(ВещьНаим,Символ);
                
                Если Поз > 0 Тогда
                    Продолжить;
                КонецЕсли;
                    Артикул = ПрефиксЗалога+Формат(НомерЗалога, "ЧГ=0")+"/" +Строка.НомерСтроки + "-" +Строка(Формат((Год(Дата)), "ЧГ = ''"));
                    ВещьНаимНовая = Артикул+Символ + " ";
            КонецЦикла;
 ПредставлениеВещи = Справочники.ЛМБ_ЗалоговыеВещи.СформироватьОписаниеНоменклатурыЗалоговойВещи(ЗалоговаяВещь, ВещьНаимНовая, УчетнаяПолитика);

НоменклатураОбъект = Справочники.Номенклатура.СоздатьЭлемент();
    
    НоменклатураОбъект.Родитель           = Родитель;
    НоменклатураОбъект.Артикул              = Артикул;
    НоменклатураОбъект.Наименование       =  ПредставлениеВещи;
    НоменклатураОбъект.НаименованиеПолное = НоменклатураОбъект.Наименование;
    НоменклатураОбъект.БазоваяЕдиницаИзмерения = ЕдиницаИзмерения;
    НоменклатураОбъект.СтавкаНДС               = ЛМБ_ТиповыеМетоды.ПолучитьЗначениеПоУмолчанию(ТекущийПользователь, "ОсновнаяСтавкаНДС");
    НоменклатураОбъект.НоменклатурнаяГруппа    = ЛМБ_ТиповыеМетоды.ПолучитьЗначениеПоУмолчанию(ТекущийПользователь, "ОсновнаяНоменклатурнаяГруппаЗалоговыхВещей");

Вот так это выглядит в обычных формах
Вообще, да, работает

Ну, я только учусь) А куда без ошибок и мудрых наставлений от более опытных
   palsergeich
 
9 - 04.07.19 - 00:22
Попробую сванговать:
Параметры = Новый Структура;
    Параметры.Вставить("Ключ", СсылкаНаТотОбъектКоторыйТебеНадо);
    ФормаЗалога = ПолучитьФорму("Документ.ЛМБ_ОперацияПоЗалогу.Форма.ФормаДокументаУправляемая",параметры);
    ВидОперации = ФормаЗалога.Объект.ВидОперации; 
    Имущество = ФормаЗалога.Объект.Имущество; 
    ЗалогБилет = ФормаЗалога.Объект.ЗалоговыйБилет;     
    Дата = ФормаЗалога.Объект.Дата;
   palsergeich
 
10 - 04.07.19 - 00:23
Это ты создаешь новый документ и заполняешь его?
 
 Рекламное место пустует
   Kristian
 
11 - 04.07.19 - 00:25
Я создаю номенклатуру, и заполняю ее с данными от документа Операция по залогу
   palsergeich
 
12 - 04.07.19 - 00:25
Если да, то
    ФормаЗалога = ПолучитьФорму("Документ.ЛМБ_ОперацияПоЗалогу.Форма.ФормаДокументаУправляемая");
    ВидОперации = ФормаЗалога.Объект.ВидОперации; 
    Имущество = ФормаЗалога.Объект.Имущество; 
    ЗалогБилет = ФормаЗалога.Объект.ЗалоговыйБилет;     
    Дата = ФормаЗалога.Объект.Дата;
но это будет только начало пути)))
   palsergeich
 
13 - 04.07.19 - 00:26
(11) А где ты получаешь форму конкретного документа Операция по залогу?
 формаЗалога = Документы.ЛМБ_ОперацияПоЗалогу.ПолучитьФорму("ФормаДокументаУправляемая"); 
Здесь я этого не вижу, по факту будет открыта форма нового документа
   palsergeich
 
14 - 04.07.19 - 00:26
(8) И здесь тоже
   palsergeich
 
15 - 04.07.19 - 00:27
(11) тогда смотри (9)
Твоя задача понять где эта самая СсылкаНаТотОбъектКоторыйТебеНадо
   Kristian
 
16 - 04.07.19 - 00:31
О как, надо поглядеть
   palsergeich
 
17 - 04.07.19 - 00:47
Но после того как сделаешь в лоб - обязательно перепиши на запрос.
Оставлять в таком виде - получать форму, из нее реквизиты и потом не открывать - это не гуд.

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