Сегодняшняя наша статья написана человеком, которого Вы, уважаемые читатели, уже знаете по предыдущим статьям. Его зовут Павел Гришенков.
Получилось так, что на почтовый адрес сайта недавно пришло письмо от одного из наших читателей, в котором он просил написать статью по настройке 1С. Надо сказать, что Павел уже прислал мне данную статью раньше и я все никак не мог собраться опубликовать ее на сайте, но после письма я понял, что время этого материала пришло. Поэтому - встречайте! Слово - автору!
Этот случай произошел прошлым летом в одном сельскохозяйственном холдинге нашего города. История умалчивает, кто испортил руководителю настроение еще с утра? Но жалоба главного бухгалтера на то, что сисадмины из дочернего «ООО» совсем обленились и не хотят выполнять свои обязанности, поставила решающую точку в этом вопросе!
Возмущаясь, директор ворвался к it-шникам и, бешено жестикулируя руками, сообщил, что it-подразделение переходит на хозрасчет. В связи с этим, программистам следует подготовить до понедельника (а была пятница, примерно 15:00) платформу для учета поступающих заявок и актов выполненных работ, на основании которых и предстояло с новой недели оплачивать их труд. После этого босс безапелляционно покинул помещение!
В помещении воцарилась тишина. Она стала особенно гнетущей, когда кто-то додумался посмотреть в Интернете значение слова - ХОЗРАСЧЕТ (ведение хозяйства какого-нибудь предприятия, производства на основе хозяйственной самостоятельности, самофинансирования, самоокупаемости и рентабельности). Так их маленькое «ООО», обслуживающее только компании из агрохолдинга, существовать не могло.
Все понимали, что после выходных весь запал у руководства пойдет на спад, возобладает здравый смысл, и тогда можно будет о чем-то договориться (так оно и получилось в итоге). Но перспектива провести все выходные, пытаясь создать жизнеспособную систему, никого не радовала.
На общем срочном собрании программу «Excel» с макросами, как и прочие инструменты из пакета «Microsoft Office», отбросили сразу. Эти программные продукты позволяли быстро разработать необходимые бланки, но как их эффективно обрабатывать и учитывать за несколько месяцев или лет подряд не знал никто?
Изучать на досуге новый язык программирования тоже желающих не нашлось (всех ждали дача, шашлыки, баня). Поэтому оставалась лишь платформа 1С. За оставшиеся несколько часов предстояло разработать черновые наброски будущей конфигурации, которые нужно было показать на утренней летучке в понедельник. Вот - примерная последовательность действий.
Итак, запускаем 1С и добавляем новую информационную базу
Далее запуск 1С:Предприятие в режиме конфигуратора. Открываем дерево конфигурации. Это - основной инструмент, с которым работает разработчик. Оно содержит в себе практически всю информацию о том, из чего состоит конфигурация.
В самом начале работы дерево конфигурации пустое, поэтому его предстоит заполнить необходимыми элементами.
Во-первых, это справочники. Объект конфигурации «Справочник» является прикладным и предназначен для работы со списками данных. Он используется для того, чтобы на его основе платформа создала в базе данных информационную структуру, в которой будет храниться, например, список сотрудников, перечень товаров, список клиентов или поставщиков.
Для нашего случая потребуется насколько таких объектов.
Рассмотрим подробнее механизм создания справочника на примере «Сотрудник»
Имя справочника – "Сотрудник". Имя является основным свойством любого объекта конфигурации. При создании нового объекта система автоматически присваивает ему некоторое имя. Можно использовать его, но лучше заменить своим. Имя можно задать любое, главное, чтобы оно начиналось с буквы и не содержало некоторых спецсимволов. Если оно состоит из нескольких слов, – каждое начинается с большой буквы, плюс удаляются пробелы.
На основании имени платформа автоматически создает синоним. Он предназначен для хранения альтернативного наименования объекта конфигурации, которое будет использовано в элементах интерфейса нашей программы, то есть будет показано пользователю.
Далее переходим к вкладке «Иерархия».
Здесь отмечаем, что в справочнике будет присутствовать иерархия групп и элементов. Это необходимо для того, чтобы разнести ФИО сотрудников по организациям или отделам.
Вкладка «Данные».
Длину наименования увеличиваем до 50-ти символов. Создаем новую табличную часть. Для нас будет важно, не только ФИО сотрудника, но и организация, в которой он работает, должность и контактные данные (например телефон).
Подробно останавливаться на заполнении всех реквизитов справочника мы не будем. Скажу лишь только, что все они представлены либо строками, либо ссылками на уже созданные справочники. Другие справочники создаются и заполняются аналогично.
Сохраняем конфигурацию и обновляем базу данных. Можно также запустить отладку. Перед нами откроется окно системы в режиме 1С:Предприятие. Поскольку мы не создали никаких интерфейсов пользователей, для просмотра результатов нашей работы следует воспользоваться меню, которое создает система по молчанию. Выполним пункт меню «Операции – Справочники – Сотрудник».
Вот такой у меня получился результат.
Возвращаемся вновь в конфигуратор.
Важное отступление. Когда разработчик работает с основной конфигурацией, система всегда подсказывает ему, отличается ли его вариант конфигурации от того, который сохранен, и отличается ли сохраненный вариант основной конфигурации от конфигурации базы данных. В первом случае это - признак модифицированности конфигурации (*), во втором - знак отличия конфигурации (!).
Во-вторых, для нормальной работы нашей системы потребуются документы. Объект конфигурации «Документ» является прикладным и предназначен для описания информации о совершенных хозяйственных операциях или о событиях, произошедших в жизни организации вообще. Документ обладает способностью проведения (оперативное и неоперативное).
Для будущей конфигурации потребуется два документа: «Заявка» и «Акт выполненных работ». Второй рассмотрим подробнее.
Каждый документ, как правило, содержит информацию, которая подробно его описывает. Для описания такого набора сведений используются «реквизиты». В данном документе их три: "сотрудник", "организация", "компьютер". Все три реквизита имеют тип ссылки на одноименные справочники. Также важно заметить, данный документ, согласно логике процесса, заполняется после и на основании документа «Заявка», поэтому возможен автоматический перенос данных значений из «Заявки» благодаря «Вводу на основании».
В документе часто присутствует табличная часть. Наш - не исключение. В создаваемой таблице будет четыре столбца.
В дальнейшем, чтобы упростить работу с конфигурацией и частично автоматизировать заполнение документов, можно выбирать значения цен на услуги IT-отдела из созданного периодического регистра сведений. Также следует обратить внимание на закладку «Модуль».
Модуль - это хранилище для текста программы на встроенном языке. В конфигурации существует большое количество модулей, которые расположены в разных ее точках. Они могут принадлежать некоторым объектам конфигурации, а могут существовать сами по себе. Текст программы, содержащийся в модулях, будет использоваться платформой в заранее известные моменты работы системы.
Благодаря коду можно, скажем, заставить программу при каждом изменении значений "Количества" или "Цены" на оказываемые услуги автоматически пересчитывать поле "Сумма". Но пока что оставим эту закладку пустой и, запустив отладку, перейдем в 1С:Предприятие.
В-третьих, нам потребуются регистры накопления. Отличительной особенностью регистра накопления является то, что он не предназначен для интерактивного редактирования. Его модификация производится на основе алгоритмов работы других объектов базы данных. Основным назначением регистра накопления является сбор числовой информации в разрезе нескольких измерений. В показанном примере измерениями будут выступать объекты "сотрудник" и "организация".
Виды числовой информации, накапливаемой регистром, называются ресурсами и также являются подчиненными объектами.
Измерение состояния регистра накопления происходит, как правило, при проведении документа и заключается в том, что в регистр добавляется некоторое количество записей. Каждая запись содержит значение измерений, значения приращения ресурсов, ссылку на документ, который вызвал эти изменения (регистратор) и направление приращения.
Вот так работает конструктор движения документа. Движение документа – это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые этим документом.
В результате работы конструктора автоматически сформировался следующий листинг
После этого, в 1С:Предприятие при проведении каждого документа ("Акт выполненных работ" и "Заявка") будут формироваться соответствующие записи.
Регистры накопления могут быть регистрами остатков и регистрами оборотов. Два созданных нами регистра – регистры оборотов, так как у нашей услуги нет такого понятия, как "остаток". Если же, при создании конфигурации потребуется использовать регистр остатков, важно помнить, что изменение его ресурсов должно осуществляться в обе стороны: "приход" и "расход". Нарушение этого принципа построения регистра будет вести к непроизводительному использованию ресурсов системы.
В-четвертых, для отображения результатов работы It-отдела потребуется создать несколько отчетов. Создание отчета начинается с создания новой схемы компоновки данных.
Добавляем новый набор данных – "запрос". Для того, чтобы создать текст запроса, запускаем конструктор запроса. В списке "База данных" представлены таблицы запросов. На основе их данных мы имеет возможность построить отчет. Если раскрыть ветку «Регистры/Накопления», то мы увидим, что там присутствуют реальные и виртуальные таблицы. Выбираем из них те поля, которые могут нам понадобиться.
Текст запроса, который был создан с помощью конструктора, платформа помещает в поле "Запрос". Это поле представляет собой простой текстовый редактор, в котором можно вручную отредактировать существующий запрос.
Далее переходим на закладку "Настройки" и добавляем группировку.
Не указываем поле группировки, а просто нажимаем «ОК». В отчет будут выводиться детальные записи из информационной базы – записи, получаемые в результате выполнения запроса без итогов. Теперь настроим поля, которые будут выводиться в результате отчета. Для этого, перейдем на закладку "выбранные поля" и перенесем мышью из списка "доступные поля" те, которые нам понадобятся.
Все, можно запускать 1С:Предприятие в режиме отладки.
P.S. Для тех, кто заинтересовался написанием конфигурации на платформе 1С, прикладываю черновик базы.
Связаться с автором статьи можно по этому адресу: