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

помогите новичку

Автор KY, 28 июл 2017, 08:45

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

KY

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

первый раз пишу базу свою и конечно же ничего не работает( направьте в правильном направлении. Начальник глянул, говорит должно работать но будет работать неправильно, так при исправлении в справочнике в регистре будет добавляться каждый раз новая запись. Но у меня даже так не работает. Ошибку прилагаю.

Golickoff

Процедура ПриЗаписи у регистра сведений срабатывает когда вы отправляете в него уже готовые данные, которые необходимо в него записать. Набор записей в этот момент уже должен быть создан. Это необходимо делать из процедуры ПриЗаписи справочника Номенклатура.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

alex0402

Цитата: KY от 28 июл 2017, 08:45Для Каждого СтрокаТаблицыЗначений Из Справочники.Работники Цикл

1)У СправочникМенеджер действительно нет итератора. Можно сделать например выборку
Выборка = Справочники.Работники.Выбрать();
Пока Выборка.Следующий Цикл
.....


для записи в регистр сведений используется набор записей и отбор.

НаборЗаписей = РегистрыСведений.ПереодичныеДанныеРаботников.СоздатьНаборЗаписей();
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Период = ...//устанвливаем период;
НоваяЗапись.ИмяРеквизта = Значение//устанвливаем период;
НаборЗаписей.Отбор.ИмяИзмерения.Установить(Значение);
НаборЗаписей.Записать(Истина);
Спасибо за Сказать спасибо

Теги:

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

Рейтинг@Mail.ru

Поиск