По теме из базы знаний
- Загрузка значений свойств номенклатуры в Альфа-Авто с использованием обработки загрузки данных из табличного документа
- Изменение свойств номенклатуры. УТ 10.3
- Использование справочника "Значения свойств объектов" для хранения информации на нескольких языках
- Редактирование значений свойств номенклатуры списком. Обработка для УТ 10.3, обычные формы
- Групповая установка значений свойств номенклатуры для УТ 10.3, КА 1.1, УПП 1.3 и БП 2.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Никак, вы его не назначите, т.к. ссылки на несуществующий объект - не существует, а она необходима для связки. Перед редактированием ТЧ просто проверяем на модифицированность и ЭтоНовый() - спрашиваем "Перед добавлением свойств необходимо записать номенклатуру - Продолжить?" ДаНет - в зависимости от ответа либо записываешь элемент либо нет.
НоваяСсылка = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор());
Объект.УстановитьСсылкуНового(НоваяСсылка);
так можно получить будущую ссылку на текущий объект.
другое дело, что Свойства пишутся в момент записи элемента справочника, и единственный способ их получить перед записью это перебор строк ТЧ формы.
Объект.УстановитьСсылкуНового(НоваяСсылка);
так можно получить будущую ссылку на текущий объект.
другое дело, что Свойства пишутся в момент записи элемента справочника, и единственный способ их получить перед записью это перебор строк ТЧ формы.
(5) Dushka,
Я тоже хотела такое сделать. Не получилось. Свойства ссылаются на номенклатуру и без записи номенклатуры к ним доступ не получить
Можно применить другой способ: запретить пользователям доступ к типовой форме редактирования номенклатуры и написать свою обработку, в которой пользователь на форме сначала задаст все данные по номенклатуре и ее свойствам, потом обработка проверит достаточность этих данных, создаст номенклатуру, запишет ее, а потом создаст свойства данной номенклатуры
Т.е. такая мини-версия систему управления НСИ
мне надо, чтобы при записи элемента номенклатуры сообщение было о том, что не заполнено свойство. Сделать его обязательным как-то надо.
И элемент нельзя записывать, пока не установят это свойство.
И элемент нельзя записывать, пока не установят это свойство.
Я тоже хотела такое сделать. Не получилось. Свойства ссылаются на номенклатуру и без записи номенклатуры к ним доступ не получить
Можно применить другой способ: запретить пользователям доступ к типовой форме редактирования номенклатуры и написать свою обработку, в которой пользователь на форме сначала задаст все данные по номенклатуре и ее свойствам, потом обработка проверит достаточность этих данных, создаст номенклатуру, запишет ее, а потом создаст свойства данной номенклатуры
Т.е. такая мини-версия систему управления НСИ
(8) Dushka, Нет, не правы. Это обработка ссылается на справочник Значения свойств объектов.
Если номенклатура создается интерактивно пользователем, то он даже задать свойство не сможет, пока не запишет объект номенклатуры, получит сообщение о необходимости записать объект. Если программно в принципе тоже самое, только ошибка получите не сообщение а ошибку
Если номенклатура создается интерактивно пользователем, то он даже задать свойство не сможет, пока не запишет объект номенклатуры, получит сообщение о необходимости записать объект. Если программно в принципе тоже самое, только ошибка получите не сообщение а ошибку
не понимаю в чем проблема вообще?
Процедура ПередЗаписью(Отказ)
ПроверяемоеСвойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("КодТвоегоСвойства");
Если НеЗаполненоСвойство(ПроверяемоеСвойство) Тогда
ОбщегоНазначения.СообщитьОбОшибке("Заполните значение свойства "+ПроверяемоеСвойство.Наименование);
Отказ = Истина;
КонецЕсли;
КонецПроцедуры;
Процедура НеЗаполненоСвойство(ПроверяемоеСвойство)
Отказ = Ложь;
ТЧ = ЭтаФорма.ЭлементыФормы.СвойстваИЗначения.Значение.Выгрузить();
Для Каждого Стр из ТЧ Цикл
Если Стр.Свойство = ПроверяемоеСвойство и Не ЗначениеЗаполнено(Стр.Значение) Тогда
Отказ = Истина;
КонецЕсли;
КонецЦикла;
Возврат Отказ;
КонецПроцедуры;
пихаешь в модуль формы и все замечтательно работает.
Процедура ПередЗаписью(Отказ)
ПроверяемоеСвойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("КодТвоегоСвойства");
Если НеЗаполненоСвойство(ПроверяемоеСвойство) Тогда
ОбщегоНазначения.СообщитьОбОшибке("Заполните значение свойства "+ПроверяемоеСвойство.Наименование);
Отказ = Истина;
КонецЕсли;
КонецПроцедуры;
Процедура НеЗаполненоСвойство(ПроверяемоеСвойство)
Отказ = Ложь;
ТЧ = ЭтаФорма.ЭлементыФормы.СвойстваИЗначения.Значение.Выгрузить();
Для Каждого Стр из ТЧ Цикл
Если Стр.Свойство = ПроверяемоеСвойство и Не ЗначениеЗаполнено(Стр.Значение) Тогда
Отказ = Истина;
КонецЕсли;
КонецЦикла;
Возврат Отказ;
КонецПроцедуры;
пихаешь в модуль формы и все замечтательно работает.
(10) mymyka, (11) Dushka, Вопрос был "как можно получить значение свойства номенклатуры, если элемент еще не записан?"
Ответ был на вопрос "как можно получить значение из ЭлементыФормы?"
Это не одно и тоже ;)
Правильно поставленный вопрос поможет быстрее получить нужный ответ)))
Ответ был на вопрос "как можно получить значение из ЭлементыФормы?"
Это не одно и тоже ;)
Правильно поставленный вопрос поможет быстрее получить нужный ответ)))
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот