|
Как присвоить код наименованию в УФ? | ☑ | ||
---|---|---|---|---|
0
Saari
21.11.22
✎
09:20
|
Cоздал справочник с двумя реквизитами (кроме штатных - код, наименование).
Требуется при записи элемента справочника в наименование добавлять код. В модуле формы создал функцию: &НаСервере Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если ТекущийОбъект.Наименование = "" Тогда ТекущийОбъект.Наименование = "Наименование - " + СокрЛП(ТекущийОбъект.Код); КонецЕсли; КонецПроцедуры Элемент создается, но в реквизит "Наименование" ничего не записывается. Подскажите, пожалуйста, в какой функции нужно прописать присвоение наименования? |
|||
1
vicof
21.11.22
✎
09:23
|
ПередЗаписью
|
|||
2
Fish
21.11.22
✎
09:24
|
А зачем в наименование добавлять код?
|
|||
3
НафНаф
21.11.22
✎
09:24
|
ПередЗаписью и не у формы, а у объекта
|
|||
4
НафНаф
21.11.22
✎
09:24
|
(2) чтобы отказаться от Наименования, люди же не знают, что представление объекта можно программно изменить
|
|||
5
Saari
21.11.22
✎
09:28
|
(3) В процедуре ПередЗаписью() в модуле объекта ошибка:
Переменная не определена (Объект) Если <<?>>Объект.Наименование = "" Тогда (Проверка: Сервер) Перед записью еще код не сформирован. Поэтому в процедуре ПередЗаписью() не подойдет. |
|||
6
Saari
21.11.22
✎
09:29
|
(2) Реквизиты Наименование и код недоступны пользователю. И чтобы не оставлять Наименование пустым, решит вписывать в Наименование значение реквизита "Код".
|
|||
7
Saari
21.11.22
✎
09:40
|
В модуле объекта написал:
Процедура ПередЗаписью(Отказ) Если ЭтоНовый() Тогда ЭтотОбъект.УстановитьНовыйКод(); КонецЕсли; Если ЗначениеЗаполнено(Код) Тогда Наименование = "Наименование - " + Код; КонецЕсли; КонецПроцедуры Все получилось! Спасибо! |
|||
8
Saari
21.11.22
✎
09:43
|
Эксперимент:
Процедура ПередЗаписью(Отказ) Если ЭтотОбъект.Наименование = "" Тогда ЭтотОбъект.Наименование = "Наименование - " + СокрЛП(ЭтотОбъект.Код); КонецЕсли; Такой вариант без ошибок, но не рабочий, т.к. код элемента в этот момент еще не определен. |
|||
9
НафНаф
21.11.22
✎
09:44
|
(7) молодец, но зачем?
|
|||
10
vicof
21.11.22
✎
09:47
|
А еще есть ОбработкаПолученияПредставления.
|
|||
11
Сияющий Асинхраль
21.11.22
✎
09:54
|
Не проще просто убрать наименование вообще? Если оно реально не нужно, ну и сделай длину наименования равной нулю...
|
|||
12
vicof
21.11.22
✎
09:55
|
Короче говоря, сначала нужно определиться с целью.
|
|||
13
Saari
21.11.22
✎
10:01
|
(11) теперь (когда разобрался с механизмом) можно и приравнять длину Наименования нулю ))
(9) см. (6) |
|||
14
Новый1сник2
21.11.22
✎
10:02
|
(0) цель не понятна, ладно когда артикул есть, наименование может и не быть, но присваивать наименованию код для чего?
|
|||
15
Dmitrii
гуру
21.11.22
✎
10:36
|
(7) Забыл проверку на пустое наименование. Твой код будет каждый раз перед записью перезаписывать наименование вне зависимости от того установлено ли уже наименование.
Если наименование фиксированное и всегда должно равняться коду, то ничего страшного в этом нет. Но в таком варианте действительно лучше указать основное представление справочника в виде кода, а от наименования отказаться вообще. |
|||
16
Saari
21.11.22
✎
10:49
|
(15) Да, спасибо! Проверку забыл добавить (в первоначальном неработающем варианте проверка была).
Думаю, что да, основное представление сделаю в виде кода, а длину наименования приравняю нулю. Спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |