Регистры сведений — 1C-h
 

В том случае, когда в каком-то регистре сведений нужно заменить несколько видов значений какого-то конкретного ресурса на заданное значение, лучше использовать вот такую универсальную процедуру (при ее вызове достаточно подставить название регистра, название ресурса и передать старые заменяемые значения и новое, на которое они заменяются):

В том случае, когда в каком-то регистре сведений нужно заменить несколько видов значений какого-то конкретного измерения на заданное значение, при простой попытке замены с помощью метода СоздатьНаборЗаписей(), возможно возникновение ситуации попытки записи неуникального набора измерений. При этом могут потеряться числовые значения ресурсов регистра. Код 1С, универсально решающий такую задачу:

13

Примеры работы с регистами сведений см. также в Шпаргалке по программированию для системы 1С:Предприятие 8.2 Оглавление 1. Как из регистра сведений «РасчетчикиЗарплатыОрганизации» получить в виде массива всех расчетчиков зарплаты определенного подразделения организации 2. Как добавить запись в непериодический независимый регистр сведений 3. Как считать содержимое непериодического независимого регистра сведений «СобственныеКонтрагенты» […]

6

Вопрос Как установить связь по владельцу в форме Предположим, что где-то, например, в форме списка регистра, требуется дать пользователю возможность интерактивно указать единицу хранения номенклатуры. «Номенклатура» — это справочник. «Единица хранения» — справочник, подчиненный номенклатуре. Справочник «Номенклатура» обычно содержит очень много элементов. Если мы в форме списка регистра просто добавим […]

2

Как добавить запись в регистр сведений Рассмотрим на примере. Требуется выполнить отбор в регистре по значениям измерений и затем создать запись. // создаем НаборЗаписей НаборД = РегистрыСведений.НашРегистр.СоздатьНаборЗаписей(); // устанавливаем параметры отбора по полному набору Измерений регистра: НаборД.Отбор.Измерение1.Установить(Значение1); НаборД.Отбор.Измерение2.Установить(Значение2); НаборД.Отбор.Измерение3.Установить(Значение3); // Создаем новую строку в этом наборе записей: СтрокаДанных = НаборД.Добавить(); […]

18

Как использовать управляемый режим блокировки данных Рассмотрим на примере удаления записей из регистра сведений. 1. В свойствах объекта, для которого используется управляемый режим блокировки данных установить поле «Режим управления блокировкой данных» в значение «Управляемый» (иначе будет сообщение об ошибке «Автоматический режим блокировки недопустим в этой транзакции»). Причем если это делается […]

4

Как в запросе отобрать элементы, значение которых — «битая ссылка», т.е. «объект не найден» Для этого используется логический оператор ЕСТЬ NULL функций языка запросов. Например, допустим, в регистре накопления «ПартииТоваровНаСкладах» мы хотим найти записи, в которых измерение «ДокументОприходования» оказалось такой вот битой ссылкой на «объект не найден». Запрос будет выглядеть […]

Вопрос Можно ли в запросах 1С v8 всегда заменять условие «ГДЕ» параметрами среза виртуальной таблицы? Ответ Часто встречающаяся рекомендация по выполнению опимизации запросов: переносить условие из конструкции ГДЕ в параметры виртуальной таблицы. Однако без понимания, как это работает, легко совершить ошибку.

12

Как в 1С v8 спозиционироваться на конкретной записи регистра сведений и изменить ее Метод можно использовать только для регистров, у которых Режим записи установлен Независимый. Вообще, строго говоря, метод СоздатьМенеджерЗаписи() обычно используется для записи новой строки в регистр или для удаления существующей строки. Для редактирования регистра лучше использовать метод СоздатьНаборЗаписи(). […]