helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Как поменять период у записей периодического независимого регистра, соответствующих ряду условий?

В периодическом независимом регистре сведений ОтветственныеЛицаОрганизации все записи, касающиеся организации с наименованием Групп-трейдинг, период которых меньше 01 января 2005 года, необходимо перенести на 01 января 2004 года. Но записи с указанием должностей Продавец и Кладовщик должны остаться на своих местах.

Сначала получим таблицу записей, которые подлежат модификации. Поскольку условий несколько, да еще и не на равенство, оптимальнее это сделать при помощи запроса. А потом, перебирая результат запроса, добьемся требуемого результата:
Код 1C v 8.х
 // Изменение записей регистра
Процедура ЗаменаПериода()

Запрос = Новый Запрос;

Запрос.Текст =
"ВЫБРАТЬ
| ОтветственныеЛицаОрганизации.Период,
| ОтветственныеЛицаОрганизации.СтруктурнаяЕдиница,
| ОтветственныеЛицаОрганизации.ОтветственноеЛицо
|ИЗ
| РегистрСведений.ОтветственныеЛицаОрганизации КАК ОтветственныеЛицаОрганизации
|ГДЕ
| ОтветственныеЛицаОрганизации.Период <= ДАТАВРЕМЯ(2005, 1, 1)
| И
| ОтветственныеЛицаОрганизации.СтруктурнаяЕдиница.Наименование ПОДОБНО ""Групп-Трейдинг""
| И
| (ОтветственныеЛицаОрганизации.Должность.Наименование ЕСТЬ NULL
| ИЛИ
| НЕ(ОтветственныеЛицаОрганизации.Должность.Наименование ПОДОБНО ""Продавец""
| ИЛИ
| ОтветственныеЛицаОрганизации.Должность.Наименование ПОДОБНО ""Кладовщик""))";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Запись = РегистрыСведений.ОтветственныеЛицаОрганизации.СоздатьМенеджерЗаписи();

Пока Выборка.Следующий() Цикл

Запись.Период = Выборка.Период;
Запись.СтруктурнаяЕдиница = Выборка.СтруктурнаяЕдиница;
Запись.ОтветственноеЛицо = Выборка.ОтветственноеЛицо;

Запись.Прочитать();

Если Запись.Выбран() Тогда
Запись.Период = Дата(2004, 1, 1);

Запись.Записать();

КонецЕсли;

КонецЦикла;

КонецПроцедуры;

Результат запроса – таблица, в которой по каждой записи заполнены все поля измерений из регистра и поле Период. Именно эту информацию мы используем для получения каждой нужной записи.
Источником данных для запроса послужила таблица РегистрСведений.ОтветственныеЛицаОрганизации.
Отборы были применены так, чтобы в результат попали записи с периодом менее 1 января 2005 года, наименование структурных единиц в которых – Групп-трейдинг, а наименования должностей не относятся к Продавец и Кладовщик. Кроме того, необходимо позаботиться о случае, когда должность вообще не указана, то есть ее наименование имеет значение NULL. Такие записи тоже нужно будет переносить.
Запрос выполнен, далее перебираем его результат и посредством менеджера записи регистра ОтветственныеЛицаОрганизации добиваемся желаемого. При каждом проходе цикла считываем очередную запись, предварительно указав значение ее поля Период и полей измерений.
Далее меняем значение поля Период у считанной записи и записываем ее в регистр.
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 7863
 0 
Распечатать
Возможно, вас также заинтересует
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать...
Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 3
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием ...
Битая ссылка, <Объект не найден>, Уникальный Идентификатор, GUID 21
Когда кто-то удаляет данные из базы без проверки ссылок на эти объекты, то везде где этот объект использовался появляется сообщение вида: Объект не найден (84:bf5600145e3710ab11dda4c605dbe824) . https://helpf.pro/uploads/img/_1-46z7I4U7Ww.png В
В Книгу продаж по постановлению 1137 не попадают с/ф без НДС 3
Вопрос : Обновили бухгалтерию, появилась новая книга продаж, но счета-факутры без НДС в нее не попадают, а в старой книге продаж все отображается хорошо! Ответ : Без НДС заполняется только в двух случаях: 1. Дата...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.