как передать параметры в модуля объекта

  1. 9 г. назад

    Знающий народ подскажите кто сталкивался, как из открытой формы справочника (форма элемента) передать параметры в процедуру модуля объекта ?

  2. Ты вот, как обычно, скажешь, и ни хрена не поймёшь что ты хотел.
    Как обычно, в скобках...
    ЭтотОбъект = РеквизитФормыВЗначение("Объект"); - для обычных форм можно не писать
    ЭтотОбъект.Процедура1(Парам1, Парам2); - Парам1, Парам2 - какие-то переменные в процедуре формы элемента

  3. Не все так просто как кажется на первый взгляд.

    Есть справочник в нем параметры, вот их надо перенести в другой справочник "при открытии".

    Перенести параметры между справочниками это только начало задачи.

  4. Что за параметры? Ты растолкуй задачу. У тебя просто туманная фраза, и всё. Конкретно опиши, и получишь конкретный ответ.

  5. А то опять тебе будут постить картинки "Я [...] не понял".

  6. Есть справочник номенклатура в форме присутствуют параметры (20 метров, 40 литров, 50 градусов и т.п.), эти параметры нужно перенести в форму другого справочника, что бы они же отображались "при открытии" другого справочника.

  7. Ты так словами легко бросаешься - параметры. Скажи уж - реквизиты объекта или реквизиты формы.

    Ответы: (9)
  8. Как новая форма открывается?

    Ответы: (9)
  9. Логику действий юзера в студию.

    Ответы: (9)
  10. (6) ок не параметры, значения.
    (7) Банально при нажатии "Создать" в динамическом списке формы номенклатуры.
    (8) В форме номенклатуры есть динам. список(ссылающийся на другой справочник), в этот список добавляются новые строки , при создании новой строки открывается форма элемента второго справочника, где уже будут заполнены некоторые поля из первого справочника. Остается их проверить или поменять и сохранить.

    Ответы: (10)
  11. (9) Вот! Вот! Можешь же, когда захочешь. Щас напишу.

  12. 09.09.2015 17:46:22 отредактировано jsmith82

    /// Форма 1
    /// Ном - динамический список
    /// Тип - реквизит формы

    &НаКлиенте
    Процедура НомПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
    	
    	Отказ = Истина;
    	Парам = Новый Структура();
    	Парам.Вставить("Тип", Тип);
    	ЗаполнитьПарамОткрытияСпрНомНаСервере(Парам); // Опционально, если на клиенте не доступны нужные значения
    	ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаЭлемента", Парам);
    	
    КонецПроцедуры
    
    &НаСервере
    Функция ЗаполнитьПарамОткрытияСпрНомНаСервере(Парам)
    	
    	// Какой-то код
    	
    КонецФункции
    

    /// Форма 2

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    	
    	Если Параметры.Ключ.Пустая() Тогда
    		Если Параметры.Свойство("Тип") Тогда
    			Объект.ТипНоменклатуры = Параметры.Тип;
    		КонецЕсли;
    	КонецЕсли;
    		
    КонецПроцедуры
    
    Ответы: (12) (16)
  13. (11) Кстати, а почему ты проверяешь Параметры.Ключ, а не Объект.Ссылка?

    Ответы: (13)
  14. (12) Просто так написал. Обычно через Объект.Ссылка.Пустая()

  15. Понятно. Я тоже привык к объект.ссылка. А тут по-другому. Удивился и подумал, что, может, я чего не знаю об этом.

  16. Параметры.Ключ.Пустая() правильнее юзать. Объекта может и не быть )

  17. (11) Respect to jsmith82 !!!

    Ответы: (17)
  18. (16) А мог бы и сразу написать, что у тебя дублированные (зеркальные) справочники.

или зарегистрируйтесь чтобы ответить!