Создание объектов конфигурации
⇐ ПредыдущаяСтр 2 из 2 10. Установите курсор на строку Справочники и щелкните кнопку (или щелкните правой кнопкой мыши и выберите Новый справочник). При этом откроется окно Конструктора справочников. Конструктуры предназначены для помощи программисту в выполнении определенных действий. Только что мы увидели конструктор справочников. В 1С есть еще конструктур документов, конструктор отчетов, конструктор запросов и т.д. Все действия, которые делает конструктор, можно выполнить вручную, но возможно, что с конструктором будет быстрее. Если вам конструктор не нужен (или не нравится), тогда снимите флажок "Использовать конструкторы при создании новых объектов". В данном Учебнике мы все будем делать вручную, поскольку только так можно стать настоящим программистом и выжать из 1С все, на что она способна (или он? кстати, какого рода слово "1С". Это он, она или оно?). 11. Снимите флажок "Использовать конструкторы при создании новых объектов" и нажмите кнопку Отмена для закрытия конструктора. Он будет сопротивляться, но вы будьте настойчивы! Потом вы всегда можете опять запустить конструктор из меню Конструкторы, но мы будем стараться делать все ручками. 12. Опять установите курсор на строку Справочники и щелкните кнопку (или щелкните правой кнопкой мыши и выберите Новый справочник). При этом откроется окно Конструктора справочников уже не откроется, а появится обычное окно для редактирования структуры справочника. 13. Задайте идентификатор справочника (имя), например сейчас мы создадим справочник "Должности". Идентификатор справочника очень важен, поскольку он будет использоваться при программировании. Его нельзя будет исправить просто так, поскольку придется также исправить все места в программе, где используется этот справочник. Относитесь к идентификатору справочника очень серьезно. Идентификатор должен быть лаконичным, понятным, отражающим содержимое справочника, например: "Страны", "Сотрудники", "Товары" и т.д.
Заметьте, что общепринятым правилом является множественное число в имени справочника, но это не обязательно. Например, вы можете создать справочник "АдреснаяКнига". В идентификаторах объектов, а также в названиях переменных не может быть пробелов, но могут быть цифры и знак подчеркивания. Идентификатор не может начинаться с цифры. Правильное название объектов, переменных - признак хорошего стиля программирования и залог успеха. Будьте профессионалами в этом деле! 14. Задайте длину наименования 30 символов. У каждого справочника есть уже заранее заданные два поля "Код" и "Наименование". Вы можете редактировать длину наименования, длину кода, а тажке тип кода: Числовой/Текстовый. 15. Закройте окно структуры справочника Должности. 14. На всякий случай сохраните конфигурацию, чтобы ваш труд не пропал даром, если вдруг отключится электричество или прямо сейчас наступит конец света. 1С обнаружит, что конфигурация абсолютно новая и у нее нет даже такой вещи, как словаря данных! Пусть создает этот словарь, если он ей очень нужен. Нажмите Да. Так как мы редактировали структуру информационной базы, то 1С попросит разрешение на реорганизацию информационной базы. В больших конфигурациях (программах) это может быть очень длительный и сложный процесс, у нас пока все просто. Нажимаем Да. 1С проанализирует структуру базы и покажет окно со списком изменений. Нажмите кнопку "Принять". После реорганизации базы появится сообщение "Реорганизация информациии закончена ". 15. Создадим справочник Сотрудники. (Установите курсор на Справочники и щелкните кнопку Новый). Задайте имя справочника (идентификатор) "Сотрудники".
16. Задайте длину наименования 100 символов. В наименовании у нас будет храниться ФИО сотрудника. Иногда бывают довольно длинные имена, например "Александровский-Петровский Александр Александрович". 17. В этом справочнике у нас будет еще одно поле (реквизит, атрибут) Должность. Список реквизитов сейчас пустой. Нажмите кнопку Добавить, откроется окно редактирования свойств реквизита. Кстати, реквизит, атрибут и поле - это в принципе одно и то же. Просто нужно привыкнуть к слову "реквизит". 18. Задайте имя реквизита "Должность". Укажите тип реквизита "Справочник.Должности", который мы создали раньше. Это говорит о том, что значения данного реквизита будут выбираться из справочника Должности. Нажмите ОК. 19. Создайте реквизит Оклад (тип Число, Точность 2 знака после запятой) 20. Создайте реквизиты ДатаПриема и ДатаУвольнения (тип Дата) 21. Сохраните конфигурацию (на всякий случай). Теперь у нас есть два справочника и можно ввести некоторые данные. 22. Запустите 1С:Предприятие в режиме Предприятие. Это можно сделать прямо из Конфигуратора, нажав кнопку . Появится окно 1С:Предприятие. 23. Откройте справочник Должности. Для этого щеклните меню Операции => Справочники => Должности. Откроется окно справочника. Для более быстрого доступа к справочнику позже мы создадим меню, а пока только так. 24. Введите несколько должностей, используя кнопку или клавишу INS. Например, Директор, Бухгалтер, Программист. Заметьте, что коды присваиваются автоматически, хотя их можно редактировать. При этом необходимо соблюдать уникальность кодов. Параметры уникальности можно настраивать в конфигураторе, например можно ее вообще отключить, если она не нужна. По умолчанию установлена сортировка по Наименованию. Это позволяет набрать первые буквы названия должности и курсор автоматически перейдет на нужную должность. Можно установить и другой тип сортировки: по коду или по реквизиту. Для этого нужно щелкнуть правой кнопкой и выбрать Сортировка. Мы этого делать не будем и оставим все, как есть. 25. Закройте справочник Должности и откройте справочник Сотрудники. (Щеклните меню Операции => Справочники => Сотрудники).
26. Заведите нескольких сотрудников. Например, Иванов - директор, Петров - Бухгалтер, Сидоров - Программист. Заметьте, что при указании должности открывается справочник Должности. Для выбора должности вам нужно два раза на нее щелкнуть. В реальной жизни принятие сотрудника на работу производится кадровым документом "Приказ о приеме на работу". Поэтому сейчас мы это организуем. 27. Закройте 1С:Предприятие и запустите базу в режиме Конфигуратор. 28. Теперь создайте новый документ "ПриемНаРаботу". (установите курсор на Документы и щелкните Новый). Задайте имя документа ПриемНаРаботу. 29. Добавьте реквизит шапки "Сотрудник", укажите ему тип значения Строка и длина 100 символов. Нажмите ОК. У документа есть шапка и табличная часть. В шапке содержатся реквизиты, которые относятся к документу в целом, например НомерДок, ДатаДок и т.д. В табличной части содержатся строки. Например, один документ Накладная содержит информацию по нескольким товарам. Такая ситуация в 1С предусмотрена. (правда не предусмотрена ситуация, когда в документе есть две или даже несколько табличных частей) Кстати, у любого документа уже есть два заранее заданных реквизита шапки "НомерДок" и "ДатаДок". 30. У документа должна быть удобная форма для ввода данных. Нажмите кнопку "Форма" в нижней части окна. 31. Так как мы сюда зашли в первый раз, то 1С предлагает автоматически создать форму документа. Мы договорились все делать вручную, поэтому нажимаем Отмена. 32. Нам нужно создать форму следующего вида: · Установите подходящие размеры формы. Кстати, рядом с этой кнопкой есть и другие элементы управления, которыми мы будем пользоваться в дальнейшем: кнопки, поля, переключатели, флажки и т.д. · Укажите размер шрифта побольше, это же все-таки заголовок. Для этого щелкните правой кнопкой на надписи, выберите Свойства, щелкните вкладку Шрифт, снимите флажок "Шрифт по умолчанию" и укажите размер шрифта 12, Можете еще что-нибудь указать, например Цвет, жирность и т.д. Не бойтесь экспериментировать, мы же пока только учимся. нажмите ОК.
· Добавьте поле НомерДок на форму. Для этого щелкните кнопку появится окно. В нем установите флажок у реквизита шапки НомерДок, нажмите ОК и щелкните в каком-нибудь месте формы. Там появится поле НомерДок. Задайте ему размеры и перетащите в нужное место формы. Теперь в этот документ можно будет вводить данные о новом сотруднике. Затем пользователь нажмет кнопку ОК и ваша программа должна добавить в справочник Сотрудники новый элемент (новую строку). При нажатии ОК документ сначала будет записан, а потом будет проведен. Проведение документов - очень важное понятие. Провести документ для пользователя означает пустить его в дело. При проведении документа совершаются изменения в информационной базе: добавлются данные в таблицы, увеличиваются или уменьшаются остатки товаров на складе, создаются новые бухгалтерские проводки и т.д. Что конкретно произойдет при проведении документа определяется программистом. При проведении выполнится предопределенная процедура ОбработкаПроведения(). Именно в этой процедуре программист пишет программу, которая и совершает все изменения в системе. Сейчас нам нужно до нее добраться. Она хранится в "Модуле документа". Для открытия модуля документа закройте экранную форму документа. На экране останется окно структуры документа. Внизу есть кнопка "Модуль документа", вот на нее и нажмите. Откроется окно для редактирования текста программы. Там уже есть процедура ОбработкаПроведения, но внутри нее пока ничего существенного. Напишите там следующий текст, пока не вникая в его смысл. СпрСотр = СоздатьОбъект("Справочник.Сотрудники"); Хотя, если присмотреться, то можно кое-что понять. Первая строка обращается к справочнику Сотрудники. Вторая строка создает новый элемент, пока пустой. Потом заполняются реквизиты справочника, данные берутся из документа и переносятся в справочник. И в конце происходит запись измененного элемента в справочник.
Кстати, часто начинающие программисты забывают вызвать Записать(). Не попадайте в эту ловушку! Если вы не вызовете метод Записать(), то все ваши изменения не сохранятся в базе. Обратите внимание, что каждый оператор в языке 1С заканчивается символом ";" (точка с запятой). После слова КонецПроцедуры точки с запятой не, потому что это не оператор, а операторная скобка (есть такое понятие в 1С). Точки с запятой нет также после слов Цикл и Тогда, но после слов КонецЦикла и КонецЕсли обязательно ставьте точку с запятой. В данной программе мы не использовали ни циклы, ни условия. Также обратите внимание как оформляются комментарии. Комментарии не учитываются компилятором и предназначены для человека, которому нужно разобраться в программе. Комментариев не должно быть слишком много и слишком мало. Программа сама по себе должна быть понятна, без комментариев. Но в сложных местах в комментариях можно пояснить логику работы программы. Написание комментариев и понятных программ - тоже признак хорошего тона. Будьте в этом деле профессионалами!
Теперь можно попробовать принять нового сотрудника по всей форме. Все документы хранятся в журналах документов. Может быть вы не обратили внимание, но для документа "ПриемНаРаботу" был задан журнал по умолчанию "Прочие". Потом мы создадим специальный журнал для всех кадровых документов, а пока будем пользоваться тем, что есть. · Для открытия журнала документов Прочие щелкните Операции => Журналы документов => Прочие. Откроется журнал документов. · Щелкните кнопку или нажмите клавишу INS. Откроется форма документа "Прием на работу" для ввода данных. Номер документа присвоится автоматически, дата документа - сегодняшнее число. · Введите все данные: ФИО сотрудника, укажите ему должность и оклад. Если вдруг выскочит ошибка, значит вы неправильно написали программу. Опять запускайте Конфигуратор и все перепроверяйте. Можно сделать так, чтобы 1С проверяла программу на синтаксические ошибки автоматически при сохранении конфигурации. Для этого в Конфигураторе щелкните меню Сервис => Параметры и установите флажок "Проверять ошибки автоматически". Заметьте, что отсутствие синтаксических ошибок не гарантирует того, что программа правильная. В ней по-прежнему могут быть ошибки. Такие ошибки могут выскочить при выполнении программы, а могут быть очень скрытые. Ошибки - главная беда программистов. Но еще большая беда - неправильное понимание требований заказчика. Теперь организуем правильное увольнение сотрудников с помощью кадрового приказа. · Напишите следующий текст в модуле документа в процедуре ОбработкаПроведения(): Первая строка создает ссылку на справочник Сотрудники. Вторая строка ищет в справочнике того сотрудника, который будет уволен. Следующая строка устанавливает ему дату увольнения. И последняя строка записывает сделанные изменения в справочнике. Создадим журнал "КадровыеДокументы". Для этого установите курсор на "Журналы документов" в дереве конфигурации и щелкните Новый. Задайте имя журнала. Здесь больше ничего не трубуется. Теперь откройте окно для редактирования структуры документа "ПриемНаРаботу". В верхней части окна измените журнал "Прочие" на журнал "КадровыеДокументы" То же самое проделайте для документа Увольнение. Теперь создадим пользовательское меню. В окне конфигурации внизу есть вкладка Интерфейсы. Для каждой категории пользователей программы может быть заведен свой собственный интерфейс. Интерфейс включает пункты меню и кнопки на панели инструментов. Например, кадровику необязательно залезать в зарплату сотрудников. Создайте новый Интерфейс и назовите его Администратор. Интерфейс появится в списке интерфейсов. У него есть замечательная кнопка , которая автоматически создает все пункты меню. Сделаем исключение и воспользуемся помощью конструктора меню, потому что нам нужно создать обычное меню для доступа ко всем объектам без всяких заморочек. Если нужно сделать что-нибудь более интересное, например, добавить разделители, перегруппировать пункты меню, то это нужно будет делать вручную. · Нажмите кнопку и затем "Построить". Конструктур автоматически создаст все пункты меню. · Меню можно сразу протестировать, как оно будет выглядеть для пользователя. Для этого нажмите кнопку "Пуск", появится тестовое окно. Посмотрите на меню и закройте тестовое окно. · Кстати, вы можете попробовать научиться редактировать пункты меню. Смелее экспериментируйте. Например, перетащите пункт меню Кадровые документы в пункт Документы, а пункт Журналы документов удалите. Отделите журнал от документов разделителем. Мне кажется, так будет удобнее. · Закройте редактор меню. Сохраните конфигурацию и запустите ее. На этом создание простейшей системы для кадрового учета завершено. Она позволяет принимать и увольнять сотрудников.
ЛАБОРАТОРНАЯ РАБОТА № 4 Требуется создать простую учетную систему для магазина с доставкой на дом. Система должна учитывать остатки товаров, оформлять заказы от клиентов и формировать путевые листы для курьеров. Объекты конфигурации
Справочники Обслуживаемая магазиномом территория делится на районы. При регистрации клиента указывается его название / ФИО, адрес, телефон и район, в котором он находится. В справочнике Курьеры перечислены фамилии курьеров или названия мобильных отрядов, осуществляющих доставку товаров покупателю. Справочник товары является иерархическим и содержит 3 уровня, т.е. товары могут быть объединены в группы. Для товара указывается цена, по которой он продается клиентам. Приход товара Экранная форма документа выглядит следующим образом: При проведении документа производятся движения в регистре Остатки: Процедура ОбработкаПроведения() ВыбратьСтроки(); Регистр.Остатки.Товар = Товар; КонецЦикла; КонецПроцедуры
Заказ Экранная форма документа выглядит следующим образом: При проведении документа производятся движения в регистре Заказы: Процедура ОбработкаПроведения() ВыбратьСтроки(); Регистр.Заказы.Товар = Товар; КонецЦикла; КонецПроцедуры
Снятие заказа Документ предназначен для отмены ранее сделанных заказов. Можно уменьшить количество заказанного ранее товара. Экранная форма документа выглядит следующим образом: Пользователь указывает клиента, при этом автоматически заполняется табличная часть документа текущими заказами по данному клиенту. Пользователь указывает нужное количество товара в колонке "Снять". При проведении документа производятся движения в регистре Заказы: Процедура ОбработкаПроведения() ВыбратьСтроки(); Если Количество > 0 Тогда Регистр.Заказы.Товар = Товар; КонецЕсли; КонецЦикла; КонецПроцедуры Путевой лист Данный документ является заданием для курьера, который доставляет товары покупателю. Экранная форма документа выглядит следующим образом: Сначала пользователь указывает район, при этом автоматически заполняется табличная часть - формируется путевой лист. Программа просматривает все текущие заказы по данному району, дата доставки которых совпадает с датой путевого листа или просрочена. Пользователь может подредактировать доставляемое количество в колонке "Доставить" в связи с отсутствием товара на складе или тяжести груза для одного курьера. После этого путевой лист распечатывается и проводится. Печатная форма путевого листа выглядит следующим образом: При проведении документа совершаются движения в регистрах Остатки и Доставка: Процедура ОбработкаПроведения() ВыбратьСтроки(); //доставляемые товары //уменьшаются остатки по данному товару КонецЦикла; КонецПроцедуры Отчет курьера Данный документ оформляет результат поездки курьера по путевому листу. Отмечается количество фактически доставленных товаров. Экранная форма документа выглядит следующим образом: Пользователь указывает путевой лист, по которому отчитывается курьер. При этом автоматически заполняется табличная часть документа. Пользователь может подкорректировать колонку "Доставлено" в соответствии с фактически доставленным количеством товара. При установке флажка "Недоставленные товары возвращены на склад" товары из регистра Доставка переходят в регистр Остатки, т.е. курьер нам ничего не должен. При проведении документа совершаются движения в регистрах: Процедура ОбработкаПроведения() ВыбратьСтроки(); Если Доставлено > 0 Тогда Регистр.Доставка.Товар = Товар; Регистр.Заказы.Товар = Товар; Регистр.Доходы.Товар = Товар; КонецЕсли; Если Фл_ВозвратОстатков=1 Тогда Если Доставлено < Заказано Тогда Регистр.Доставка.Товар = Товар; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|