1с установить новый код справочника 1с
Программная работа со справочниками в 1С 8.3
Программно можно создавать новые элементы, изменять существующие, удалять, искать элементы по коду, наименованию, реквизитам и т.п. Но нельзя программно добавить новый справочник в конфигурацию. Это выполняется только интерактивно в дереве метаданных.
СправочникиМенеджер
Объект СправочникиМенеджер предназначен для управления всеми справочниками конфигурации. Через цикл можно получить доступ к менеджеру каждого справочника:
Также можно обратиться к менеджеру справочника через точку или через квадратные скобки:
Также через СправочникиМенеджер можно проверить является ли ссылка справочником:
Программное создание элемента справочника
Для программного создания элементов есть метод СоздатьЭлемент. Для программного создания групп — метод СоздатьГруппу:
Программное изменение элементов справочника
Для того чтобы изменить реквизиты уже существующего элемента справочника нужно через ссылку получить объект методом ПолучитьОбъект, через объект изменить значения реквизитов и записать измененный объект в базу данных:
Программное копирование элемента справочника
Методом Скопировать можно создать копию элемента справочника. Данный метод можно вызывать как у ссылки, так и у объекта:
Программное удаление элемента справочника
Для удаления применяются два метода: УстановитьПометкуУдаления и Удалить. Метод УстановитьПометкуУдаления только установит пометку на удаление, сам элемент не будет удален из базы данных. Метод Удалить удалит элемент из базы данных без проверки ссылочной целостности. То есть, если на этот элемент были ссылки в других местах, то теперь вместо ссылки будет надпись «Объект не найден». Не рекомендуется пользоваться методом Удалить. Важно отметить, что вызов метода УстановитьПометкуУдаления вызывает запись объекта. Дополнительно записывать объект не нужно.
1с установить новый код справочника
В данном разделе рассматриваются особенности работы механизма автонумерации на примере справочника.
Что такое автонумерация и зачем она нужна?
Автоматическая нумерация элементов справочников позволяет устанавливать во вновь создаваемых элементах уникальные коды. При этом создаваемые коды элементов последовательно увеличиваются.
Формирование нового уникального кода справочника зависит от того, как у справочника настроены серии кодов:
Последовательное увеличение кодов элементов справочника в процессе автонумерации будет происходить таким образом, чтобы создаваемый код справочника соответствовал настройке серии кодов.
Рассмотрим пример. Пусть есть справочник: иерархический, иерархия элементов, серии кодов — в пределах подчинения, автонумерация — включена.
Добавим в справочник первый элемент:
На рисунке видно, что автоматическая нумерация элементов справочника началась с 000001.
Добавим в справочник второй элемент:
Добавим в него еще один элемент, который будет дочерним для второго элемента:
На рисунке видно, что в процессе автоматического формирования кода для нового элемента справочника была учтена настройка серии кодов: код для третьего элемента уникален только в пределах элементов, родителем которых является второй элемент.
Одной из особенностей автонумерации является использование лидирующих нулей. Это необходимо для того, чтобы поиск и сортировка по коду (номеру) работали эффективно. Для этого используется индекс базы данных по полю код (или номер). Использование индекса требует упорядоченной последовательности с точки зрения базы данных. Поэтому 1С:Предприятие 8 в процессе автоматического формирования новых кодов (номеров) всегда использует лидирующие нули.
Обеспечить правильную сортировку, например, документов по их номеру без использования лидирующих нулей невозможно. Например, пусть у нас есть документы со строковыми номерами «Док11» и «Док3». В этом случае документ с номером «Док3» будет идти после документа с номером «Док11», что неправильно.
Работа с префиксом кода справочника в процессе автонумерации
Установка префикса при формировании нового номера кода элемента имеет смысл только в том случае, если код элемента является строкой.
Рассмотрим следующий пример. Пусть есть конфигурация для распределенной информационной базы, в которой с помощью префиксов обеспечивается формирование уникальных кодов справочников в каждом из узлов. Формирование такого уникального кода можно сделать так:
// Процедура обработчик события ПриУстановкеНовогоКода
// Подменяет префикс кода на предопределенный для данной ИБ
//
Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)
КонецПроцедуры // ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)
где «ПолучитьПрефиксНомера» — экспортируемая функция общего модуля, возвращающая значение некоторой константы. При этом значение константы для каждого из узлов должно быть свое:
// Выдает префикс нового номера
//
// Возвращаемое значение:
// Строка – Префикс нового номера
//
Функция ПолучитьПрефиксНомера() Экспорт
Поддержка автонумерации другими объектами метаданных
Кроме справочника, автонумерацию поддерживают следующие объекты метаданных:
УстановитьНовыйКод( )
Параметры:
(необязательный)
Тип: Строка.
Строковое значение префикса. Если префикс указан, то новый код будет формироваться с учетом префикса.
Описание:
Устанавливает новый код. Если в коде присутствует числовая часть, то новый код автоматически устанавливается следующим за имеющимся максимальным. При этом определяется текущий максимальный код среди элементов данного справочника.
Если передан префикс, то новый код устанавливается следующим образом: выполняется поиск максимального кода среди кодов, имеющих данный префикс, новый код выбирается как следующий от найденного кода.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Префикс имеет смысл, если для справочника в конфигураторе выбран тип кода Строка.
Пример:
Код 1C v 8.х
В параметре метода может быть передан нужный префикс — в этом случае среди кодов, имеющих данный префикс, будет найден максимальный, и новый код будет установлен как следующий от найденного максимального. Если префикс опущен — будет найден имеющийся максимальный код и новый код будет получен за счет увеличения правой числовой части найденного максимального. Нечисловая часть будет оставлена без изменений.
Следует учитывать, что если код элемента справочника является числом, префикс, возвращаемый из обработчика события При установке нового кода, использоваться не будет.
Установка кода элемента справочника с учетом выпавших номеров.
Данный небольшой алгоритм позволит при создании нового элемента справочника последовательно присваивать новые номера с учетом разрывов среди существующих кодов.
Например. В справочнике есть элементы с кодами 1,2,3,6,7,8,10,11. При создании нового элемента, код будет = 4, потом 5, следующий 9, и далее 12.
Использовалось на конфигурации УТП для Украины, для справочника Номенклатура (с типом кода текст), Без учета возможных префиксов.
Инструкция:
1. Объединить конфигурацию.
2. В модуле необходимого справочника в процедуре «ПередЗаписью()» добавить код:
Скачать файлы
Специальные предложения
Перенумерация в нашей задачи не подходила. Клиент использовал коды для идентификации ряда номенклатуры. разрывы появились в связи с: 1. Удалением номенклатурных позиций.
2. Ручным исправлением кода.
«(0) не красиво:». согласен. постараемся доработать. 🙂
Обновление 15.09.09 23:13
Код открыт Не указано
См. также
Пометка на удаление неиспользуемых элементов справочников и документов Промо
В ходе работы в программе в ней зачастую накапливается «мусор». Данная разработка может помочь убрать его. (обычные или управляемые формы)
02.02.2010 40055 720 AnryMc 53
Оптимизация размера изображений из присоединенных файлов УТ 11.4
У нас часто возникала ситуация, когда необходимо настроить обмен с сайтом или с внешней системой, но выгружаемые изображения слишком сильно увеличивали объем сообщений обмена, обмен происходил медленно. Да и для самой базы, операции с не оптимизированными изображениями требуют большего количество ресурсов и места на диске. Потому мы собрали свои наработки в одно расширение.
10.07.2020 7728 2 Neti 4
Обработки для 1С: Розница по работе с ЕГАИС
Несколько простых и нужных обработок для упрощения работы с ЕГАИС в 1С Розница версий 2.2.10.ХХХ и выше.
25.02.2019 25446 55 independ 15
1С: Розница/УТ 10.3. ЕГАИС, загрузка акцизных марок в справочник Штрихкоды и Упаковки, регистр Акцизные марки из XML-сообщений входящих ТТН ЕГАИС + Печать акцизных марок
Пакетная загрузка/обновление списка акцизных марок ЕГАИС из входящих ТТН ЕГАИС. Для 1С Розница 2.2.9.ХХХ/2.2.10.ХХХ//2.2.11.ХХХ/2.2.12.ХХХ/Управление торговлей 10.3.49.ХХХХ и выше с возможностью печати
31.01.2019 33596 222 independ 140
Правильные аналоги номенклатуры (кроссы запчастей) для 1С / Управляемые формы Промо
29.07.2015 46302 5 taurus__ 23
Универсальный инструмент для переноса данных через табличный документ (УФ)
Для опытных пользователей, разработчиков, администраторов, консультантов
15.10.2018 46386 151 json 44
Встраиваемая подсистема «Универсальные шаблоны объектов»
Очень часто бывает так, что пользователь каждый месяц делает какие-либо «одинаковые» операции, например, заводит одни и те же документы, каждый раз меняя в них только значения нескольких реквизитов. Также во многих системах набирают популярность так называемые многофункциональные документы, т.е. документы, отвечающие за несколько разных участков автоматизации и в зависимости от вида операции, заполняющихся по разному. Для автоматизации подобных процессов была реализована данная подсистема.
17.05.2018 21655 34 Skin123 14
Автоматическое заполнение графиков в ЗУП 3.1
Данная разработка будет актуальна для организаций с большим количеством графиков (несколько десятков/сотен).
05.05.2018 31447 19 notserioussam 2
Прыг-Скок. или из MS EXCEL в 1С (8.2) (открытый код) Промо
Универсальная загрузка данных из Microsoft Office Excel. Автоматическая загрузка из любых по форме документов с очень удобным редактором. Почти готовый шаблон для любой конфигурации. Не требует регистрации-бесплатно.
16.09.2015 73389 365 Tatitutu 50
Добавление возможности в конфигурации ЗУП 3.1 работать с фотографиями сотрудников (Зарплата и Управление Персоналом, редакция 3.1)
Добавление возможности в ЗУП 3.1 работать с фотографиями сотрудников (физических лиц). Расширение тестировалось на релизе ЗУП 3.1.5.129.
09.04.2018 37793 80 charivnick 4
Загрузка номенклатуры в базу «Управление торговлей 11.4», с возможностью создания номенклатуры поставщика, через табличный документ Excel, Word
Хочу поделиться простой обработкой, дающей возможность загружать номенклатуру с возможностью создания номенклатуры поставщика, в какую-либо определённую группу товаров.
15.03.2018 47903 469 appolon321 94
2 в 1: Проверить действительность паспорта / Получить ИНН по паспорту
Представляю вашему вниманию внешнюю обработку заполнения элемента справочника «Физические лица». Обработка выполнена с использованием API (для работы необходим доступ в интернет), содержит полностью открытый код и 2 команды: Проверка документа, удостоверяющего личность, в списке недействительных паспортов и Заполнение ИНН по паспортным данным.
27.02.2018 28295 178 VladimirElohov 40
Изменение реквизитов справочников, документов, табличных частей, движений (Обычные и Управляемые формы) Промо
Обработка позволяет редактировать реквизиты справочника, документа, его табличные части и движения.
15.10.2012 55600 489 Exit_in 42
Загрузка из ГИС ЖКХ ИД домов/зданий, Лицевых счетов, приборов учета/счетчиков в 1С ЖКХ
Загрузка из сайта ГИС ЖКХ идентификаторов ЖКУ(ИД) домов/зданий, Лицевых счетов, приборов учета/счетчиков в 1С ЖКХ
10.02.2018 32627 41 hachaturov 0
[РАСШИРЕНИЕ] Заполнение данных контрагента по ИНН в 1С: Бухгалтерия и 1С: УНФ
Бесплатное заполнение реквизитов контрагентов в 1С: Бухгалтерия, 1С: УНФ на базе сервиса dadata.ru. Добавляет кнопку заполнения по ИНН в карточку нового контрагента, не требует подписки на ИТС.
09.01.2018 50246 285 Anton64 88
Создание номенклатуры по штрихкоду (https://barcodes.olegon.ru)
Быстрое создание номенклатуры по базе сайта https://barcodes.olegon.ru). Для 1С Розницы 2.2.ХХХ, Управление торговлей 10.3
11.09.2017 25262 68 independ 7
Отключение доступа уволенным пользователям Промо
Давно хотели навести порядок в пользователях? Надоело, что в списке мешаются давно уволенные сотрудники? Тогда эта обработка для Вас!
15.10.2013 54676 109 VBod 17
Редактирование цен и остатков в карточке номенклатуры для 1С: Розница
Возможность быстрого изменения цен и остатков номенклатуры непосредственно в форме справочника. Работает на 1С: Рознице, начиная с 2.2.2.ххх
18.08.2017 21727 30 independ 7
Загрузка дополнительных реквизитов и сведений справочника Номенклатура из Excel и таблиц УТ 11, ERP 2
Внешняя обработка «Загрузка дополнительных реквизитов и сведений справочника Номенклатура»
07.08.2017 52202 330 Windyhead 45
Расширенный подбор товаров [Расширение]
Расширенные возможности подбора товаров. Отображаются цены и свободные остатки, доступен переход к ожидаемым поступлениям и информация по складам.
31.07.2017 37443 160 mrXoxot 107
Проверка контрагентов по ИНН и КПП через веб-сервис ФНС (внешняя) Промо
Обработка проверяет контрагентов по ИНН и КПП через веб-сервис ФНС на наличие регистрации в ЕГРН. Может выполняться в любых типовых конфигурациях, при наличии справочника «Контрагенты» и реквизитов «ИНН» и «КПП»
25.12.2014 43482 289 Willforre 12
Определение ИНН Сотрудника (service.nalog.ru). ЗУП, редакция 3.1 и 2.5 (Проф и Корп)
Внешняя печатная форма для справочника «Сотрудники организаций». ЗУП, редакция 3.1 и 2.5 (Проф и Корп)
03.02.2017 78692 51 Indgo 34
Согласование (подсистема). Для любого справочника и документа в 1С. Встраивается в любые конфигурации
Подсистема для согласования в 1С. Для настройки нового согласования не требуется программировать, все делается в режиме исполнения. Открытый код. Бизнес-процессы. Документооборот. Проект выложен на GitHub.
25.08.2016 69750 316 BlizD 252
Удаление неиспользуемых элементов справочника (простые и управляемые формы)
Обработка предназначена для удаления неиспользуемых элементов выбранного Вами справочника. Обработка конфигурационно-независима. UPD. Расширены возможности обработки
02.08.2016 20638 80 roma_semenov79 6
[FREE] Универсальная загрузка данных в регистры сведений и справочники, включая дополнительные реквизиты (можно через буфер из Excel)
Универсальная обработка для загрузки данных в регистры сведений и справочники (поддерживает загрузку в дополнительные реквизиты). Открытый код.
30.06.2016 32321 342 pridecom 0
Идентификация номенклатуры по коду ЕГАИС
С помощью данной обработки можно просмотреть/установить свойства алкогольной продукции.
05.06.2016 19678 55 independ 13
Шифрование и расшифровка строковых полей справочников методом Виженера (с улучшениями)
27.04.2016 39200 46 NikitaXa 22
Партнёры и контрагенты для УТ 11 (Расширенная форма списка) [Расширение]
Расширение позволяет просматривать взаиморасчёты с клиентами и поставщиками,как в форме списка,так и в самом элементе справочника.
01.03.2016 29891 109 batsy66 39
Номенклатура (Расширенная форма списка) и Корзина [Расширение]
Красивая, удобная и эргономичная форма списка номенклатуры. В общем списке номенклатуры отображаются и остатки, и цены. А еще есть возможность быстро создать документы по выбранным позициям через корзину.
29.02.2016 43801 123 mrXoxot 69
Договоры (Расширенная форма списка) [Расширение]
Красивая и удобная форма списка для справочника «Договоры». Задолженность по договору, быстрое создание документов, переход к общему журналу документов по договору.
02.02.2016 26514 30 mrXoxot 7
Автозаполнение реквизитов контрагентов по ИНН для БП3.0, ERP2.4, УТ11.4, КА2.4, Розница 2.2, Документооборот 2.1
Расширение для конфигурации 1С: БП 3.0, ERP 2.4, УТ 11.4, КА 2.4, Розница 2.3, Документооборот 2.1
22.01.2016 70315 748 oslokot 403
Контрагенты (расширенная форма списка) [Расширение]
Красивая и удобная форма списка контрагентов. Добавлено быстрое создание документов из списка и оперативная информация по контрагенту.
22.12.2015 34227 96 mrXoxot 22
1С:Интеграция ЕГАИС + Инвентаризация на ТСД
Интеграция ЕГАИС модуля для 1С: 8.3 + модуль WMS контура для инвентаризации алкогольных марок на ТСД.
10.12.2015 41003 27 JetBrain 5
Сброс неверной нумерации объектов
Кратко о выправлении нумерации объектов
07.11.2015 116303 969 magobato 43
Загрузка изображений с поисковых сайтов сети Интернет в 1С
Обработка загрузки изображений из интернета в 1С:Предприятие. Платформа 1С:Предприятие версий 8.2 и 8.3.
13.10.2015 48720 175 premierex 155
Автоматическая загрузка классификатора адресов КЛАДР
Обработка автоматически загружает классификатор с сайта www.gnivc.ru, распаковывает и загружает все регионы в информационную базу.
02.09.2015 28329 41 kolos 1
Подсистема автоматического удаления дублей в справочниках (управляемые формы, любая конфигурация)
Подсистема позволяет проводить автоматическое удаление дублей справочников в соответствии с заданными настройками. Возможно встраивание в любую конфигурацию на управляемых формах. Позволяет задать настройки справочников, в которых ищутся дубли и также поля поиска совпадений. Есть регламентное задание для запуска проверки с заданным периодом. Если в базе найдены ссылки на тот элемент, который будет удален, то они заменяются на тот элемент, который остается. Дублем считается элемент справочника, у которого больше значение кода.
31.07.2015 40711 99 primat 12
Конфигурация ФИАС для 1С 8.1 и 8.2
Конфигурации, которые позволяют интегрировать ФИАС (Федеральная информационная адресная система) в любую конфигурацию 1С 8.1 и 1С 8.2, работающую на НЕ управляемых формах.
30.07.2015 71597 738 dgonson 55
Дубли контрагентов. Жесткий запрет на запись дублей [Расширение]
15.05.2015 46185 138 mrXoxot 56
Подсистема проверки контрагентов через сервис ГосРеестра для объединения с любой конфигурацией (или автономной работы)
Еще один вариант для проверки контрагентов через сервис ФНС. Механизм аналогичен проверке в типовой БП 3.0 и полностью автономен, можно объединить с любой конфигурацией. При первом запуске просит ввести логин и пароль для доступа к сайту поддержки 1С.
06.04.2015 25618 54 Foxes82 12
Загрузка товаров с Яндекс.Маркет
12.01.2015 40852 183 Sirruf 81
При программном создании элемента справочника не ставит Код
ДОбрый день! УТ для Украины. Программно создаю элемент справочника.
вот таким кодом например:
Прописал вот такую штуку
И то же самое. Код не ставится.
СправочникОбъект. (CatalogObject. )
УстановитьНовыйКод (SetNewCode)
Синтаксис:
Тип: Строка.
Строковое значение префикса. Если префикс указан, то новый код будет формироваться с учетом префикса.
Описание:
Устанавливает новый код. Если в коде присутствует числовая часть, то новый код автоматически устанавливается следующим за имеющимся максимальным. При этом определяется текущий максимальный код среди элементов данного справочника.
Если передан префикс, то новый код устанавливается следующим образом: выполняется поиск максимального кода среди кодов, имеющих данный префикс, новый код выбирается как следующий от найденного кода.
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная генерация нового кода производиться не будет.
Значение по умолчанию: Истина
Тип: Строка.
Префикс, который будет использоваться для генерации кода. Может быть изменен в процедуре-обработчике события.
Описание:
Возникает в момент, когда выполняется установка нового кода элемента справочника.
Примечание:
Параметр может быть указан, если код имеет тип Строка.
Программная работа со справочниками
Справочники в 1С — это объекты конфигурации, предназначенные для хранения данных, имеющих одинаковую структуру и носящие списочный характер. Например, в справочниках может храниться: перечень номенклатуры, контрагентов, сотрудников, банковских счетов и т.д. В статье рассматриваются базовые принципы работы с этим объектом метаданных.
Создание элемента справочника
Создание новой группы:
Создание нового элемента:
Поиск элементов справочника
Для поиска элементов справочников в языке программирования 1С предусмотрено несколько методов:
Во всех методах если поиск успешный, то будет возвращена ссылка на найденный элемент.
Изменение элементов справочника
Для изменения реквизитов справочника необходимо выполнить следующие действия:
Программное изменение справочника возможно только на стороне сервера.
Например, на форму обработки выведен реквизит Номенклатура типа СправочникСсылка.Номенклатура. Вот пример кода, изменяющего наименование выбранной пользователем номенклатуры:
Удаление элементов справочника
Элементы справочника могут быть помечены на удаление и удалены из базы непосредственно.
Пометку на удаление можно установить/снять двумя разными способами:
Пример непосредственного удаления элемента справочника:
Обход элементов справочника
Для обхода элементов справочника в языке программирования 1С предусмотрено два метода:
Методы отличаются порядком следования отобранных элементов: при иерархической выборке для каждого элемента сначала выбираются элементы, для которых он является родителем, а затем уже выбираются элементы следующего уровня.
Рассмотрим примеры обхода элементов справочника:
Выбор элементов справочника запросом
Простой пример поиска и вывода товаров со стоимостью больше 1000:
Открытие форм справочника
Для открытия любых форм справочников рекомендуется использовать метод
Для открытия формы элемента или группы справочника также возможно использовать более простой метод
Кроме методов ОткрытьФорму () и ПоказатьЗначение () есть и другие (ОткрытьФормуМодально, ОткрытьЗначение, ПолучитьФорму), но их использование не рекомендуется, т.к. часть этих методов использует режим модального открытия, часть противоречит свежим рекомендациям фирмы 1С.
Приведем примеры программного открытия форм справочника:
Внимание!
Следует понимать, что интерактивная работа (в том числе открытие форм) в 1С возможна только на стороне клиента. В то же время поиск и изменение данных возможны только на стороне сервера.
Остались вопросы?
Спросите в комментариях к статье.