Имя: Пароль:
1C
1С v8
Как заполнить элемент формы до её открытия
,
0 Dimon8822
 
30.03.22
14:10
ДобрыйДень! Помогите разобраться с последним абзацем следующей задачи (Заранее Спасибо):
    Создайте справочник «Номенклатура» Справочник должен быть иерархическим. Определите реквизит "Вид  номенклатуры", который выбирает одно из трех, жестко  заданных, значений – товар, услуга, набор. Данный реквизит должен быть доступен как для элементов, так и для групп.
    При создании элемента справочника нужно анализировать определён ли вид номенклатуры у родительской группы. Если да, то нужно подставить данный вид для нового элемента..
1 Vadim_37
 
30.03.22
14:12
Все смешалось и элемент формы и реквизит справочника.
2 Kassern
 
30.03.22
14:13
(0) а что не понятно?
3 Dimon8822
 
30.03.22
14:22
В какой из обработок заполнять вид номенклатуры
4 Kassern
 
30.03.22
14:25
(3) можно в ОбработкаЗаполнения
5 Dimon8822
 
30.03.22
14:47
Пытался дополнить Структуру ДанныеЗаполнения в итоге получилось структура
Свойство                Значение        Тип
- ДанныеЗаполнения        Структура        Структура
ВидНоменклатуры         Товар                 ПеречислениеСсылка.ВидНоменклатуры
Родитель            Молоко                СправочникСсылка.Номенклатура

но такая схема не работает:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)

    Если ДанныеЗаполнения.Родитель <> "" Тогда

        ДанныеЗаполнения.Вставить("ВидНоменклатуры", ДанныеЗаполнения.Родитель.Ссылка.ВидНоменклатуры) ;

    КонецЕсли;  

КонецПроцедуры
6 vicof
 
30.03.22
14:58
Родитель это пустая ссылка, а не пустая строка
7 Kassern
 
30.03.22
15:01
(5) отладкой умеете пользоваться? С помощью нее можете проверять выполнение условий
8 Dimon8822
 
30.03.22
15:23
Выполнение условия: ДанныеЗаполнения.Родитель <> ""    Истина    Булево
В результате в параметр ДанныеЗаполнения записывается 2й элемент коллекции ВидНоменклатуры и его Знечением (см. 5). Но почему при открытии формы поле Родитель заполнено а второй элемент структуры ДанныеЗаполнения теряется?
9 serverstar
 
30.03.22
15:34
(8) а вы уверены, что в структуре ДанныеЗаполнения записано 2 элемента? По моему, исходя из кода (5), в ДанныеЗаполнения  вставлен только ОДИН элемент с именем "ВидНоменклатуры"
10 Dimon8822
 
30.03.22
15:42
Ниже результат выражения  ДанныеЗаполнения в результате выполнения оператора Если-КонецЕсли

Свойство                Значение        Тип
- ДанныеЗаполнения      Структура        Структура
  ВидНоменклатуры       Товар            ПеречислениеСсылка.ВидНоменклатуры
  Родитель              Молоко           СправочникСсылка.Номенклатура
11 youalex
 
30.03.22
15:46
(5) >ДанныеЗаполнения.Родитель <> ""
Неправильно, можно использовать стандартное ЗначениеЗаполнено(ДанныеЗаполнения.Родитель)
>ДанныеЗаполнения.Родитель.Ссылка.ВидНоменклатуры
.Ссылка - лишнее обращение к БД, если у тебя в Родитель и так ссылка

>второй элемент структуры ДанныеЗаполнения теряется
Ткни у реквизита Вид номенклатуры (в свойствах реквизита) галку "Заполнять из данных заполнения" (как вариант)
12 Dimon8822
 
30.03.22
15:58
Ткнул у реквизита Вид номенклатуры (в свойствах реквизита) галку "Заполнять из данных заполнения"  и все заработало (ТРИ дня на такую мелочь потратил!?!).
СПАСИБО!

PS: Условие переоформлю
13 serverstar
 
30.03.22
16:07
(12) поздравляю вас!