В какое значение можно установить свойство серии кодов объекта конфигурации
В данном разделе рассматриваются особенности работы механизма автонумерации на примере справочника.
Что такое автонумерация и зачем она нужна?
Автоматическая нумерация элементов справочников позволяет устанавливать во вновь создаваемых элементах уникальные коды. При этом создаваемые коды элементов последовательно увеличиваются.
Формирование нового уникального кода справочника зависит от того, как у справочника настроены серии кодов:
- во всем справочнике — в процессе формирования нового кода для элемента справочника будет сформирован код, уникальный во всем справочнике;
- в пределах подчинения — в процессе формирования нового кода для элемента справочника будет сформирован код, уникальный в пределах иерархии элемента (элементы, имеющие одного и того же родителя будут иметь различные коды, элементы, имеющие разных родителей могут иметь одинаковые коды);
- в пределах подчинения владельцу — в процессе формирования нового кода для элемента справочника будет сформирован код, уникальный в пределах подчинения (элементы, имеющие одного и того же владельца будут иметь различные коды; элементы, имеющие различных владельцев могут иметь одинаковые коды).
Последовательное увеличение кодов элементов справочника в процессе автонумерации будет происходить таким образом, чтобы создаваемый код справочника соответствовал настройке серии кодов.
Рассмотрим пример. Пусть есть справочник: иерархический, иерархия элементов, серии кодов — в пределах подчинения, автонумерация — включена.
Добавим в справочник первый элемент:
На рисунке видно, что автоматическая нумерация элементов справочника началась с 000001.
Добавим в справочник второй элемент:
Добавим в него еще один элемент, который будет дочерним для второго элемента:
На рисунке видно, что в процессе автоматического формирования кода для нового элемента справочника была учтена настройка серии кодов: код для третьего элемента уникален только в пределах элементов, родителем которых является второй элемент.
Одной из особенностей автонумерации является использование лидирующих нулей. Это необходимо для того, чтобы поиск и сортировка по коду (номеру) работали эффективно. Для этого используется индекс базы данных по полю код (или номер). Использование индекса требует упорядоченной последовательности с точки зрения базы данных. Поэтому 1С:Предприятие 8 в процессе автоматического формирования новых кодов (номеров) всегда использует лидирующие нули.
Обеспечить правильную сортировку, например, документов по их номеру без использования лидирующих нулей невозможно. Например, пусть у нас есть документы со строковыми номерами «Док11» и «Док3». В этом случае документ с номером «Док3» будет идти после документа с номером «Док11», что неправильно.
Работа с префиксом кода справочника в процессе автонумерации
Установка префикса при формировании нового номера кода элемента имеет смысл только в том случае, если код элемента является строкой.
Для того чтобы при формировании нового кода (номера) устанавливать префикс, можно воспользоваться обработчиком события При установке нового кода. Это событие возникает в тот момент, когда начинается формирование нового кода, например нового кода элемента справочника. Синтаксис описания этого обработчика следующий:
ПриУстановкеНовогоКода(<Стандартная обработка>, <Префикс>),
где:
- <Стандартная обработка> — признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная генерация нового кода производиться не будет;
- <Префикс> — префикс, который будет использоваться для генерации кода.
Рассмотрим следующий пример. Пусть есть конфигурация для распределенной информационной базы, в которой с помощью префиксов обеспечивается формирование уникальных кодов справочников в каждом из узлов. Формирование такого уникального кода можно сделать так:
Копировать в буфер обмена
// Процедура обработчик события ПриУстановкеНовогоКода
// Подменяет префикс кода на предопределенный для данной ИБ
//
Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)
Префикс = ПолучитьПрефиксНомера();
КонецПроцедуры // ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)
где «ПолучитьПрефиксНомера» — экспортируемая функция общего модуля, возвращающая значение некоторой константы. При этом значение константы для каждого из узлов должно быть свое:
Копировать в буфер обмена
// Выдает префикс нового номера
//
// Возвращаемое значение:
// Строка – Префикс нового номера
//
Функция ПолучитьПрефиксНомера() Экспорт
Возврат Константы.ПрефиксНомеров.Получить();
КонецФункции // ПолучитьПрефиксНомера()
Наряду с использованием обработчика события При установке нового кода можно использовать метод объекта справочника УстановитьНовыйКод(). В параметре метода может быть передан нужный префикс — в этом случае среди кодов, имеющих данный префикс, будет найден максимальный, и новый код будет установлен как следующий от найденного максимального. Если префикс опущен — будет найден имеющийся максимальный код и новый код будет получен за счет увеличения правой числовой части найденного максимального. Нечисловая часть будет оставлена без изменений.
Следует учитывать, что если код элемента справочника является числом, префикс, возвращаемый из обработчика события При установке нового кода, использоваться не будет.
Поддержка автонумерации другими объектами метаданных
Кроме справочника, автонумерацию поддерживают следующие объекты метаданных:
- Документ;
- План видов характеристик;
- Бизнес-процесс;
- Задача.
Для документа, бизнес-процесса и задачи установку нового номера можно обработать в обработчике события При установке нового номера.
Для плана видов характеристик установку нового кода можно обработать в обработчике события При установке нового кода.
24.09.09 — 13:48
Добрый день уважаемые коллеги!
Занимаюсь подготовкой к профу. Попался такой вопрос:
В какое значение можно установить свойство «Серии кодов» объекта конфигурации «Справочник»?
Ответы:
1.Во всем справочнике
2.В пределах подчинения
3.В пределах подчинения владельцу
4.Верны все указанные ответы
5.Верны ответы 1 и 2
Не знаю, ответа. Что за такое св-во Серии кодов, первый раз про него слышу.
Разъясните кто знает. За ответы премного благодарен.
1 — 24.09.09 — 13:51
Вариант 4. Закладка нумерация в справочнике.
2 — 24.09.09 — 13:52
Ну то бишь как генерируются коды новых элементов справочника.
3 — 24.09.09 — 13:56
(1) спасибо, наставил на путь истинный..
4 — 24.09.09 — 15:54
не понятный точно вопрос по профу:
Выбор типа значения основного реквизита приводит
1.К изменению поведения формы
2.К появлению дополнительных свойств, методов и событий формы (расширений формы)
3.К изменению контекста модуля формы
4.Верны ответы 1 и 2
5.Верны ответы 1, 2 и 3
Какого реквизита 0_о, не понятно.
Кстати 1С-ниги специально что ли такие неодназначные вопросы задают, денег наверное надо
5 — 24.09.09 — 15:58
у формуДокумента документы есть документОбьект ответ 4
6 — 24.09.09 — 15:59
походу)
7 — 24.09.09 — 15:59
(6) нет, ответ 5
8 — 24.09.09 — 16:00
что за развод?
9 — 24.09.09 — 16:00
(8) дак и я про то
10 — 24.09.09 — 16:04
основной реквизит формы…? Как при изменении его типа, может измениться контекст модуля формы, бред какой то…..
11 — 24.09.09 — 16:04
собирание лавандосов..млин
12 — 24.09.09 — 16:05
ответ 5, 100%
13 — 24.09.09 — 16:05
фсе правильно в модуле формаЭлемнта Справочник нельза определить обработчик проведения и заполнения
14 — 24.09.09 — 16:06
можно установить:
1.Во всем справочнике
2.В пределах подчинения
3.В пределах подчинения владельцу
15 — 24.09.09 — 16:08
Для хранения данных, которые редактируются в форме, предназначены реквизиты формы. Один из реквизитов может быть назначен основным реквизитом формы. При этом поведение формы изменяется в соответствии с типом этого реквизита. Кроме изменения поведения формы, происходит изменение контекста модуля формы. Наряду с методами и свойствами формы, в нем становятся доступны методы и свойства объекта, являющегося значением основного реквизита. Вследствие такого объединения контекстов формы и объекта могут возникать конфликты имен методов и свойств. Методы и свойства формы имеют приоритет над методами и свойствами объекта. Обращение к свойству объекта можно осуществлять через имя основного реквизита формы.
Рассмотрим следующий пример.
Есть форма с двумя реквизитами: ДокументОбъект, Реквизит1. Реквизит ДокументОбъект является основным реквизитом и имеет в свою очередь реквизиты с именами Реквизит1, Реквизит2. Тогда обращение к реквизитам в модуле формы будет осуществляться следующим образом:
Реквизит1 = 12;// Обращение к реквизиту формы
Реквизит2 = 34;// Неявное обращение к реквизиту реквизита ДокументОбъект
ДокументОбъект.Реквизит1 = 56;// Явное обращение к реквизиту реквизита ДокументОбъект
ДокументОбъект.Реквизит2 = 78;// Явное обращение к реквизиту реквизита ДокументОбъект
Есть форма с двумя реквизитами: ДокументОбъект, Реквизит1. Реквизит ДокументОбъект является основным реквизитом и имеет в свою очередь реквизиты с именами Реквизит1, Реквизит2. Тогда обращение к реквизитам в модуле формы будет осуществляться следующим образом:
Реквизит1 = 12;// Обращение к реквизиту формы
Реквизит2 = 34;// Неявное обращение к реквизиту реквизита ДокументОбъект
ДокументОбъект.Реквизит1 = 56;// Явное обращение к реквизиту реквизита ДокументОбъект
ДокументОбъект.Реквизит2 = 78;// Явное обращение к реквизиту реквизита ДокументОбъект
16 — 24.09.09 — 16:14
(15)забей на анализ, тупо зазубри, ответы то есть?
я тоже поначалу пытался вникать в смысл и понять почему иногда ответ не такой как я считаю, потом забил, половина вопросов бредятина и ахинея…
17 — 24.09.09 — 16:18
(16)да, присутствует такое в некоторых вопросах.
ответы есть
думаю если зазубрить, дак смысл от этого всего.
Приходиться разбираться с такими вот непонятными вопросами, а иначе как профа здать ?
18 — 24.09.09 — 16:28
(17)смысл от профа допуск к спецу…по крайней мере для меня…морщить лоп и терзаться в сомнениях из за идиотов в 1с себя не уважать…
19 — 24.09.09 — 16:29
(18) точно…допуск к спецу
20 — 24.09.09 — 16:30
(18) будем зубрить некоторые вопросы, уговорил
21 — 24.09.09 — 16:32
(20)сам завтра сдаю, 400 из 670 зазубрил уже
22 — 24.09.09 — 16:34
а почему из 670 их чтоли ограниченное число ?
скинуть можешь твои вопросы ?
23 — 24.09.09 — 16:36
(22)я решил что с января 2008 по сентябрь 2009 с ИТС которые были вполне достаточно…могу скинуть в почту
24 — 24.09.09 — 16:37
(23) давай, буду признателен
alexmalsg1@rambler.ru
25 — 24.09.09 — 16:40
26 — 24.09.09 — 16:41
(25) спасибо
27 — 24.09.09 — 17:38
(23)Если не сложно скинете мне тоже
pal_vas@mail.ru
Справочники 1С — специализированный объект древа метаданных, который служит для хранения статичной информации справочного характера. Например, в типовых конфигурациях можно увидеть следующие виды: Контрагенты, Номенклатура, Сотрудники, Основные средства и т.д. Информация в справочниках, как правило, часто не изменяется. Справочники в дальнейшем используются практически во всех объектах учета как разрез учета или справочная информация.
Справочники в конфигураторе 1С 8
Ниже мы рассмотрим настройку и проектирование справочника из конфигуратора на примере справочника «Номенклатура».
Вкладка «Основные»
На вкладке «Основные» указывается имя, синоним, представление объектов, описание назначения.
Вкладка «Иерархия справочника»
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Здесь устанавливается иерархичность справочника.
Иерархия в 1С 8.3 бывает двух типов — «групп и элементов» и «элементов«. Отличается тем, что в первом случае родителем (папкой) может быть только папка (группа), а во втором случае родителем может быть и элемент.
«Размещать группы сверху» — флаг отвечает за отображение групп в форме списка.
Также в настройках можно ограничить количество групп иерархии справочника соответствующей настройкой.
Вкладка «Владельцы»
Справочник может быть подчинен другому справочнику. С точки зрения конфигурирования 1С 8.3 это значит, что у подчиненного элемента становится обязательным реквизит «Владелец». Пример такой связи справочников в типовых конфигурациях «Номенклатура — Единицы Измерения», «Контрагенты-Договоры Контрагентов».
Владельцем справочника могут также быть следующие объекты метаданных: планы обмена, планы видов характеристик, планы счетов, планы видов расчета.
Вкладка «Данные»
Самая важная вкладка с точки зрения программиста. На ней указываются реквизиты справочника.
У справочника есть набор стандартных реквизитов, которые не редактируются программистом 1С 8.2, список их можно увидеть, нажав кнопку «Стандартные реквизиты»:
Остановлюсь на каждом подробнее:
- ЭтоГруппа — реквизит с типом булево, показывающий, группа это или элемент. Доступен только в иерархическом справочнике. Обратите внимание, значение этого реквизита невозможно изменить в режиме 1С: Предприятие.
- Код — реквизит, тип число или строка (как правило строка). Номер, присваиваемый системой автоматически. Как правило, рассчитывается как (предыдущий код + 1). Рекомендую использовать именно строковый тип, потому как сортировка числовых значений происходит не так, как нужно. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Код, укажите в длине строки ноль.
- Наименование — реквизит, обязательный к заполнению, строкового типа. Максимальная длина строки — 150 символов. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Наименование, укажите в длине строки ноль.
- Родитель — реквизит, имеющий тип СправочникСсылка.<ИмяТекущегоСправочника>. Доступен только в иерархическом справочнике. Указывает на вышестоящего родителя в иерархии. Если Элемент или Группа находятся в корне справочника, указывается значение Справочник.<ИмяТекущегоСправочника>.ПустаяСсылка.
- Владелец — ссылка на элемент-владелец текущего элемента (группы) справочника. Доступен только в подчиненном справочнике 1С.
- ПометкаУдаления — реквизит с типом булево. Отвечает за отображение «пометки удаления» в системе. Помеченный на удаление элемент считается непригодным к использованию, однако на нём могут оставаться старые движения в документах.
- Ссылка — поле строкового типа. В этом реквизите хранится уникальный идентификатор объекта — GUID. То, что в системе мы видим в визуальном отображении под название «ссылка», — это всего лишь представление объекта. Невозможно изменить.
- Предопределенный — тип булево, отображает, является ли элемент предопределенным, об этом позже. Невозможно изменить.
На вкладке «Данные» так же указывается представление справочника в системе, до версии 8.2.16 представление могло быть лишь Кодом или Наименованием. В свежих версиях платформы (начиная с 8.3) представление можно описать самостоятельно в модуле менеджера с помощью обработчика «ОбработкаПолученияПредставления».
Вкладка «Нумерация»
Здесь указываются настройки справочника по части нумерации. Рекомендуется использовать именно автонумерацию. Контроль уникальности — флаг, который помогает, если нужно, сделать код уникальным. Если с установленным флагом Вы попытаетесь записать элемент справочника с неуникальным кодом, в 1С Вы получите сообщение «Код справочника стал неуникальным».
Серия кодов — определяет, как нумеровать справочник, можно ввести нумерацию справочника в разрезе владельца. Например, у контрагента «Рога и копыта» будет иметься своя нумерация договоров — «1, 2, 3» и тд.
Вкладка «Формы»
Тут описываются формы для справочника. Если конфигурация запускается как в обычном, так и управляемом режиме, тогда вкладок с формами по умолчанию будет две: «основные» и «дополнительные» — для обычного и управляемого приложения разные.
На этой странице есть немаловажное свойство справочника — «Ввод по строке«. Это очень удобная функция 1С 8, позволяющая при заполнении данных в поле ввода не заходить в справочник, а набрать его наименование, код или т.п. и выбрать из выпадающего списка нужный элемент. Выглядит это так:
Вкладка «Прочее»
На вкладке можно получить быстрый доступ к основным модулям справочника — модулю объекта и модулю менеджера.
На странице можно также определить список предопределенных элементов справочника. Это элементы, которые невозможно удалить в режиме Предприятия. К предопределенным элементам можно обратиться в конфигураторе напрямую, по имени, например: Справочники.Номенклатура.Услуга.
На этой вкладке также определяется режим блокировки — автоматический или управляемый. Использование полнотекстового поиска, а также справочная информация о справочнике, доступная в режиме 1С: Предприятия.
Читайте также и другие статьи по конфигурированию 1С.
Минивидео, как работать со справочниками:
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Прикладные объекты. Назначение, создание, использование. Реквизиты объектов
Константы
Объекты прикладного решения Константа позволяют хранить в информационной базе данные, которые не изменяются во времени, или изменяются очень редко. Каждая константа позволяет хранить одно значение.
В каркасной конфигурации создана константа «НазваниеОрганизации». Добавим новую константу «Руководитель», тип данных «Строка».
Для этого выделим в дереве объектов конфигурации ветвь «Константы» и из контекстного меню выберем пункт «Добавить».
Справочники
Справочники используются в основном для хранения списков условно-постоянной информации. Такой как: списки товаров и материалов, сотрудников, контрагентов организации и т.д.
У справочника может быть любое количество табличных частей. Табличные части справочника должны отражать хранение информации, связанной с данным элементом, но не имеющей собственной объектной сущности.
Справочники могут быть иерархическими с неограниченной иерархией или можно ограничить иерархию в пределах до 10. В иерархическом справочнике можно установить родителем не только группу, но и элемент: через поле «Вид иерархии» — Иерархия элементов.
У справочника может быть любое количество форм. Например, у справочника может быть несколько форм списка, но только одна из них может быть назначена в качестве основной.
Максимальная длина кода справочника равна 50 символов. Максимальная длина наименования справочника равна 150 символов.
Справочник может быть подчинен не только другим справочникам, но также планам видов характеристик и планам счетов, в том числе и нескольким объектам одновременно.
У групп справочника-владельца тоже могут быть подчиненные элементы в других справочниках. Эта возможность включается в свойствах справочника.
Реквизиты справочника могут принимать следующие типы данных: примитивные, ссылочные, составной тип данных и ХранилищеЗначения.
Удаление элемента справочника производится методом Удалить() объекта СправочникОбъект.
Следует различать пометку на удаление и непосредственное удаление объекта. При установке пометки на удаление, элемент (группа) остается в справочнике, но отображается с особым значком. Он также участвует в переборе и в общем случае виден пользователю. Окончательное удаление элемента справочника можно произвести через команду меню «Операции — Удаление помеченных объектов».
В каркасной конфигурации создадим справочник «Подразделения», в котором будет храниться информация обо всех структурных подразделениях нашей организации. Для создания нового справочника выберите пункт «Добавить», вызываемый правой кнопкой мыши на наименовании ветви дерева метаданных «Справочники».
Укажем идентификатор справочника и синоним (пользовательское представление) справочника. В нашем примере «Комментарий» можно пропустить, но желательно указывать при неоднозначности или сокращении синонима. Комментарий пользователю не виден.
На закладке «Иерархия» установим признак использования иерархического справочника и укажем требуемый вид иерархии:
На закладке «Владельцы» определяется состав владельцев элементов справочника. Но для справочника «Подразделения» владельцев не существует.
Как правило, справочники имеют предопределенные реквизиты код и наименование, при этом код может иметь тип число или строка.
На закладке «Данные» определим тип, длину кода и длину наименования, а также основное представление и состав реквизитов.
Для добавления нового реквизита используйте кнопку «Добавить», расположенную на командной панели, находящейся над списком реквизитов. При появлении нового реквизита справочника в списке реквизитов, будут доступны свойства реквизита, отображаемые на панели свойств (по умолчанию — в крайней правой части экрана).
В 1С:Предприятии 8.0 реквизиты справочников могут иметь составной тип данных. Необходимость в составном типе может возникнуть, например, в случае, когда контрагентом может выступать как юридическое, так и физическое лицо. Контрагент — это реквизит какого-то справочника, физические лица хранятся в справочнике физических лиц, а юридические лица — в справочнике юридических лиц.
На закладке «Формы» настроим способ редактирования элементов справочника и определим (создадим) основные формы справочника.
Для добавления новой формы используйте кнопку «Добавить», расположенную на командной панели, находящейся над списком существующих форм. Используя конструктор, выберите тип формы, введите идентификатор и синоним формы. Создадим форму списка.
При нажатии на кнопку «Далее» мы получим возможность с помощью конструктора выбрать реквизиты, которые будут размещены на форме диалога, и указать способ их размещения.
Состав элементов управления, автоматически располагаемых на форме и отображаемых конструктором, варьируется, в зависимости от типа формы.
На полученной форме постарайтесь разместить элементы диалога эргономично.
В форме списка для автоматического отображения элементов выбранной родительской группы в дереве конструктором уже произведена настройка связи автоматического обновления списка справочника. Настройка связи осуществляется на панели свойств, при активном поле табличного документа, в котором отображается список справочника (свойство «Связь по родителю»).
Аналогичным способом создадим форму элемента справочника:
Табличная часть справочника может принадлежать как группе, так и элементу.
Справочники системы 1С:Предприятие 8.0 могут иметь предопределенные элементы и группы элементов (для иерархических справочников). Это может понадобиться, например, в случае, если необходимо в конфигураторе явно ссылаться на конкретный элемент справочника. Предопределенные элементы не могут быть удалены пользователями в режиме 1С:Предприятие. Для предопределенных элементов в конфигураторе вводятся только основные свойства элемента (имя, код и наименование). Имя элемента можно использовать в выражениях встроенного языка. Значения других реквизитов предопределенного элемента вводится в режиме «1С:Предприятие».
Визуально в режиме «1С:Предприятие» предопределенные элементы справочников отличаются от элементов, созданных пользователями, видом пиктограммы.
Важно! Для справочника, имеющего владельца, нельзя создавать предопределенные элементы. И наоборот, справочнику, имеющему предопределенные элементы, нельзя назначить владельца.
В каркасной конфигурации предопределенные элементы созданы у справочника «Клиенты».
Задание 1
- Cоздайте справочник «Валюты». Данный справочник должен обладать следующими характеристиками: неиерархический справочник; редактируется в диалоге.
- Создайте формы списка и элемента справочника.