Пример использования построителя отчета в обработке типа «Рабочий стол» — например, для работы с независимым регистром сведений. Программная реализация установки фильтра, отключения фильтра, установки фильтра по текущей позиции курсора для табличного поля, связанного с таблицей значений, заполняемой из построителя отчета.

Для примера реализации используется независимый регистр сведений «усОстаткиТоваров»

Continue reading


Как заменить значение ресурса регистра сведений — универсальная процедура (1С: Программисту: Регистры сведений)

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

Continue reading


Как заменить значение измерения регистра сведений и при этом не потерять числовые ресурсы. Универсальная процедура массовой замены значения измерения регистра сведений (1С: Программисту: Регистры сведений)

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

Continue reading


Несколько конкретных примеров обработки регистров сведений (1С: Программисту: Регистры сведений)

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

Continue reading


Как программно установить связь по владельцу в форме. Как программно добавить новый элемент справочника, если у него есть владелец (1С: Программисту)

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

Continue reading


Как добавить запись в регистр сведений (1С: v8: Язык программирования: Регистры сведений)

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

Continue reading


Как в запросе выполнить отбор по «объект не найден» (1С: 8.1: Программисту)

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

Continue reading


К вопросу об оптимизации запросов v8 с использованием виртуальных таблиц (1С: v8: Язык запросов)

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

Continue reading


Как в 1С v8 изменить запись регистра сведений с помощью метода СоздатьМенеджерЗаписи (1С: 8.1: Программисту: Язык программирования: Регистр сведений)

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

Continue reading


Перебор записей регистра сведений и изменение их, используя менеджер записи — метод ПолучитьМенеджерЗаписи (8.1: Программисту)

Вопрос Как в 1С 8.1 перебрать записи регистра сведений и изменить их, используя Менеджер Записи? Ответ Покажем на примере. Рег = РегистрыСведений.агКроссыАртикулов; Выборка = Рег.Выбрать(); Пока Выборка.Следующий() Цикл Запись = Выборка.ПолучитьМенеджерЗаписи(); Запись.Прочитать(); Запись.КодАналога = Корректировка(СтрЗаменить(Строка(Выборка.КодАналога),» «,»»)); Запись.КодОригинала = Корректировка(СтрЗаменить(Строка(Выборка.КодОригинала),» «,»»)); Запись.Записать(); КонецЦикла; См. также Как в 1С v8 изменить запись регистра сведений с помощью метода […]

Continue reading