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

заполнение табличной части справочника из регистра сведений

Автор KY, 03 авг 2017, 03:32

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

KY

Есть справочник с табл частью заявки, в ней есть реквизит ДатаПротокола, этот реквизит нужно заполнять с регистра. Перечитала в интернете, многие делают запросом, но я что то разобраться не могу пока( Пробовала по разному, вот пример кода
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ТекущийЭлементСправочника = Справочники.Работники.СоздатьЭлемент();   
   ВыборкаЗаписейРегистра = РегистрыСведений.СправочникОбученныхРаботников.Выбрать();
   Пока ВыборкаЗаписейРегистра.Следующий() Цикл 
      //Если ВыборкаЗаписейРегистра.ФИО = ТекущийЭлементСправочника.Наименование  Тогда
        НоваяСтрокаТабличнойЧасти = ТекущийЭлементСправочника.Заявка.Добавить();
      НоваяСтрокаТабличнойЧасти.НомерПротокола = ВыборкаЗаписейРегистра.НомерПротокола;      
      НоваяСтрокаТабличнойЧасти.НомерПротокола.Записать();
      //КонецЕсли;
   КонецЦикла;

      
КонецПроцедуры
Он записывает данные с регистра, но в новый элемент справочника, а не в имеющийся, не могу разобраться как записать в имеющийся? Или эту задачу можно выполнить только запросом?

alex0402

Цитата: KY от 03 авг 2017, 03:32ТекущийЭлементСправочника = Справочники.Работники.СоздатьЭлемент();

создается новый элемент справочника, если нужно в существующий, то его нужно как-то найти и получить объект.
Спасибо за Сказать спасибо

KY

Цитата: alex0402 от 03 авг 2017, 09:08
Цитата: KY от 03 авг 2017, 03:32ТекущийЭлементСправочника = Справочники.Работники.СоздатьЭлемент();

создается новый элемент справочника, если нужно в существующий, то его нужно как-то найти и получить объект.

Как же это сделать??((

oleg-x

ЦитироватьКак же это сделать??((
Учись делать запросы (без этого в 1С делать особо нечего, можно без запросов, но все будет работать медленнее), ничего сложного в этом нет, в принципе все делается через конструктор (правой кнопкой нажать и выбрать "конструктор запроса с обработкой результата") и руками писать по минимум.
Как то так:
1) Выбираете создать запрос
2) Выбираете из списка нужный справочник
3) В выбранные поля добавляете ссылку справочника
4) В условиях выбираете. по каким реквизитам можно найти ваш объект
5)Нажимаете готово и у Вас почти готовый запрос и код, по поиску нужного справочника
6) Подправить код и заполнить параметры для запроса
По ссылке получите нужный Вам объект:
Объект1 = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

AIFrame

А зачем вас для элемента справочника регистр сведений, когда вы хотите писать значения регистра в ТЧ этого элемента, да еще при каждом открытии формы их по новой переписывать?
На форме элемента там где у вас должна выводиться эта ТЧ - создайте поле динамического списка или поле списка регистра сведений и укажите необходимые отборы (связи по типу).
А из данных элемента эту ТЧ удалите, потому что есть же регистр сведений, в конце концов. Зачем масло масленое плодить.

Теги:

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

Рейтинг@Mail.ru

Поиск