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

обработка в регистрСведений

Автор Shaman_blr, 16 фев 2023, 16:40

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

Shaman_blr

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

LexaK

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

Shaman_blr

LexaK, я так пробовал. Номенклатура записывается, ссылка тоже. а Работа не хочет.
Но тут еще момент у меня в списке значений могут быть 2 строчке заполнены, как в регистре отразить 2 строчке тогда.

LexaK

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

а еще лучше через набор записей
если помогло нажмите: Спасибо!

LexaK

Цитата: Shaman_blr от 16 фев 2023, 16:59а Работа не хочет.
проверьте какие типы у реквизита Работа в регистре и на форме - Должны совпадать!
если помогло нажмите: Спасибо!

Shaman_blr

LexaK, LexaK, не так понял и ответил тоже. Я не могу тип указать справочника. Потому что на форме в работа, будут вносить несколько значений сразу.
и мне эти значения надо в регистр записать.) Поэтому в тип я установил список значений а тип значения - справочник.
Типы совпадают)

Shaman_blr

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

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

Shaman_blr

Нашел как записать строчками, но теперь он пишет что записи с такими полями существуют, потому что я записываю все тоже самое кроме работы, можно ли как то обойти это чтобы он дал мне записать поля одинаковыми?

LexaK

Shaman_blr,
Цитироватьчтобы он дал мне записать поля одинаковыми?
зависит от структуры вашего регистра: Работа2022
напишите состав его полей
 - Измерения?
 - Ресурсы?
 - Реквизиты?
если помогло нажмите: Спасибо!

Shaman_blr

LexaK, все сделал, записывает несколькими строчками, только теперь в новом документе когда жму записать, он перезаписывает в регистре те данные. Это где можно исправить?не подскажешь?

Теги:

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

Рейтинг@Mail.ru

Поиск