Свойство «Значение заполнения» реквизита объекта конфигурации
Теперь покажем, как можно облегчить жизнь пользователя при приходовании материалов. Работа в автоматизируемой нами фирме построена таким образом, что, как правило, все поступающие товары приходуются на основной склад.
Поэтому в палитре свойств для созданного нами реквизита Склад документа найдем свойство Значение заполнения.
В качестве значения этого свойства выберем предопределенный элемент справочника Склады – Основной.
Таким образом, при создании нового документа склад будет сразу заполняться значением Основной, и пользователю не придется делать это вручную.
После этого добавим табличную часть с именем Материалы.
Кроме имени табличной части установим свойство Проверка заполнения в значение Выдавать ошибку. Тем самым мы задаем условие, что документ Приходная накладная обязательно должен содержать табличную часть, то есть список приходуемых материалов. Иначе будет выдано сообщение об ошибке, и документ не будет сохранен.
Создадим в табличной части четыре реквизита (рис. 3.2):
Материал с типом СправочникСсылка.Номенклатура,
Количество с типом Число, длиной 15, точностью 3, неотрицательное,
Цена с типом Число, длиной 15, точностью 2, неотрицательное,
Сумма с типом Число, длиной 15, точностью 2, неотрицательное.
Рис. 3.2. Создадим табличную часть и опишем ее реквизиты
Перейдем на закладку Нумерация и убедимся, что свойство Автонумерация включено, зададим длину номера – 9 и тип номера – Строка. Это обеспечит автоматическую генерацию уникальных номеров для создаваемых нами документов.
В заключение отредактируем командный интерфейс, чтобы в разделе Учет материалов была доступна команда создания новых документов. Для этого откроем окно редактирования объекта конфигурации Подсистема УчетМатериалов и нажмем кнопку Командный интерфейс.
В открывшемся окне Командный интерфейс отразятся все команды этой подсистемы.
В группе Панель действий. Создать включим видимость у команды Приходная накладная: создать.
Запустим 1С:Предприятие в режиме отладки и протестируем получившийся результат.
В открывшемся окне «1С:Предприятия» мы видим, что в разделах Бухгалтерия и Учет материалов появилась команда Приходные накладные для открытия списка приходных накладных (рис.).
Название этой команды определяется свойством Представление списка, которое мы задали для этого документа.
Кроме того, в разделе Учет материалов в подменю Создать добавилась команда Приходная накладная для создания новых документов этого вида. Название этой команды определяется синонимом, так как Представление объекта мы для этого документа не задавали (см. рис. 4.12).
Пока в нашей базе данных нет ни одного документа Приходная накладная, поэтому выполним команду Приходная накладная из подменю Создать в разделе Учет материалов и создадим новую приходную накладную.
Откроется форма документа. Заголовок этой формы Приходная накладная совпадает с синонимом документа.
Нам осталось только заполнить табличную часть приходной накладной материалами для ремонта телевизоров так, как показано на рисунке (рис. 3.4):
Рис. 3.4. Заполнение документа «ПриходнаяНакладная №1»
Обратите внимание, что при переходе к еще незаполненной колонке Материал (в табличной части документа) автоматически открывается окно выбора значения из справочника Номенклатура, так как этот реквизит имеет ссылочный тип данных и ссылается на справочник Номенклатура (см. рис. 4.13).
Как только мы начнем вводить название материала в это поле, платформа автоматически найдет материалы, наименование которых начинается с введенных нами символов, и предложит их нам для выбора. А также при нажатии кнопки Показать все открывается форма для выбора элементов этого справочника.
Нажмем Провести и закрыть. Документ будет сохранен и проведен, ему будет присвоен автоматически сгенерированный системой номер и текущее время проведения документа. Нажмем Провести и закрыть.
Аналогичным образом мы создадим второй документ, который будет приходовать следующие материалы для установки стиральных машин (рис. 3.5):
Рис. 3.5. Заполнение документа «ПриходнаянНакладная №2»
Наверняка вы обратили внимание на то, что при заполнении документа приходится вводить сумму в каждой строке. Это неудобно, и возникает естественное желание автоматизировать работу документа так, чтобы сумма вычислялась автоматически каждый раз при изменении цены или количества материалов в строке.
Это совсем не сложно, и для этого нам потребуется сначала создать собственную форму документа, а затем воспользоваться возможностями встроенного языка.
Обратите внимание, что при вводе нового документа табличная часть в целом и каждая ее колонка подсвечены красным пунктиром. Это значит, что для них выполняется проверка заполнения. Если не ввести ни одной строки в табличную часть документа или оставить незаполненной какую-либо колонку табличной части и попытаться провести документ, то будет получено сообщение об ошибке.
Чтобы просмотреть список созданных документов, выполним команду Приходные накладные.
В форме списка мы видим два созданных нами документа, отмеченных пиктограммой, указывающей на то, что документы проведены (зеленая галочка в пиктограмме документа,).
Создавая в конфигураторе объект вида Справочник, мы даем ему наименование во множественном числе (Товары). При этом подразумевается, что в базе данных этот объект будет состоять из элементов, описывающих конкретные товары (в единственном числе).
Создавая в конфигураторе объект вида Документ, мы даем ему наименование в единственном числе (ПриходнаяНакладная), однако на самом деле мы создаем такое же хранилище, как и в случае со справочником. Каждая запись этого хранилища будет описывать один документ, одну приходную накладную (в единственном числе). Поэтому концептуально правильно было бы в конфигураторе задавать наименование объекта вида Документ во множественном числе, подчеркивая тем самым описание набора документов этого вида (например, ПриходныеНакладные).
Однако психология человека такова, что, открывая ветку Документы, он ожидает увидеть перечисление их в единственном числе, а никак не во множественном. Так происходит потому, что в реальной жизни трудно найти подходящий термин для описания совокупности документов одного вида (совокупность записей одного вида обозначить гораздо проще – справочник, план и т. д.). Поэтому соответствующая ветка объектов конфигурации имеет название Документы, а объекты конфигурации, создаваемые в этой ветке, именуются в единственном числе, хотя, по сути, сама ветка содержит описания хранилищ документов разных видов, а каждый элемент в этой ветке описывает набор всех документов одного вида.