Имя: Пароль:
1C
1С v8
обработка в регистрСведений
🠗 (Волшебник 16.02.2023 16:49)
0 shaman_blr
 
16.02.23
16:41
Подскажите в обработке на управляемой форме есть
реквизит "номенклатура" и
Реквизит "Работа" с типом СписокЗначений из справочника.
Подскажите как из обработки сразу писать работу из списка значений.
КодВыделить
Регистр = РегистрыСведений.Работа2022.СоздатьМенеджерЗаписи();
    Регистр.Номенклатура = Номенклатура;
    Регистр.Ссылка = Документ.Ссылка;
    Регистр.Работа = ???????????????    
    Регистр.Записать();
1 Мультук
 
гуру
16.02.23
16:47
(0)
Сразу никак - нужен цикл
2 YFedor
 
16.02.23
16:47
А какое именно значение из списка нужно туда записать первое, второе, ...
3 Волшебник
 
модератор
16.02.23
16:52
Примерно так ChatGPT пишет программы... Спрашивает на мисте, потом анализирует ответы и подбирает программный код. Вот сказали: цикл, первое. Работаем:

Первое = 0;
Для Каждого ЗначениеРабота Из РаботаСписок Цикл
   Первое = ЗначениеРабота;
   Прервать;
КонецЦикла;

Регистр = РегистрыСведений.Работа2022.СоздатьМенеджерЗаписи();
Регистр.Номенклатура = Номенклатура;
Регистр.Ссылка = Документ.Ссылка;
Регистр.Работа = Первое;  
Регистр.Записать();

Должно сработать
4 shaman_blr
 
17.02.23
08:14
(3) а если будет несколько значений в списке он в регистр несколькими строками запишет?
5 shaman_blr
 
17.02.23
08:39
Записывает в регистр только 1 работу, а как сделать чтобы в регистр записывало двумя строчками если у меня 2 работы?
6 Oleg37701
 
17.02.23
16:35
(5) У тебя есть список работ в списке значений. Ты делаешь цикл и проходишь каждую работу. Например

Для Каждого Работа из Работы Цикл

Регистр = РегистрыСведений.Работа2022.СоздатьМенеджерЗаписи();
Регистр.Номенклатура = Номенклатура;
Регистр.Ссылка = Документ.Ссылка;
Регистр.Работа = Работа ;  
Регистр.Записать();

КонецЦикла
7 Oleg37701
 
17.02.23
16:36
(5) Желательно еще и проверить на наличие с такими же измерениями.