АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Порядок работы с объектом конфигурации Регистр накопления

Читайте также:
  1. I. Организация выполнения выпускной квалификационной работы
  2. II. ПЕРЕЧЕНЬ ЗАДАНИЙ ДЛЯ ВЫПОЛНЕНИЯ РАБОТЫ
  3. II. Порядок обращения за получением социального обслуживания
  4. II. Порядок подачи и рассмотрения ходатайств о предоставлении политического убежища иностранным гражданам и лицам без гражданства в Республике Казахстан
  5. II. Порядок подготовки, защиты и оценки квалификационной работы
  6. II. Работы учеников Уильяма Джеймса: Дж. Дьюи, С. Холла, Дж. Кэттела, Э. Торндайка
  7. II. Рекомендации по оформлению контрольной работы.
  8. II. Требования охраны труда перед началом работы.
  9. II. Требования охраны труда перед началом работы.
  10. II. Требования охраны труда перед началом работы.
  11. III. Задания для самостоятельной работы по изучаемой теме
  12. III. Задания для самостоятельной работы по изучаемой теме

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

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

Рис. 43. Алгоритм работы конфигурации

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

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

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

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

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

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

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

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

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

3.5.1. Создание регистра накопления "Остатки Материалов"

Откройте в конфигураторе учебную конфигурацию и создайте новый объект конфигурации Регистр накопления. Задайте имя регистра – ОстаткиМатериалов. Нажмите кнопку " Далее " и перейдите к созданию структуры регистра.

Создайте измерения регистра:

· Материал, с типом СправочникСсылка.Номенклатура,

· Склад, с типом СправочникСсылка.Склады.

Затем создайте ресурс Количество с длиной 15 и точностью 3.

В результате этих действий регистр ОстаткиМатериалов должен иметь следующий вид (рис. 44).

Если вы сейчас попытаетесь запустить 1С:Предприятие в режиме отладки, то система выдаст сообщение об ошибке: РегистрНакопления.ОстаткиМатериалов: Ни один из документов не является регистратором для регистра. Это сообщение еще раз подтверждает тот факт, что назначение регистра накопления в том, чтобы аккумулировать данные, поставляемые различными документами.

 

Рис. 44. Регистр "ОстаткиМатериалов"

3.5.2. Создание движений документа "ПриходнаяНакладная"

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

Перейдите в закладку Движения и в списке регистров конфигурации отметьте регистр накопления ОстаткиМатериалов (рис. 45):

Рис. 45. Отметьте регистр накопления и воспользуйтесь конструктором движений

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

Конструктор устроен просто (рис. 46). В списке Регистры перечислены регистры, в которых документ может создавать движения. В нашем случае там пока один регистр ОстаткиМатериалов.

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

Рис. 46. Конструктор движений

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

В поле выбора Табличная часть выберите табличную часть документа – Материалы. Список реквизитов документа автоматически заполнится реквизитами табличной части. Теперь нажмите кнопку " Заполнить выражения ".

В нижнем окне сформируется соответствие полей и выражений (рис. 47).

Рис. 47. Выберите табличную часть и нажмите "Заполнить выражения"

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

Нажмите кнопку " OK " и посмотрите, какой текст сформировал конструктор в модуле объекта:

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

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора,

// внесенные вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

// Регистр ОстаткиМатериалов Приход

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

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

Движение.Материал = ТекСтрокаМатериалы.Материал;

Движение.Склад = Склад;

Движение.Количество = ТекСтрокаМатериалы.Количество;

КонецЦикла;

// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

Конструктор создал обработчик события ОбработкаПроведения объекта конфигурации Документ и поместил его в модуль объекта.

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

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

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

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

Запустите 1С:Предприятие в режиме отладки и откройте одновременно два окна: список документов ПриходнаяНакладная и список регистра накопления ОстаткиМатериалов.

Откройте документ Приходная накладная №1 и нажмите кнопку " OK ". Обратите внимание, что при проведении приходной накладной появляются соответствующие записи в регистрах накопления (рис. 48):

Рис. 48. Взаимодействие документа и регистра

Аналогичные действия проделайте с документом Приходная накладная №2.

3.5.3. Создание движений документа "ОказаниеУслуги"

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

При использовании конструктора обратите внимание на то, что документ Оказание услуги должен расходовать материалы. Поэтому перед тем, как нажать кнопку " OK ", убедитесь, что выбран правильный тип движения регистров (нужен Расход). Кроме того, при автоматическом заполнении поле Материал не заполнится автоматически. Если вы оставите это так, как есть, то в регистре накопления в строках с типом Движение регистра – расход имя номенклатуры фиксироваться не будет. Чтобы избежать этого, надо выбрать поле Материал и в поле Реквизиты документа дважды щелкнуть по строке ТекСтрокаПереченьНомеклатуры.Номенклатура. Таким образом, имя номенклатуры для строк регистра накопления будет выбираться из табличной части документа.

Запустите отладку и создайте документ оказания услуги, который будет расходовать один транзистор Philips 2N2369 за 3 рубля.

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


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)