d9e5a92d

1C Предприятие 7.7 Компонента Оперативный учёт

Предлагаемая задача на курс обучения

Для облегчения изучения компоненты «Оперативный Учет» системы программ «ЮПредприятие 7.7» мы рассмотрим сквозной пример. Предположим, что необходимо выполнить автоматизацию деятельности некоторой организации. В результате встречи с нашим условным заказчиком удалось сформулировать следующее Техническое задание:

Фирма «ЮФранчайзи» осуществляет деятельность по следующим направлениям:

» покупка и продажа товаров (программных продуктов);

оказание разовых и долговременных услуг по поддержке и настройке программно

го обеспечения в рамках «!С:Предприятия». Оплата долговременных услуг может

проходить поэтапно.

В системе учета должны храниться следующие данные о товарах:



  1. информация о виде товара (товар, услуга);
  2. закупочная цена в У.Е.;
  3. продажная цена в У.Е.;
  4. единица измерения;
  5. дополнительная характеристика товара.

Все документы выписываются в рублях, но учет ведется в У.Е., курс У.Е. заносится по мере необходимости.

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

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

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

Для оценки текущей ситуации на фирме введена следующая форма отчетности:

  1. Остатки товаров (с учетом партий);
  2. Взаиморасчеты;
  3. Резервы товаров;
  4. Скидки клиентам;
  5. Состояние заказа.

Учет товарных запасов и списание себестоимости ведется в разрезе партий товаров по методу FIFO или LIFO.

Глава 1. Основные понятия системы «1C: Предприятие»

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

1.1. Конфигурация

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



1.1. Окно «Конфигурация»

  1. Структуры метаданных (или просто метаданные);
  2. Набора пользовательских интерфейсов;
  3. Набора прав.

Методические материалы обучения партнеров



JJ 1С:Предприятие 7.7. Компонента Оперативный учет

1.2. Метаданные, объекты метаданных, их свойства

Основу концепции системы «1С:Предприятие» составляет понятие метаданные. Метаданными называется совокупность объектов метаданных, настроенных на хранение и обработку информации о хозяйственной деятельности конкретного предприятия или предметной области.

Наряду с понятием метаданные широко используется термин «структура метаданных». Данный термин более точно отражает суть метаданных, как сложной структуры взаимодействующих объектов метаданных.

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

Примерами объектов метаданных являются:

  1. Константа "Руководитель Предприятия";
  2. Справочник "Номенклатура";

« Реквизит "Цен а Продажи" справочника "Номенклатура".

Главное свойство любого объекта метаданных - идентификатор - краткое наименование объекта метаданных. Уникальность идентификаторов объектов метаданных отслеживается системой. Идентификатор может быть удален только вместе с объектом метаданных.



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

Например: у справочника

1.2. Свойства объекта метаданных

"Номенклатура" есть реквизит "Наименование". У данного реквизита есть не редактируемое свойство «Тип» - всегда "Строка" и редактируемое свойство "Длина", которое может принимать значения от 1 до 100 (пределы изменения).

1.2.1. Агрегатные объекты метаданных

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

Глава 1. Основные понятия системы «1С:Предприятие» 9

станта. Константа самодостаточна: она может содержать какое-либо значение, и этим полностью исчерпывается ее назначение.

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

Объекты метаданных, которые могут иметь в своем составе подчиненные объекты, называются агрегатными объектами метаданных.

1.2.2. Типизированные и типообразующие объекты метаданных

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

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

Типы значений, которые может принимать объект метаданных, можно разделить на 2 группы.

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

Кроме этого, некоторые объекты метаданных также могут образовывать типы значений. Например, константе «Руководитель» может быть назначен тип «Справочник.Сотрудники». В этом случае значение константы будет представлять собой ссылку на один из элементов указанного справочника.

Объекты метаданных, которые могут образовывать типы значений других объектов метаданных, называются типообразующими объектами метаданных. Такими объектами в системе «1С:Предприятие» являются:

  1. справочники;
  2. документы;
  3. перечисления.

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



10

^[С:Предприятие 7.7. Компонента Оперативный учет

тип значения может быть присвоен любому из типизированных объектов метаданных.

1.2.3. Форма объекта метаданных

Большинство объектов метаданных в системе «ЮПредприятие» могут иметь визуальное представление. В самом общем случае визуальное представление состоит из следующих частей:

  1. экранный диалог, используемый для ввода и редактирования информации,

    хранящейся в объекте метаданных;
  2. табличная форма объекта метаданных (печатных форм может быть не

    сколько);
  3. модуль формы - может содержать программу на встроенном языке систе

    мы «1С:Предприятие».

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

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

1.2.4. Понятие модулей

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

Фактически модуль - это программа на встроенном языке системы «1С: Предприятие».

Все виды программных модулей перечислены в книге «1С:Предприятие 7.7. Версия 7.7. Описание встроенного языка. Часть 1».

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

Компонента «Оперативный учет» не имеет каких-либо специальных видов программных модулей, которые принадлежали бы только ей. Для изменения состояния регистров используется только модуль документа. Именно об этом нужно помнить при конфигурировании документов и регистров для организации оперативного учета.

Методические материалы обучения партнеров

Глава 1. Основные понятия системы «1C:Предприятие» 11[

1.2.5. Пользовательские интерфейсы, права пользователей, панели инструментов.

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

1.3. Виды объектов метаданных, используемые в компоненте «Оперативный учет»

«Базовые объекты» Компонента «Бухгалтерский учет» Компонента «Оперативный учет» и Компонента «Расчет»





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

JiI*E«? 'Ју-

Рмс.1.3. Принадлежность видов объектов метаданных компонентам «ЮИредприятии»

1.3.1. Базовые объекты метаданных

Следует помнить, что Константы, Перечисления, Справочники, Документы, Журналы документов, Отчеты и обработки - относятся к так называемым базовым объектам метаданных и подробно рассматриваются в дневном курсе обучения «1C: Предприняв 7.7. Базовые объекты».

апрель 2004 г.



12

1С:Предприятие 7.7. Компонента Оперативный учет

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

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

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

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

Кроме того, существует возможность подчинения одного справочника другому, т. е. возможность сопоставить каждому элементу справочника-владельца все множество элементов подчиненного справочника.

Документы - предназначены для ввода информации о текущей деятельности предприятия, ее просмотра и корректировки. В конфигураторе системы мы создаем электронный аналог документа, который пользователь использует для ввода информации о хозяйственной деятельности предприятия. У документа существуют основные характеристики - дата и время, которые определяют его позицию на «оси времени» и устанавливают строго определенную последовательность документов.

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

Журналы документов - предназначены для хранения документов, созданных в системе. Журналы документов могут иметь свои реквизиты, значение которых заполняется из соответствующих реквизитов хранящихся в журналах документов. Это значительно облегчает возможность поиска нужного документа в журнале. Визуальное представление журнала задается в «Форме» журнала.

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

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

Глава 1. Основные понятия системы «Ю^Предприятие» 13^

также с использованием соответствующих им объектов, атрибутов и методов встроенного языка системы «1С:Предприятие».

Из всего дерева структуры метаданных компоненте «Оперативный учет» принадлежит только один вид объектов - «Регистры». Этот вид объектов метаданных будет присутствовать в дереве только тогда, когда компонента загружена. И отсутствовать, если ее нет.

1.3.2. Регистры

1.3.2.1.Общая информация о регистрах

Регистры используются для накопления информации о наличии и движении средств (товарных, денежных и т.д.). Вся информация о хозяйственных операциях, которая вводится с использованием документов или формируется при помощи расчетов, должна быть накоплена в регистрах. Именно регистры являются основным источником информации для анализа и формирования отчетов. Как правило, факт проведения документа означает изменение содержимого регистре» (одного или нескольких) на основе данных документа.

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

Физический аналог регистра подобрать сложно. Можно сказать, что это N-мерная система координат, в узлах которой хранятся итоговые данные на определенный момент времени, причем доступ к данным осуществляется практически мгновенно. Основными элементами регистра являются измерения (оси координат, на пересечении конкретных значений которых лежит информация) и ресурсы (собственно информация в виде итоговых, данных). Измерения можно определить как набор признаков, в разрезе которых информация должна храниться, извлекаться, анализироваться. Ресурсы - категории учета, которые должны быть представлены в числовом виде.

(Ьмерення: Реорсы:

Товар |

Количество

1 Склад

БазоваяСтоимость

1

ВалютнаяСтоимость |

1.4. Структура регистра

«ОстатхиТоваров»

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





Методические материалы обучения партнеров

апрель 2004 г.



14 1С:Предприятие 7.7. Компонента Оперативныйу^ет

Под термином «остаток» ресурса для регистров остатков следует понимать числовое значение, которое имеет ресурс на какой-то момент времени.

Кроме хранения остатка или оборота ресурсов, регистры хранят все «приращения» (приход со знаком «+» или расход со знаком «-»), произведенные документами (собственно «движения регистра»). Причем эти «приращения» регистров храь[ятся со ссылками на те документы, которые их вызвали. Поэтому, во встроенном языке системы «1 (^Предприятие» есть методы, позволяющие получить из регистра все его движения (с привязкой к документам), указав интервал времени, за который они нужны. Таким образом, регистр остатков физически состоит из двух таблиц: таблицы остатков и таблицы движений.

Проиллюстрируем вышесказанное на примере регистра «ОстаткиТоваров», имеющего тип «регистр остатков».

Представим себе следующую ситуацию:

У предприятия 2 склада: база и магазин, 2 товара: нитки и иголки, товар учитывается по количеству, стоимости в рублях и валюте.

В первый момент времени на всех складах отсутствуют все виды товара. Во второй момент времени на склад «База» приходит 10 штук иголок, стоимость каждой 25 рублей, курс валюты 25 рублей за 1 доллар.





Тогда структура нашего регистра должна быть такой, какой она изображена на 1.4.

Поэтому в Момент! наш регистр будет содержать информацию изображенную на рис 1.5.

Иголки

Нитки

1.5. Содержимое регистра «ОстаткиТоваров» в Момент2

Товар Склад Количество БазоваяСтоимотсь i ВалютнаяСтои.мос1ь

(пусто)

Затем в некоторый Момент?- произошел приход товара «Иголки» на склад «База». Этот приход товара согласно концепции «1С:Предприятия» записывается в регистр только в момент проведения соответствующего документа. А раз так, то

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

Глава 1. Основные понятия системы «1С:Предприятие» __15

графически, сейчас наш регистр можно изобразить, таким образом, как это изображено на рис, 1.6.



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

Таблица движений очень

напоминает таблицу остатков

с той лишь разницей, что она

дополнительно содержит

Их-о'лкн

Ниткн

дополнительно еще:

Рнс.1.6. Содержимое регистра «ОстаткиТоваров» в Момент2

  1. Ссылку на документ,

    которому принадлежит

    документ
  2. Флаг «при-

ход/расход» Поэтому сейчас таблица движений будет выглядеть следующим образом:

Документ Флаг Товар Склад Количество Башвая Валюiпаи

10

250

10

База

СТОИМО I СЬ С I UIIMOC I I.

Иголки

Приходная

накладная

№1

После запаси движения таблица остатков примет следующий вид:

Товар Склад Количество ЬашваяС тоимотсь Ва.шишшСишмосн

250J

[База

1.3.2.2.Дополнительная информация о регистрах

Изменение информации в регистрах происходит при выполнении системных

предопределенных процедур ОбработкаПроведения {),

ОбработкаУдаленияПроведения (), которые находятся в Модуле документа. Процедура ОбработкаПроведения {) получает управление в момент проведения документа (как интерактивного, так и программного). Процедура ОбработкаУдаленияПроведения () получает управление в момент непосредственной отмены проведения документа пользователем или в момент постановки пометки на удаление документа.





Методические материалы обучения партнеров

апрель 2004 г.



^16 1C предприятие 7.7. Компонента Оперативный учет

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

Например: все операции с товарами можно разделить условно на внутренние и внешние операции. Внутренним могут быть следующие операции: «перемещение», «списание», а внешними - «покупка», «продажа». Для облегчения анализа движения товаров введем в регистр «ОстаткиТоваров» реквизит «ТипОперации», которому при проведении документа будет присваиваться значение «1» для внутренней операции и значение «2» для внешней операции.

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

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

К возможным неудобствам использования регистров при конфигурировании системы «1С:Предприятие» невозможность внесения, по понятным причинам, информации напрямую непосредственно в регистры.

1.3.3. Модуль документа

Модуль документа представляет собой программу на встроенном языке системы «1С:Предприятие», которая вызывается для исполнения при проведении документа, отмене его проведения, при установке на документ пометки на удаление. При этом выполняется одна из предопределенных процедур ОбработкаПроведения () или ОбработкаУдаленияПроведения().

Только из модуля документа можно изменять регистры, а также периодические реквизиты справочников (для которых включено свойство «Изменяется документами»). Документ «помнит» о тех изменениях, которые он выполнил в регистрах. При удалении документа или отмене его проведения (команда «Сделать документ не проведенным» в меню «Действия» главного меню системы «1 (^Предприятие») выполненные документом изменения в регистрах будут корректно удалены.

Следует помнить, что возможность обращения к Регистрам из Модуля документа существует только в том случае, когда в окне редактирования «Документ» включена опция «Оперативный учет».

Методические материалы обучения партнеров

Глава 1. Основные понятия системы «1С:Предприятие» 17^

Отметим, что в Модуле документов не следует использовать элементы интерактивного управления (например, системные процедуры Предупреждение (), Вопрос (), ВвестиЧисло () и т.п.). Это связано с выполнением транзакций. Во время проведения документа система выполняет неявную транзакцию, что гарантирует, что в любой момент времени проводиться может только один документ. По-/ этому применение диалоговых процедур будет существенно тормозить или даже останавливать работу других пользователей в разделенном режиме работы сетевой версии системы «1С:Предприятия».

13.4. Транзакции

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

Замечание: В классических СУБД, транзакции, как правило, используются для обеспечения целостности данных, когда требуется одновременно обновить записи в двух или нескольких таблицах и необходимо обеспечить, чтобы изменения были занесены во все таблицы (завершить транзакцию) или не были занесены ни в одну (отказаться от выполнения транзакции).

Например, при переводе денег с одного счета на другой следует снять необходимую сумму с одного счета и добавить ту же сумму на другой счет. Если любая из операций обновления не будет выполнена, то баланс счетов будет нарушен. В подобном случае следует применить метод Начать Транзакцию {) перед обновлением первой записи, а затем, если любое из последующих обновлений будет неудачным, применить метод ОтменитьТранзакцию {} для отмены всех обновлений. После успешного завершения последнего обновления следует применить метод ЗавершитьТранзакцию (5 для сохранения изменений. Если приложение завершается во время транзакции, то происходит откат всех операций.

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

апрель 2004 г.



18

1С:Предприятие 7.7. Компонента Оперативный учет

19





К транзакциям применимы следующие правила:

  1. Транзакция начинается с процедуры НачатьТранзакцию и заканчивает

    ся процедурой ЗафиксироватьТранзакцию.
  2. Конструкция ЗафиксироватьТранзакцию без предшествующей

    конструкции НачатьТранзакцию выдает сообщение об ошибке.
  3. Конструкция Отменить Транзакцию без предшествующей конструкции

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

    ЗафиксироватьТранзакцию (или до отката транзакции), даже если

    управление переходит в другие программы или функции, или до заверше

    ния приложения, что вызывает откат транзакции.

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

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

При обработке транзакции (в том числе и в Модуле документа) не следует использовать элементы интерактивного управления (например, системные процедуры Предупреждение (}, Вопрос (), ВвестиЧисло () и т.п.). В противном случае при открытой транзакции система ожидает отклика пользователя, а это может препятствовать нормальной работе других пользователей (в результате документы у всех остальных пользователей могут не проводиться). В этом случае лучше использовать системные процедуры Сообщить (...) или Состояние (...).

Глава 2. Простейшая конфигурация -торговля в реальном времени

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

« Напомнить слушателям, как работать с базовыми объектами. * Дать слушателям начальные навыки работы с регистрами. Для простоты будем считать, что все документы проводятся в реальном масштабе времени. Проведение документов задним числом запрещено.

Упражнение №2.1

Зарегистрируйте новую информационную базу. Дайте ей название «Простей-шая конфигурация» и разместите в любом удобном для вас каталоге.

Совет: для создания каталога можно использовать кнопку «Создание новой папки» диалога «Выоор каталога».

2.1. Создание констант и перечислений

На данном этапе, в соответствии с условиями задачи, создадим в системе две константы и одно перечисление:

Константа КурсУЕ - необходима для хранения величины курса условной единицы. Т.к. с течением времени курс может изменяться, то делаем константу периодической. В этом случае в списке констант будут храниться все ранее существовавшие значения константы с датами их ввода. Это позволяет получить для данной константы ее значение на любую дату ввода;

Константа НазваниеОрганизации - хранит название нашей организации для автоматического внесения его в расходную накладную;

Перечисление ЕдиницыИзмерения - может принимать значения: штука, коробка, контейнер и т.д.

Упражнение №2.2

Создайте следующие Константы в новой конфигурации

И дентифи каюр

КурсУЕ

НаздакиеОрганизации

Комментарий

Значение курса -у .е.

Полное название организации

Вид Длина ~~

!б "

'90 "





Методические материалы обучения партнеров

апрель 2004 г.



20

1С:Предприятие 7.7. Компонента Оперативный учет



Идентификатор

КурсУЕ

НазваниеОрганизации

Точность

4

Не отрицательный

Л/

Разделять 1 риады

Ч"

Периодический

~v

2.2. Создание справочников

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

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

2.2.1. Справочник "Номенклатура"

Выполните следующее упражнение:



Упражнение №2.3

ГГЦоздайтё справочник

«Номенклатура» со следующими характеристиками;

Идентификатор

Номенклатура

Синоним

Комментарий

Владелец

Количество уровней

"3"

Длима кода

"5"

Длина наименования

""23"

Серии кодов Тип кода

"В пределах подчинения"

"Числовой"

Основное представление

"В виде наименования"

Контроль уникальности

4

Авто нумерация

V

Группы впереди

Л/

- ч«- Г§ОСО\ pЈ^SIvT»*pCSftL~*rJ5

*'Ti TT»rtns%™»" СУ ,c4*feCWVvsK *

Одна форма для элемента и группы'

Основная форма

Справочник. Номенкяатура,ФормаСписка.ФормаСписка

Основная форма для выбора

Справочник. Номенклапура.ФормаСписка.ФормаСписка

Методические материалы обучения партнеров

Глава 2. Простейшая конфигурация^- торговля в^реальном времени_21

2. Для этого справочника необходимо создать следующие реквизиты:

Идентификатор

Единица Намерения

Цена Закупки

Цена Продажи

Описание

Синоним

Единица Измерения

Цена закупки

Цена продажи

Комментарий

Измеряется

Измеряется

в у, с.

в у. е.

Тип

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

Число

Число

Строка

Вид

ЕДИНИЦЫ

Измерения

Длина

10

10

VHeorp.

Точность

~1

т

Не отрицательный

"V

V

Разделять Триады

V

V

Периодический

Сортировка

Отбор

Ручное Изменение

V

V

V

V

Изменяется

" Доку ментами

...

-

Использование

Для элемента

Для "Элемента

Для элемента

Для обоих



2.1. Форма списка справочника «Номенклатура»

При вызове

справочника из

строки меню или

панели инстру

ментов открыва

ется Форма

списка справоч

ника. Как видно

из рисунка 2.1,

окно редактора

формы имеет три

закладки. На

закладке «Диа

лог» представлен

внешний вид

окна формы списка справочника. Если для реквизита «Редактировать» окна редактирования справочника выбрано значение «В списке», то редактирование строки, на которой установлен курсор, возможно непосредственно в ячейках табличной части справочника. Как правило, для редактирования справочника выбирается режим редактирования «В диалоге». апрель 2004 г.



22

1C: Пред приятие 7.7. Компонента Оперативный учет

Упражнение №2.4

Откройте окно формы списка справочника «Номенклатура».

1. Выберите закладку «Диалог». Разместите элементы в форме диалога, так как это изображено на рисунке 2.J.

2. Выберите закладку «Модуль». Вызовите конструктор печати. Сформируйте

процедуру Печать (}, а также шаблон печатной формы, используя, конструктор. Измените, шаблон печатной формы, так как это изображено на рисунке 2.2.



Глава 2. Простейшая конфигурация - торговля в реальном времени 23

В «Модуль формы» поместим только одну процедуру ВводНового (), вводя-

щую по умолчанию Единицу измерения товара.

Процедура ВводНового()

// "по умолчанию" единицей измерения товара являются штуки

ЕдиницаИзмерения=Перечисление.ЕдиницыИзмерения.Штука;

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



Для редактирования заголовка группы в таблице справочника необходимо вызвать Форму группы в окне редактирования справочника.

Упражнение №2.5

2.4. Форма группы справочника

«Номенклатура»

Для справочника Номенклатура

необходимо создать Форму группы,

включить справочник в панель инст

рументов «Конфигурация» и основ

ное меню интерфейса

«Пользовательский» (см. 2.5).









2.2. Шаблон печатной формы списка справочника

«Номенклатура»

Если для реквизита «Редактировать» окна редактирования справочника выбрано значение «В диалоге», то редактирование текущей строки справочника в режиме «ЮПредприятие» происходит в специальном окне, вызываемом через Форму элемента справочника.



2.3. Форма элемента справочника

«Номенклатура»

--.. ,. I ' г mini 1 а II г i.ir.innininn» ^

2.5. Создание пользовательского интерфейса





Методические материалы обучения партнеров

апрель 2004 г.



24 1С:Предприятие 7.7. Компонента Оперативный учет

2.3. Создание регистров

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

Регистр остатков внутри самой системы «ЮПредприятие» спроектирован таким образом, что когда вы просите регистр выдать состояние его ресурса, т.е. остаток, регистр возвращает остаток на Точку Актуальности практически мгновенно.

При проектировании регистра важно вначале для себя дать ответ на два основных вопроса:

  1. Какую информацию должен накапливать регистр? В каких разрезах

    мы собираемся ее извлекать?
  2. Какие документы должны записывать движения в наш регистр? Когда

    и с каким знаком («+» или «-») это нужно делать.

Вначале мы рассмотрим первый этап.

При создании нашей конфигурации будем считать, что результатом компьютерного учета торговой деятельности организации на начальном этапе является отчет «Остатки товаров», показывающий, сколько и на какую стоимость осталось каждого наименования товаров в расчете на ТА. Исходя из этого, создадим регистр «ОстаткиТоваров»:



Идентификатор

ОстаткиТоваров

Синоним

Остатки товаров

Комментарий

Тип регистра

Остатки

Периодичность

Быстрая обработка движений

Регистр будет иметь следующую структуру: Измерения:

Идентификатор

Товар

Синоним

Комментарий

Тип значения

Справочник

Вид

Номенклатура

Длина

Точность

Разделять Триады

Отбор движений

Отбор итогов

Глава 2. Простейшая конфигурация - торговля в реальном времени 25

Ресурсы:

Идентификатор

Количество

СтоимостьРуб

СтоимостьУЕ

Синоним

Ст . руб

Комментарий

Измеряется в единицах измерения товара

Измеряется в рублях

Измеряется в У.Е.

Тип значения

Число

Число

Число

Вид

Длина

10

12

12

Точность

0

2

2

Разделять Триады

V

V

На втором этапе мы должны определить:

Какие виды документов будут записывать движения в наш регистр.

» С каким знаком эти движения должны быть записаны.

Последнее особенно важно. Поясним в чем дело.

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

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

Напротив, при неправильном проектировании регистров и документов таблица остатков растет очень быстро, документы проводятся все медленнее и медленнее, с течением времени отчеты формируются все дольше и дольше. И, в конце концов, пользователь задает резонный вопрос: «А где здесь оперативный учет?».

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

Если для некоторого регистра остатков «X» есть вид документа, который записывает движение «Приход», то обязательно должен быть вид документа, который в этот же регистр «X» записывает и движение со знаком «Расход».

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





Методические материалы обучения партнеров

апрель 2004 г.



.26 1C: Пред приятие 7.7. Компонента Оперативный учет

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

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

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



Регистр «ОстаткиТоваров»

Флаг движения

Вид документа

«+» - приход

Приходная накладная

«-» - расход

Расходная накладная



Содержание раздела