29.02.2024

Создание конфигурации 1с 8.3 с нуля пример. У вас есть вопрос, нужна помощь консультанта


Войдите на сайт как ученик

Создание конфигураций 1С: процесс разработки

Продолжаем изучение азов создания конфигураций на 1С.

В целом разработка конфигурации выглядит примерно так, как описано ниже.

Программист придумывает какие виды справочников, документов, отчетов и обработок будут нужны пользователю. Для каждого вида он придумывает своё имя.

Придумывает справочник "Сотрудники"

Ну, например, он заводит новый вид справочников "Сотрудники".

Далее он рассуждает так: "Ага, раз я решил хранить всех сотрудников в справочнике, то у них уже будут поля "Код" и "Наименование", ведь эти поля обязательны для всех справочников... Значит, в поле "Код" я буду хранить табельный номер сотрудника, а в поле "Наименование" его фамилию, имя и отчество. Но этих полей мне недостаточно, ведь о каждом сотруднике мне ещё нужно знать как минимум его дату рождения, номер и серию паспорта. Поэтому я заведу дополнительные поля с именами "ДатаРождения", "НомерПаспорта", "СерияПаспорта"для справочника "Сотрудники"".

Придумывает документ "ПриемНаРаботу"

Далее программист понимает, что нужно будет каким-то образом отражать в базе
кадровые операции по приёму сотрудников на работу. И тут он вспоминает про раздел конфигурации "Документы".

И заводит новый вид документов "ПриемНаРаботу".

Далее он рассуждает: "Ага, раз я решил хранить все приёмы на работу в виде документов, то у них уже будут поля "Номер" и "Дата", ведь эти поля обязательны для всех документов. Значит в поле "Номер" я буду хранить номер кадрового приказа о приёме на работу, а в поле "Дата" дату этого приказа. Но этих полей мне недостаточно, ведь нужно обязательно указать к какому сотруднику относится данный приказ. Поэтому я заведу дополнительное поле с именем "Сотрудник" для документа "ПриемНаРаботу"".

Придумывает отчет "СписокСотрудников"

Тут программисту приходит в голову, что хорошо бы иметь возможность выводить на печать список сотрудников. Вы читаете ознакомительную версию урока, полноценные уроки находятся . И тут он снова вспоминает про такой раздел конфигурации как "Отчеты".

И заводит новый вид отчетов "СписокСотрудников", который выводит на печать всех сотрудников из справочника "Сотрудники".

Придумывает обработку "УдалениеУволенныхСотрудников"

И напоследок он решается написать обработку "УдалениеУволенныхСотрудников", которая при запуске будет удалять из справочника "Сотрудники" людей, которые уже не работают на предприятии.

Что из этого получается в конфигураторе

После всех этих манипуляций дерево конфигурации выглядит вот так:

Так как вы пока (только пока! ) всех этих манипуляций проделать не можете - я сделал это за вас (у меня это заняло минуту) :

Скачайте выгрузку и загрузите внутрь нашей базы "Азы" так как это описано в инструкции " ".

После этого дерево конфигурации у вас должно выглядеть так как на рисунке выше.

Что из этого получается в режиме пользователя

Замечательно. Можно сказать, что кое-что мы уже разработали. Давайте же, наконец, посмотрим на всё это безобразие со стороны пользователя.

Чтобы попасть в режим пользователя (1С:Предприятие) нам вовсе необязательно закрывать конфигуратор, запускать 1С и нажимать кнопку "1С:Предприятие" в списке баз. Вы читаете ознакомительную версию урока, полноценные уроки находятся .

Если мы уже находимся в конфигураторе нужной базы достаточно выполнить команду главного меню "Отладка"->"Начать отладку":

Выполним эту команду и попадём в режим 1С:Предприятие, который для нашей базы будет выглядеть так:

Обратите внимание на жёлтую панель: вот он наш справочник "Сотрудники", документ "Прием на работу", отчет "Список сотрудников" и обработка "Удаление уволенных сотрудников" (нужно раскрыть меню, чтобы увидеть их).

Вы заметили, что я стал уже писать не "ПриемНаРаботу", а "Прием на работу"; не "СписокСотрудников", а "Список сотрудников"?

Это объясняется тем, что в режиме конфигуратора в именах нельзя использовать пробелы, поэтому там используются такие "слепёшенные" имена, но в режиме пользователя пробелы допустимы, поэтому в качестве имен используются более дружелюбные варианты.

Для учеников

Обязательно повторяйте все действия, которые мы выполняем на уроках данного модуля. Теория, не подкреплённая практикой - ничего не значит.

Войдите на сайт как ученик

Войдите как ученик, чтобы получить доступ к материалам школы

В работе программиста 1С нередки требования по разработке конфигураций с нуля. Это не сложно. Чтобы убедиться в этом — проверим на собственном опыте.

Мы начинаем серию публикаций по разработке конфигурации 1С с нуля. Начнем с конфигурации «Мой склад и управление торговлей» (для толстого клиента 1С).

Самостоятельное создания базы 1С с нуля

1. Создадим папку на диске, например C:\1C\myUt.

4. После входа слева открывается окно дерева конфигурации (если не открылось — вернитесь к предыдущему пункту).

5. Откроем свойства конфигурации (правой кнопкой на строке Конфигурация, пункт Свойства).

6. Впишем имя конфигурации. Имя должно быть одной строкой. По правилам хорошего тона — горбатой (без пробелов, но каждое слово начинается с большой буквы). В нашем случае это будет «МоеУправлениеТорговлей».

7. Изменим основной режим запуска. Мы пока не будем претендовать на разработку управляемых форм и разработаем конфигурацию для обычного (толстого клиента). Поэтому установим «Обычное приложение».

8. В поле Краткая информация введем «Мой склад и управление торговлей. Редакция 1.». Это описание конфигурации. То же скопируем в поле Подробная информация.

9. В поле Заставка нажмите Открыть. Он предложит Вам выбрать картинку для заставки. Формат — .jpg. Размер 195х70 пикселей.

10. В поле Поставщик впишите свое имя. В поле версия — значение «1.0».

11. Остальные значения оставим по умолчанию. Нажмите сохранить (Файл / Сохранить) и обновить (Конфигурация / Обновить конфигурацию базы данных).

12. Мы только что создали основу конфигурации 1С с нуля. Конечно большое количество настроек предстоит впереди, но мы справимся.

До встречи в серии 2.
Удачи!

Скачать готовую базу по этой инструкции >>

Быстрая пошаговая демонстрация разработки приложения на платформе 1С:Предприятие 8.2.

Для выполнения примера вам понадобится платформа 1С:Предприятие 8.2. На нашем сайте вы можете скачать . Данная демонстрация подготовлена с использованием именно такой версии!

Простая система кадрового учета

Сейчас мы с вами создадим мини-систему кадрового учета сотрудников на предприятии. Она позволит нам принимать и увольнять сотрудников, а также работать с кадровыми документами.

Каждая конфигурация должна храниться в отдельном каталоге (папке).

1. Создайте новую папку на любом диске нашего компьютера, например, "C:\Наши кадры".

2. Запустите 1С:Предприятие. Откроется список информационных баз. Если вы не создавали ни одной информационной базы и не добавляли существующие базы, то список будет пустым.

1С:Предприятие может работать с несколькими базами данных на одном компьютере. Например, в одной базе ведется кадровый учет, в другой базе - учет товаров, в третьей - бухгалтерский учет для Фирмы А, в четвертой - бухгалтерский учет для фирмы Б.

3. Нажмите кнопку "Добавить".

На первом шаге мастера выберите вариант "Добавление в список существующей информационной базы".

На втором шаге укажите имя информационной базы, как оно будет отображаться в списке баз, например "Наши кадры". Имя базы может быть произвольным, от него ничего не зависит.

4. В следующем шаге укажите путь к папке, которую вы создали в 1 пункте нашего пошагового руководства (в нашем случае это C:\Наши кадры). Нажмите кнопку " …" , войдите в папку и нажмите "Выбрать".

Каталог с информационной базой может располагаться на локальном жестком диске компьютера, например "C:\Наши кадры", а может на другом компьютере в локальной сети, например, "\\SERVER\KADR". При этом должны быть предоставлены полные права доступа к этой папке (чтение, запись и т.д.).

Для ее редактирования можно нажать кнопку Изменить. Например, информационную базу перенесли в другое место или вы хотите задать для нее другое название. Для удаления информационной базы из списка нужно нажать кнопку Удалить. При этом информационная база удаляется из списка, но не удаляется физически с диска.

6. Выберем режим запуска "Конфигуратор". Для этого нажмем на кнопку «Конфигуратор».

1С может запускаться в двух режимах:

  • 1С:Предприятие - режим использования информационной базы. В этом режиме работают обычные пользователи, вводят данные, печатают отчеты и т.д. В этом режиме нельзя редактировать структуру конфигурации.
  • Конфигуратор - режим конфигурирования (программирования). В этом режиме работают программисты, создают новые справочники, отчеты, пишут программные модули. В этом режиме нельзя вводить данные в информационную базу.

7. Так как в созданной папке пока ничего нет, то 1С запросит подтверждение на создание новой информационной базы.

8. Нажмите "Да". Далее выбираем вариант "Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы" (2 вариант) и нажмите кнопку "Далее". На следующем шаге нажмите кнопку "Готово".

9. Запустится конфигуратор. Откройте дерево конфигурации, в котором мы будем работать очень часто. Для этого выберите в меню "Конфигурация" - "Открыть конфигурацию" или нажмите на соответствующую пиктограмму.

Появится окно дерева конфигурации. Задайте ему удобные размеры.

В этом окне представлены все объекты конфигурации, такие как справочники, документы, отчеты и т.д. Для раскрытия конкретной ветки нужно два щелкнуть на плюсике или два раза щелкнуть на ее названии.

Создание объектов конфигурации

10. Установите курсор на строку "Справочники" и щелкните кнопку (или щелкните правой кнопкой мыши и выберите Добавить). При этом откроется Окно редактирования объекта конфигурации (своеобразный конструктор для создания справочника).

Окно редактирования объекта конфигурации предназначены для быстрого создания новых объектов конфигурации. Последовательность ввода данных разработана таким образом, чтобы предыдущие данные могли служить основой для ввода последующих. Движение управляется кнопками в нижней части окна "Далее" и "Назад". На каждом шаге предлагается ввести группу логически связанных между собой данных. Перемещаться по шагам можно также щелкая мышкой по соответствующей вкладке (Основные, Подсистемы, Функциональные опции и т.д.).

11. На первом шаге (вкладке) задайте "Имя" нашего справочника (идентификатор), например, "Должности". После ввода Имени нажмите на клавиатуре клавишу "Enter", либо переместитесь мышкой на следующее поле. На основании "Имени" система автоматически создаст "Синоним".

Имя объекта (в нашем случае справочника) является важным и обязательным свойством любого объекта конфигурации. Именно оно будет использоваться при написании программного кода на языке 1С. Имя нельзя будет исправить просто так, поскольку придется также исправить все места в программе, где используется этот справочник.

Относитесь к "Имени" справочника очень серьезно. Имя должно быть лаконичным, понятным, отражающим суть справочника, например: "Страны", "Сотрудники", "Товары" и т.д.

Имена объектов конфигурации, реквизитов, переменных, процедур и функций в 1С могут содержать буквы русского и английского алфавитов (строчные и прописные), символы подчеркивания и символы цифр. Имя не может начинаться с цифр.

Свойство "Синоним" также есть у любого объекта конфигурации. Оно предназначено для хранения "альтернативного имени" объекта конфигурации (в нашем случае справочника). Именно оно будет использоваться в элементах интерфейса нашей программы, то есть будет показано пользователю. Для «Синонима» нет никаких ограничений и его можно задать в удобочитаемом виде, например, «Перечень должностей» и т.д.

У каждого справочника есть уже заранее заданные (предопределенные) два поля "Код" и "Наименование". Вы можете редактировать длину наименования, длину кода, а также тип кода: "Число" или "Строка".

13. Закройте Окно редактирования справочника "Должности".

14. Создадим новый справочник "Сотрудники" (см. пункт 10).

Задайте имя справочника (идентификатор) "Сотрудники".

Задайте длину наименования 100 символов.

В наименовании у нас будет храниться ФИО сотрудника. Иногда бывают довольно длинные имена и фамилии, так что 100 символов в самый раз.

15. В этом справочнике кроме уже заданных полей (Код и Наименование) у нас будет еще несколько полей (реквизитов, атрибутов). Сейчас список дополнительных реквизитов (полей) у нас пустой. Нажмите кнопку "Добавить".

В результате откроется окно редактирования свойств реквизита (палитра свойств). Кстати, реквизит, атрибут и поле - это в принципе одно и то же. Просто в терминологии 1С принято использовать "реквизит".

16. Задайте в палитре свойств имя реквизита - "Должность". Укажите тип реквизита - "СправочникСсылка.Должности", который мы создали раньше. Это говорит о том, что значения данного реквизита будут выбираться из справочника "Должности". Закрываем окно палитры свойств.

17. Создайте реквизит "Оклад" (тип Число, Длина 10, Точность 2). У значения типа "Число" точность указывает на количество знаков после запятой (в нашем случае 2 знака).

18. Создайте реквизиты ДатаПриема и ДатаУвольнения (тип Дата).

19. Теперь у нас есть два справочника и можно ввести некоторые данные.

Обновим конфигурацию базы данных (сохраним в конфигурацию все сделанные нами изменения). Сделать это можно с помощью меню программы (Конфигурация – Обновить конфигурацию базы данных), либо соответствующей пиктограммой на панели инструментов, либо клавишей F7.

Так как мы редактировали (изменяли) структуру информационной базы, то 1С проанализирует эти изменения и покажет окно со их списком. Нажмите кнопку "Принять".

20. Запустите систему в режиме 1С:Предприятие. Это можно сделать прямо из Конфигуратора, нажав на панели инструментов на или клавишу F5. Появится окно 1С:Предприятия.

21. Откройте справочник Должности. Для этого щелкните в панели навигации (в левой части окна приложения) по надписи (ссылке) Должности. Откроется окно справочника.

22. Введите несколько должностей, используя кнопку или клавишу INS. Например, директор, бухгалтер, программист.

Заметьте, что коды присваиваются автоматически, хотя их можно редактировать. При этом необходимо соблюдать уникальность кодов. Параметры уникальности можно настраивать в конфигураторе, например можно вообще отключить контроль уникальности кода.

По умолчанию установлена сортировка по Наименованию. Это позволяет набрать первые буквы названия должности, и курсор автоматически перейдет на нужную должность. Можно установить и другой тип сортировки: по коду или по реквизиту. Для этого достаточно щелкнуть левой кнопкой мышки по названию (заголовку) реквизита.

23. Откройте справочник Сотрудники.

24. Заведите нескольких сотрудников. Например, Иванов Иван Иванович - директор, Петров Петр Петрович - бухгалтер, Сидоров Сергей Сергеевич - программист. Заполняем только реквизиты Наименование (ФИО) и Должность. Заметьте, что при указании должности открывается справочник Должности. Для сохранения нового элемента справочника (новой записи) нажмите «Записать и закрыть».

25. Закройте окно 1С:Предприятие и вернитесь в режим Конфигуратора.

В реальной жизни принятие сотрудника на работу производится кадровым документом "Приказ о приеме на работу". Это мы и реализуем во 2 части нашего Пошагового примера.

Построена простая конфигурация учета движения картриджей для лазерной техники в организации с использованием платформы 1С Предприятие 8.3 и интерфейса "Такси". Учитывается движение каждого картриджа (покупка, заправка, восстановление, ремонт, установка в принтер и пр.) и расход средств по каждому картриджу. Основная цель - освоить разработку приложений на базе платформы 1С Предприятие 8.3 на примере построения работоспособного и полезного приложения.

Я программист со стажем, но 1С серьезно раньше не занимался. Чтобы совместить приятное (знакомство с 1С Предприятие 8.3) с полезным (работу никто не отменял) попробуем построить работоспособную конфигурацию с использованием возможностей новой версии. Может быть процесс разработки конфигурации будет для кого-то полезным и поможет начинающим освоить 1С.

Работаю в отделе IT крупной организации с большим количеством лазерных принтеров и МФУ. Учет движения картриджей для них является актуальной задачей и требованием руководства.

Постановка задачи.

Заправка тонером, восстановление, ремонт картриджей осуществляется сторонней организацией. Необходимо учитывать движение каждого картриджа, то есть покупку, заправку тонером, восстановление, ремонт, установку в конкретный принтер (МФУ), текущее местоположение, списание и пр. Кроме того надо учитывать затраты по каждому картриджу (расходы на покупку, заправку тонером и пр. в разрезе поставщиков).

Понятное дело - нужны какие-то отчеты. Само собой для юзеров все должно быть как можно проще и понятней.

План реализации.

Используем платформу 1С Предприятие 8.3 как самую современную на текущий момент.

Для освоения платформы постараемся использовать как можно больше различных объектов конфигурации и, естественно, новый интерфейс «Такси» . Постараемся давать объектам понятные и близкие к функциональному назначению имена. Не будем пока касаться «тонких» моментов работы 1С, как-то оптимизация клиент-серверного взаимодействия, распределения ролей и пр.

Предположим для начала, что в нашей конфигурации будут следующие объекты:

Справочники:

НоменклатураКартриджей

Картриджи

НоменклатураКартриджейЦены

Принтеры

Номенклатура Принтеров

Поставщики

Документы:

ПоступлениеКартриджей

ЗаменаКартриджа

СписаниеКартриджей

Перечисления:

ДаНет

СостояниеКартриджей

ПричиныЗаменыКартриджей

Регистры сведений:

КартриджиЗамена

Регистры накоплений:

КартриджиОплата

Алгоритм работы.

Основным «действующим лицом» является список имеющихся картриджей (Справочник Картриджи ). Изначально список заполняется документом ПоступлениеКартриджей НоменклатураКартриджей . При покупке картриджа значение реквизит Состояние в документе выбирается как Новый . Цена покупки определяется по справочнику НоменклатураКартриджейЦены натекущую дату СерийныйНомер ). Реквизит Местоположение определяется как «Склад» .

Учет заправок, восстановления, ремонта и пр. существующих уже картриджей осуществляется также документом ПоступлениеКартриджей . Тип картриджей определяется по справочнику НоменклатураКартриджей . Состояние картриджа определяется из перечисления СостояниеКартриджей . Цена работы (заправка, восстановление) определяется по справочнику НоменклатураКартриджейЦены . Уникальность картриджа определяется его серийным номером (реквизит СерийныйНомер ).

При проведении документа ПоступлениеКартриджей в табличную часть ЗаменаКартриджей справочника Картриджи добавляется строка с реквизитами текущего документа и у соответствующих картриджей (с серийным номером из документа) в справочнике Картриджи меняется значение реквизитов Состояние и Местоположение .

Кроме того, в регистрнакоплений КартриджиОплата

Учет замены картриджа в конкретном принтере (справочник Принтеры ) осуществляется документом ЗаменаКартриджа . В документе указывается текущий принтер. Уникальность принтера определяется реквизитом СерийныйНомер . Указывается устанавливаемый и заменяемый картридж (серийные номера картриджей).

При проведении документа ЗаменаКартриджа в табличной части справочника Принтеры у текущего принтера добавляется строка с реквизитами документа и изменяется реквизит Картридж . В справочнике Картриджи у текущих картриджей меняется значение реквизитов Состояние и Местоположение . Для установленного картриджа в реквизите Местоположение прописывается текущий принтер, а у снятого картриджа - «Склад» .

Кроме того, в регистр КартриджиЗамена заносится движение по данному документу.

Списание картриджей осуществляется отдельным документом СписаниеКартриджей .

Таким образом, в текущий момент времени в справочнике Картриджи каждый картридж имеет вполне определенное состояние (новый, заправленный, пустой и пр.) и определенное местоположение («Склад» или конкретный принтер), что путем несложных отчетов позволяет оценить наличие картриджей с заданным состоянием и сделать вывод о необходимости покупки, заправки и пр. Ну и учесть расходы естественно.

Реализация.

Приступим собственно к конфигурированию.

Создадим пустую базу в конфигураторе, назовем ее гордо «Айтишник» и организуем подсистему Учет картриджей . Не буду описывать по шагам, как это сделать, поскольку по данному вопросу книг хватает.

Сначала добавим перечисления: ДаНет , СостояниеКартриджей и ПричиныЗаменыКартриджей , которые нам понадобятся в дальнейшем. Состав перечислений виден на Рис.2

Сконфигурируем простые справочники НоменклатураКартриджей и НоменклатураПринтеров.

Реквизиту ТипКартриджа в справочнике НоменклатураПринтеров присвоим тип ссылка на справочник НоменклатураКартриджей (Рис.3). Не забываем, что все сформированные нами объекты конфигурации надо включить в состав подсистемы УчетКартриджей .

В справочнике Принтеры несколько реквизитов имеют тип ссылки:

Для дальнейшего тестирования программы заполним в режиме Предприятие по нескольку строк в открытых нами справочниках. Естественно, сначала заполняем простые справочники, потом - справочники с реквизитами ссылками. В дальнейшем загрузку полных реальных данных предприятия предполагается осуществить с помощью обработки из таблиц Excel.

Теперь настала пора добавления в конфигурацию документов. Сконфигурируем в дереве объектов конфигурации объект документ ПоступлениеКартриджей с реквизитами и табличной частью НоменклатураДокумента . Регистров накопления у нас в конфигурации пока нет - закладка Движение для документа остается пустой. Поскольку нам надо будет писать свою обработку документа, а пишется программный код в модуле формы документа, то и создадим эту самую форму (Рис.9). Делаем все по умолчанию, как написано в книжках (Форма - Добавить - ФормаДокумента).

Использовать данный документ будем при поступлении на склад как новых, так и заправленных (восстановленных, отремонтированных) картриджей.

Наконец, для учета поступления картриджей заводим регистр накопления КартриджиОплата с измерениями, ресурсами и реквизитами (Рис.10).

В закладке Регистраторы указываем наш документ ПоступлениеКартриджей . Сохраняем конфигурацию.

Возвращаемся по дереву объектов в документ ПоступлениеКартриджей . На закладке Движение выбираем регистр КартриджиОплата , запускаем Конструктор движений и заполняем поле Выражение значениями реквизитов документа (Рис.11).

Жмем ОК и попадаем в Модуль объекта программный код (Рис.12).

Теперь самое интересное - надо добавить в Модуль объекта программный код, для обеспечения следующего функционала при проведении документа ПоступлениеКартриджей .

При поступлении нового картриджа (покупка) в справочнике Картриджи должна добавляться строка с уникальным номером картриджа и соответствующими (из документа) реквизитами. При этом реквизит СостояниеКартриджа будет иметь значение «Новый » , а реквизит Местоположение - значение «Склад ». Табличная часть справочника Картриджи при этом не заполняется.

По алгоритму работы программы изначально надо занести каждый картридж со своим уникальным номером в справочник Картриджи документом ПоступлениеКартриджей.

При поступлении заправленного тонером (восстановленного, отремонтированного и пр.) картриджа считается, что картридж с таким номером уже есть в справочнике Картриджи , и в этом случае при проведении документа ПоступлениеКартриджей, добавляется строкав Табличную частьЗаправки и меняются значения реквизитов Местонахождение и Состояние у текущего картриджа. Добавленный в Модуль объекта код показан на Рис.13.

Теперь можно провести первую пробу работоспособности программы. В Предприятие создаем документ ПоступлениеКартриджей (Рис.14). Нажимаем кнопку Провести и закрыть . Переходим в справочник Картриджи и видим, что в нем появилась строчка с реквизитами купленного картриджа с пустой табличной частью(Рис.15).

Откроем регистр КартриджиОплата (пункт в меню Регистр оплаты картриджей ) и увидим там аналогичную строку.

Создаем и проводим второй документ ПоступлениеКартриджей с тем же картриджем, но заправленным (Рис.16).

Переходим в справочник Картриджи и видим, что у заведенного нами картриджа добавилась строчка в табличной части Заправки и изменился реквизит Состояние (Рис.17).

Ура! Программа работает!

Конечно функциональность документа ПоступлениеКартриджей надо доработать, например, хотелось бы, чтобы автоматически подставлялась последняя по дате цена услуги в поле Стоимость документа из справочника НоменклатураКартриджейЦены при выборе поставщика и для данного типа картриджа.

Это будет позднее, а сейчас займемся заменой картриджей - создадим документ ЗаменаКартриджа и соответствующий регистр сведений КартриджиЗамена .

Реквизиты и табличная часть документа НоменклатураДокумента показаны на Рис.18. Подходящих регистров накопления и сведений у нас в конфигурации пока нет, в закладка Движение для документа не будем ничего отмечать. Поскольку нам надо будет писать свою обработку документа, то создаем ФормуДокумента по умолчанию.

Для учета замены картриджей заводим для разнообразия регистр сведений (не регистр накоплений) КартриджиЗамена с измерениями и реквизитами (Рис.19). Получилось пока без ресурсов как-то.

В закладке Регистраторы указываем наш документ ЗаменаКартриджа .

Сохраняем конфигурацию. Возвращаемся по дереву объектов в документ ЗаменаКартриджа. На закладке Движение выбираем регистр КартриджиЗамена , запускаем Конструктор движений и заполняем поле Выражение значениями реквизитов документа. Жмем ОК и попадаем в Модуль объекта документа, где и видим уже созданный Конструктором движения регистров программный код (Рис.20).

Теперь добавляем в Модуль объекта программный код, для обеспечения следующего функционала при проведении документа ЗаменаКартриджа . В справочнике Принтеры для принтера, у которого заменяется картридж должна добавиться строка в табличной части ЗаменаКартриджей со значениями реквизитов из документа и изменится значение реквизита НомерКартриджаСейчас. В справочнике Картриджи у снятого и установленного картриджей изменятся значения реквизитов Местоположение и Состояние . Доработанная процедура обработки проведения документа ЗаменаКартриджа показана ниже.

Процедура ОбработкаПроведения(Отказ, Режим)

// используемые справочники

Принтеры = Справочники.Принтеры;

Картриджи = Справочники.Картриджи;

// конец вставки используемые справочники

// регистр КартриджиЗамена

Движения.КартриджиЗамена.Записывать = Истина ;

Для Каждого ТекСтрокаНоменклатураДокумента Из НоменклатураДокумента Цикл

Движение = Движения.КартриджиЗамена.Добавить();

Движение.НоменклатураКартриджей = НоменклатураКартриджа;

Движение.СнятКартриджНомер = ТекСтрокаНоменклатураДокумента.СнятКартриджНомер;

Движение.УстановленКартриджНомер=

Движение.МодельПринтера = МодельПринтера;

Движение.ПринтерСерийныйНомер = ТекСтрокаНоменклатураДокумента.ПринтерСерийныйНомер;

Движение.ПринтерИнвентарныйНомер =

Движение.ТипКартриджа = ТекСтрокаНоменклатураДокумента.ТипКартриджа;

Движение.ЗаменаКтоДелал = ЗаменаКтоДелал;

Движение.ПричинаЗамены = ТекСтрокаНоменклатураДокумента.ПричинаЗамены;

// изменяем справочник Принтеры

СтрокаНаименования = ТекСтрокаНоменклатураДокумента.ПринтерСерийныйНомер;

Тогда ТекущийОбъект =

Принтеры.НайтиПоРеквизиту("СерийныйНомер",СтрокаНаименования).ПолучитьОбъект();

ТекущийОбъект.НомерКартриджаСейчас =

ТекСтрокаНоменклатураДокумента.УстановленКартриджНомер;

НоваяСтрока = ТекущийОбъект.ЗаменаКартриджей.Добавить();

НоваяСтрока.ДатаЗамены = Дата;

НоваяСтрока.ВидКартриджа = ТекСтрокаНоменклатураДокумента.ТипКартриджа;

НоваяСтрока.НомерУстановленногоКартриджа =

ТекСтрокаНоменклатураДокумента.УстановленКартриджНомер;

НоваяСтрока.НомерСнятогоКартриджа =

ТекСтрокаНоменклатураДокумента.СнятКартриджНомер;

НоваяСтрока.КтоЗаменил = ЗаменаКтоДелал;

НоваяСтрока.ПричинаЗамены = ТекСтрокаНоменклатураДокумента.ПричинаЗамены;

ТекущийОбъект.Записать();

КонецЕсли;

// изменяем справочник Картриджи - установленный картридж

СтрокаНаименования = ТекСтрокаНоменклатураДокумента.УстановленКартриджНомер;

тогда ТекущийОбъект =

Строка = " ";

Строка = Строка + МодельПринтера + " " +

ТекСтрокаНоменклатураДокумента.ПринтерСерийныйНомер + " " +

ТекСтрокаНоменклатураДокумента.ПринтерИнвентарныйНомер;

ТекущийОбъект.МестоНахождения = Строка;

ТекущийОбъект.Записать();

КонецЕсли;

// снятый картридж

СтрокаНаименования = ТекСтрокаНоменклатураДокумента.СнятКартриджНомер;

Тогда ТекущийОбъект =

Картриджи.НайтиПоРеквизиту("Номер",СтрокаНаименования).ПолучитьОбъект();

ТекущийОбъект.МестоНахождения = "Склад";

ТекущийОбъект.Состояние = Перечисления.СостояниеКартриджа.Пустой;

ТекущийОбъект.Записать();

КонецЕсли;

// конец изменения справочников

КонецЦикла;

КонецПроцедуры;

Для проверки заполняем и проводим документ ЗаменаКартриджа (Рис.21) . Заходимв справочник Принтеры и видим, что у выбранного принтера добавилась строка в табличную часть Заправки с реквизитами проведенного нами документа и реквизит НомерКартриджаСейчас принял значение номера установленного картриджа (Рис.22).

В справочнике Картриджи у картриджа, установленного в принтер, в реквизит Местоположение записались данные текущего принтера (Рис.23) . И кроме того в регистр сведений КартриджиЗамена записалось движение по документу (Рис.24)

Таким образом на данный момент получилась конфигурация по учету движения картриджей для лазерной техники, которую в принципе уже можно использовать в работе.

С точки зрения «идеологии» 1С наверно неправильно изменять реквизиты справочников проведением документов, использовать справочник для хранения текущих цен - тут сказывается предыдущий опыт работы с таблицами автора статьи, а чем справочник не таблица?

Естественно требуется доработка функциональности, добавление отчетов, исправление ошибок и отладка. Об этом в следующей части статьи.

Полная версия статьи приведена в файле Часть1.doc

В данном материале на основе 1С предприятия 8.3 и 8.2 подробно рассмотрим рекомендации и основные этапы разработки конфигурации с нуля.

В общем весь процесс можно условно разделить на этапы:

В чем идея конфигурации «1С»?

Создание всех программных продуктов, конечно, нужно начинать с идеи. Вообще по своей природе она должна быть уникальной. Однако исключения могут быть в том случае, когда вы будущему пользователю не можете предоставить уникальные функции, которые бы не содержались в одном из других софтов. Свою идею от широкой общественности желательно хранить в секрете, потому что она для сегодняшнего софта, по сути, является самой главной.

Выбор площадки для будущего функционала программного продукта

В этом случае нужно определится: будет новый функционал автономным или встраиваться в одну из популярных, типовых конфигураций. Существуют случаи, когда он может сочетать и то, и другое.

Все способы имеют минусы и плюсы:

Тестирование данной конфигурации

Тестирование программного продукта - один из самых ответственных и сложных этапов в создании софта. Нельзя допустить, чтобы ошибки нашел пользователь, ведь это очень занизит оценку софта.

Защита конфигурации

Каждой написанной с нуля конфигурации необходима защита от воров и злоумышленников. Существуют различные системы защиты, например, аппаратные или программные.

После создания конфигурации нужно оформить авторские права на нее. Это защитит ее от злоумышленников.


© 2024
slushat-audioskazki.ru - Компьютерные подсказки - Это полезно знать