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

Не могу сохранить в реквизит Объекта значение из его модуля

Автор omahi, 12 янв 2015, 21:08

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

omahi

Ребят, помогите, что-то реально упускаю:
мне нужно сделать ввод на основании ЗаказаПокупателя ОприходованиеТоваров (такой каприз заказчика). Ко всему нужно видеть их в структуре подчиненности. Я подкинул реквизит "ЗаказПокупателя" в объект ОприходованиеТоваров, затем в модуль добавил типовую Обработку заполнения:

Вставил в модуль объекта:

Процедура ОбработкаЗаполнения(Основание)

Если ТипЗнч(Основание) = Тип("ДокументСсылка.ИнвентаризацияТоваровНаСкладе") Тогда

// Заполним реквизиты из стандартного набора по документу основанию.
ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(ЭтотОбъект, Основание);

Если Основание.Склад.ВидСклада <> Перечисления.ВидыСкладов.НТТ Тогда

СтруктураКурсаДокумента = МодульВалютногоУчета.ПолучитьКурсВалюты(глЗначениеПеременной("ВалютаУправленческогоУчета"), Дата);
КурсДокумента      = СтруктураКурсаДокумента.Курс;
КратностьДокумента = СтруктураКурсаДокумента.Кратность;

Иначе

КурсДокумента      = 1;
КратностьДокумента = 1;

КонецЕсли;

ИнвентаризацияТоваровНаСкладе = Основание;

ЗаполнитьТоварыПоИнвентаризацииТоваровУпр(Основание, Ложь);

//Добавил +++++++++++++++
ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

// Заполним реквизиты из стандартного набора по документу основанию.
ЗаполнениеДокументов.ЗаполнитьШапкуДокументаПоОснованию(ЭтотОбъект, Основание);

Если Основание.СкладГруппа.ВидСклада <> Перечисления.ВидыСкладов.НТТ Тогда

СтруктураКурсаДокумента = МодульВалютногоУчета.ПолучитьКурсВалюты(глЗначениеПеременной("ВалютаУправленческогоУчета"), Дата);
КурсДокумента      = СтруктураКурсаДокумента.Курс;
КратностьДокумента = СтруктураКурсаДокумента.Кратность;

Иначе

КурсДокумента      = 1;
КратностьДокумента = 1;

КонецЕсли;

ЗаказПокупателя = Основание;

ЗаполнитьТоварыПоЗаказуПокупателяУпр(Основание, Ложь);

//Добавил ----------------------------
КонецЕсли;

КонецПроцедуры // ОбработкаЗаполнения()


В итоге реквизит ЗаказПокупателя в отладчике принимает значение Ссылки на заказ покупателя, но после открытия формы значение сбрасывается. Значения реквизита совпадают с сохраняемыми в него. Пересоздавал реквизит, опечаток нет.

Где я туплю?   

cska-fanat-kz

1. чтобы работала стандартная структура подчиненности лучше реквизит обозвать не "ЗаказПокупателя", а "ДокументОснование"
2. если очищается именно при открытии формы, значит где-то в ее обработчиках событий стоит присвоение этому реквизиту...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск