Документы - это прикладные объекты, которые используются для ввода информации в систему. Нередко документы конфигураций 1С:Предприятие являются электронными аналогами бумажных документов. Как правило, прикладные конфигурации строят с учетом того, что информация о совершенной хозяйственной операции вводится в систему лишь один раз с использованием соответствующего документа, после чего используется в различных системных механизмах.
Создавая конкретные документы, обычно ориентируются на хозяйственные операции, которые нужно отражать в системе с их помощью. Мы хотим создать документ ПоступлениеМатериалов, который, как следует из его названия, будет использоваться для фиксирования факта поступления материалов в организацию. Для того, чтобы создать этот документ, нам предварительно нужно будет расширить набор
Контрагенты - для хранения сведений о контрагентах;
ПредставителиКонтрагентов - для хранения сведений о представителях контрагентов;
ЕдиницыИзмерения - для хранения информации о единицах измерения номенклатуры;
Номенклатура - для хранения данных о материалах, товарах, услугах;
Подразделения - для описания подразделений организации;
Сотрудники - для описания списка сотрудников организации;
Ниже в этой лекции мы будем заниматься созданием и настройкой
Так же создадим
Создадим
На вкладке Основные мы зададим имя
Вкладка ).
(рис 4.1) Справочник Контрагенты, вкладка ИерархияРассмотрим установки, которые можно сделать на этой вкладке.
Иерархический справочник. Этот флажок по умолчанию сброшен. То есть, новые
Вид иерархии. Здесь доступно два варианта. Первый - он установлен у нашего
Иерархия элементов позволяет создать
Размещать группы сверху. Это свойство управляет отображением
Ограничение количества уровней иерархии. При активации позволяет ограничивать количество уровней иерархии значением, установленным в соответствующем поле ввода.
Перейдем на вкладку ) и зададим ему следующие реквизиты (табл. 4.1).
| Имя реквизита | Тип | Параметры типа |
|---|---|---|
| ПолноеНаименование | Строка | Длина: 50 |
| КонтактныеСведения | Строка | Длина: 100 |
(рис 4.2) Справочник Контрагенты, вкладка ДанныеТеперь займемся
На вкладке ), которое содержит список объектов, которые можно назначить владельцами
(рис 4.3) Справочник ПредставителиКонтрагентов, вкладка ВладельцыВ появившемся окне .
(рис 4.4) Справочник ПредставителиКонтрагентов, вкладка ВладельцыПоле Использование подчинения позволяет задать подчинение элементам
Перейдем на вкладку ).
(рис 4.5) Подготовка к копированию реквизитов одного справочника в другойМы собираемся добавить реквизиты
| Имя реквизита | Тип | Параметры типа |
|---|---|---|
| Фамилия | Строка | Длина: 30 |
| Имя | Строка | Длина: 30 |
| Отчество | Строка | Длина: 30 |
| Телефон | Строка | Длина: 30 |
| Примечание | Строка | Длина: 100 |
Длину наименования элемента
Создав объекты, опробуем механизмы работы
Создадим в
(рис 4.6) Создание новой группы в справочнике КонтрагентыКод присваивается автоматически, поле ).
(рис 4.7) Создание подгруппы Постоянные в группе Поставщики справочника КонтрагентыТеперь мы сможем просматривать в левой части окна
Если, создавая элемент
Обратите внимание на кнопку панели инструментов Перейти. Если нажать ее - откроется меню, которое будет содержать лишь один пункт - Представители контрагентов. Если мы, на данном этапе работы со
Прежде чем приступать к вводу данных о представителях контрагента вполне логично ввести данные о самом контрагенте. Поэтому, выберем одну из групп (например - ).
(рис 4.8) Создание нового элемента справочника КонтрагентыСохраним созданный элемент нажатием на кнопку ) и сохраним его.
(рис 4.9) Создание элемента подчиненного справочника КонтрагентыТеперь, если мы будем выбирать элемент
Эта схема достаточно логична, но будет гораздо удобнее, если, выделяя контрагента, мы тут же будем видеть сопоставленных с ним представителей. Для того, чтобы это сделать, нам понадобится самостоятельно сконструировать форму списка
Мы уже создали немало объектов, но пока не занимались редактированием их форм. Лишь форму констант мы создавали явно. Формы
Существует несколько видов форм. В частности, формы объектов (форма элемента
Откроем в конфигураторе окно свойств
(рис 4.10) Вкладка Формы окна свойств справочника КонтрагентыЗдесь есть группа элементов ) для формы списка
(рис 4.11) Конструктор формы справочника, первый шагНе будем менять установки, заданные по умолчанию и нажмем на кнопку ).
(рис 4.12) Конструктор формы справочника, второй шагЗдесь мы можем видеть список реквизитов формы. В частности, это реквизиты ).
(рис 4.13) Результат работы конструктора формКак вы помните, мы собирались добавить в эту форму список элементов
Мы должны доработать видимую часть формы. Здесь можно поступить двумя путями.
Первый путь заключается в том, чтобы предоставить системе возможность автоматически разместить поле, соответствующее новому реквизиту. Второй - ручное добавление поля и настройка его свойств.
Попробуем ручное добавление нового поля в форму. Перейдем на вкладку Формы, изменим размер формы, подготовив место для нового табличного поля, которое будет содержать список контактных лиц и изменим размер правого поля формы для того, чтобы оно заняло всю форму.
Изменение размеров форм производится аналогично изменению размеров окон в Windows - нужно подвести указатель мыши к краю формы, указатель превратится в двунаправленную стрелку, после чего, зажав левую кнопку мыши, можно перемещать границу формы.
Для изменения размеров элемента управления или его перемещения, достаточно выделить его щелчком мыши, после чего вокруг элемента появятся маркеры выделения. Потянув за соответствующий маркер, можно изменить размер. Если же навести указатель на участок границы объекта, свободный от маркеров, элемент управления можно перемещать по форме.
Теперь, когда все готово, добавим на форму новый элемент управления Табличное поле. Для этого щелкнем по кнопке Табличное поле (она расположена на панели инструментов, которая находится в нижней части окна программы) и с помощью мыши "нарисуем" прямоугольник, в котором будет располагаться новое табличное поле. Зададим следующие свойства нового табличного поля, табл. 4.3.
| Свойство | Значение |
|---|---|
| Имя | ПредставителиКонтрагентов |
| ТипЗначения | СправочникСписок.ПредставителиКонтрагентов |
| Связь по владельцу | СправочникСписок.ПриАктивизацииСтроки |
На рис 4.14 вы можете видеть процесс изменения свойств поля, и, в частности, открытое окно выбора значения свойства Связь по владельцу.
(рис 4.14) Настройка свойств нового табличного поляПри выборе связи по владельцу мы нажимаем кнопку с тремя точками в соответствующем поле, после чего в появившемся окне Выбор связи активируем вкладку События и выбираем событие ПриАктивизацииСтроки для СправочникСписок. Напомним, что реквизит формы СправочникСписок соответствует списку элементов
После указанных операций, кроме прочих изменений, список реквизитов формы (вкладка Реквизиты окна редактирования формы) будет пополнен новым реквизитом ПредставителиКонтрагентов (именно он указан в свойстве Данные табличного поля, которое заполняется автоматически при указании типа поля) с типом СправочникСписок.ПредставителиКонтрагентов.
После выполнения указанных действий мы уже можем получить желаемую функциональность. Но в поле, выводящем список представителей, есть лишь столбцы Код и Наименование. Нам хотелось бы видеть не только эти поля, но и телефон представителя. Для того, чтобы добавить в табличное поле новую колонку, вызовем его контекстное меню и выберем в нем пункт Добавить колонку. Настроим свойства новой колонки так, как указано в табл. 4.4.
| Свойство | Значение |
|---|---|
| Имя | Телефон |
| Данные | Телефон |
На рис 4.15 вы можете видеть результат нашей работы. Поле Данные заполняется из списка, который формируется на основании реквизитов списка
(рис 4.15) Настройка свойств столбца табличного поляРазмещая табличное поле, мы оставили немного свободного места. Это место мы используем для добавления командной панели (она содержит уже знакомые вам кнопки ). Однако работать с командной панелью удобнее.
(рис 4.16) Форма списка справочника Контрагенты в режиме 1С:Предприятие, контекстное меню табличного поля ПредставителиКонтрагентовВ режиме конфигурирования разместим на форме элемент управления Командная панель. Настроим ее в соответствии с табл. 4.5.
| Свойство | Значение |
|---|---|
| Имя | КоманднаяПанельПредставителей |
| АвтоЗаполнение | Истина (флажок нужно установить) |
| ИсточникДействий | ПредставителиКонтрагентов |
На рис 4.17 вы можете видеть результат добавления командной панели.
(рис 4.17) Добавление командной панели и настройка ее свойствВ результате теперь, когда мы открываем конфигурацию в режиме 1С:Предприятие и открываем
(рис 4.18) Доработанная форма списка справочника Контрагенты в режиме 1С:ПредприятиеНапомним, что этот урок мы начинали с разговора о создании документа ПоступлениеМатериалов. Для того, чтобы его создать нам понадобится добавить в систему еще несколько
Создадим
| Вкладка окна редактирования объекта | Параметр | Значение |
|---|---|---|
| Основные | Имя | ЕдиницыИзмерения |
| Данные | Длина наименования | 100 |
| Формы | Редактирование | В списке |
Для простых
Создадим
| Вкладка окна редактирования объекта | Параметр | Значение |
|---|---|---|
| Основные | Имя | Номенклатура |
| Иерархия | Истина (флаг установлен) | |
| Данные | Длина наименования | 100 |
| Реквизит ЕдиницаИзмерения | Тип: СправочникСсылка.ЕдиницыИзмерения | |
| Реквизит Услуга | Тип: Булево |
Создадим
| Вкладка окна редактирования объекта | Параметр | Значение |
|---|---|---|
| Основные | Имя | Подразделения |
| Данные | Длина наименования | 100 |
| Формы | Редактирование | В списке |
Создадим
| Вкладка окна редактирования объекта | Параметр | Значение |
|---|---|---|
| Основные | Имя | Сотрудники |
| Данные | Длина наименования | 100 |
| Реквизит ФизическоеЛицо | СправочникСсылка.ФизическиеЛица | |
| Реквизит Подразделение | СправочникСсылка.Подразделения | |
| Реквизит ПриказОПриемеНаРаботу | Строка, длина 50 |
Логика работы с данным
Доработаем форму элемента
Перейдем на вкладку окна редактирования объекта ).
(рис 4.19) События поля ввода формы элемента справочника СотрудникиДля того чтобы реализовать необходимую функциональность, нам нужно написать обработчики соответствующих событий полей ввода Физическое лицо и Подразделение. В частности, нас интересует событие ПриИзменении. Оно генерируется при изменении данных, хранящихся в поле. В частности, заполняя эти поля, мы будем подбирать нужные элементы из
Выделим поле ввода .
(рис 4.20) Обработчик события поляПроцедура ФизическоеЛицоПриИзменении создается автоматически. Она будет использоваться в качестве
Приступим к написанию текста процедуры. Он будет таким:
Наименование = ФизическоеЛицо.Наименование +" ("+Подразделение.Наименование+")";
Здесь Наименование соответствует реквизиту Данные поля с именем Наименование. Мы можем обращаться к нему напрямую, записывая данные, которые отобразятся в поле Наименование.
ФизическоеЛицо.Наименование дает нам доступ к реквизиту Наименование элемента Подразделение.Наименование позволяет работать с реквизитом Наименование элемента
Знак "+" используется для конкатенации (связывания) строк. Символы, заключенные в кавычки интерпретируются системой как текст.
При наборе текста работают подсказки. Например, на рис 4.21 вы можете видеть окно редактора кода в ходе набора текста. После того, как мы ставим точку, набрав ФизическоеЛицо, выдается справка. Нужное свойство (или метод, то есть - функцию) можно выбрать из выведенного списка нажав клавишу Enter, когда оно будет выделено, или щелкнув по нему мышью, можно и проигнорировать подсказку, просто продолжив набор с клавиатуры.
(рис 4.21) Помощь при наборе текста модуляДля того, чтобы получить справку по коду, можно воспользоваться функцией вызова так называемого Синтакс-помощника из окна редактирования модуля. Для того чтобы получить такую справку, нужно установить курсор в интересующий нас участок текста и нажать сочетание клавиш ).
(рис 4.22) Синтакс-помощникСоздадим
(рис 4.23) Тексты процедур обработчиков событийЭто - типичная в программировании ситуация, когда один и тот же код используется в различных процедурах. Разумно будет вынести его в отдельную процедуру и вызывать эту процедуру в обработчиках событий. Создадим в модуле новую процедуру, введя с клавиатуры следующий код (код, находящийся в теле процедуры, можно добавить копированием из тела одной из других процедур, выделение, копирование, вырезание текста в редакторе модулей выполняется аналогично подобным операциям в любом текстовом редакторе):
Процедура СформироватьНаименование ()
Наименование = ФизическоеЛицо.Наименование +
" ("+Подразделение.Наименование+")";
КонецПроцедуры
Для удобства можно разбивать длинные строки кода на несколько строк, мы можем это сделать, нажав Enter в нужном месте. Не следует разрывать переносом строки участки кода, заключенные в кавычки - при попытке сохранения такого кода мы получим сообщение об ошибке.
Одно из преимуществ выделения в отдельную процедуру одинакового кода, используемого в различных участках программы, заключается в том, что при необходимости внести изменения в этот код их можно внести лишь в общей процедуре. Например, если мы решим изменить способ формирования поля Наименование, мы можем внести изменения лишь в код процедуры СформироватьНаименование.
На рис 4.24 вы можете видеть итоговый вариант кода модуля.
(рис 4.24) Тексты процедур обработчиков событийПроверим в режиме 1С:Предприятие работу только что созданного механизма. На практике работоспособность кода проверяют обычно не только в самом конце работы над ним, но и в процессе работы для того, чтобы убедиться в правильности хода разработки.
Создадим новый элемент
(рис 4.25) Создание элемента справочника СотрудникиВыбрав подразделение, в котором работает сотрудник, мы снова инициируем процедуру формирования наименования. После заполнения всех полей нажмем на кнопку ).
(рис 4.26) Созданный элемент справочника СотрудникиВыполним еще одну модификацию формы элемента
Мы, однако, пойдем другим путем - отредактируем свойство поля программно. Для этого перейдем в редактор модуля формы и, нажав на кнопку ) <ПриОткрытии> и нажмем на кнопку Перейти (или подтвердим выбор двойным щелчком мыши).
(рис 4.27) Создание обработчика события формы ПриОткрытииВнесем в тело обработчика такой код:
ЭлементыФормы.Наименование.Доступность=Ложь;
Свойство формы ЭлементыФормы дает доступ к коллекции элементов управления, расположенных на форме. При наборе этого текста действуют подсказки.
На рис 4.28 вы можете видеть готовый текст обработчика.
(рис 4.28) Текст обработчика события формы ПриОткрытииИспытаем созданный механизм - при создании нового элемента
(рис 4.29) Результат изменения свойства поля в обработчике события формы ПриОткрытииНапомним, что в начале этой лекции мы собирались создать документ ПоступлениеМатериалов. Для того, чтобы этот документ создать, нам понадобилось добавить в систему несколько новых
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.