Довідковий матеріал

Практикум 4. Створення періодичного реєстру відомостей Ціни

Розпочнемо створення періодичного реєстру відомостей, який зберігатиме розгорнуті в часі роздрібні ціни матеріалів і вартості послуг, що надаються нашою фірмою.Створення функції РоздрібнаЦіна(). Автоматичне заповнення ціни в документі НаданняПослуги. Перелічення. Реорганізація довідника Номенклатура. Зміна процедури проведення документа НаданняПослуги. Створення реєстру накопичення ВартістьМатеріалів. Зміна процедури проведення документа НаданняПослуги. Створення оборотного реєстру накопичення Продажі. Зміна процедури проведення документа НаданняПослуги

Практикум 4. Створення періодичного реєстру відомостей Ціни

Створення функції РоздрібнаЦіна()

Автоматичне заповнення ціни в документі НаданняПослуги

Перелічення. Реорганізація довідника Номенклатура

Зміна процедури проведення документа НаданняПослуги

Створення реєстру накопичення ВартістьМатеріалів

Зміна процедури проведення документа НаданняПослуги

Створення оборотного реєстру накопичення Продажі

Зміна процедури проведення документа НаданняПослуги

 

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

1. Створіть новий об'єкт конфігурації РеєстрВідомостей з іменем Ціни.

2. Установимо періодичність цього реєстру в межах секунди.

і' Регистр сведений Цены Основные Данные Регистраторы Формы Макеты Подсистемы Права Интерфейсы Обмен данными Прочее Действия - Назад Имя: Синоним: Комментарий: Цены Цены Периодичность: В пределах секунды Режим записи: Независимый Основной отбор по периоду

3. На вкладці Дані створимо вимір реєстру Номенклатура з типом ДовідникПосилання.Номенклатура. Зазначимо, що цей вимір буде провідним.

' Регистр сведений Цены 1 Основные 1 Данные =1 = =1 Ў Регистраторы Формы Макеты Подсистемы Права Интерфейсы Обмен данными Прочее В- и. Измерения НЕ п. .... Ресурсы Реквизиты Действия Назад Далее Свойства: Измерение Ў Основные: Имя Синоним Комментарий Номе

Властивість Провідне має сенс використовувати лише тоді, коли вимір має тип посилання на об'єкт бази даних.

Установлення властивості Провідне означатиме, що запис реєстру відомостей становить інтерес, доки існує цей об'єкт. У разі видалення об'єкта, усі записи реєстру відомостей за цим об'єктом також буде автоматично видалено. Крім того, у формі списку довідника з'являється кнопка командної панелі Перейти. За нею можливий перехід до записів реєстру, відібраних за значенням вибраного елемента довідника.

3. Створимо новий ресурс Ціна, тип Число, довжина 15, точність 2, невід'ємне.

і' Регистр сведений Цены Основные Данные Регистраторы Формы Макеты Измерені. ....І- Номе В Ресурсы В Цена Подсистемы Реквизит Права Интерфейсы Обмен данными Прочее Действия Назад Да/ Свойства: Ресурс ЕЕЭ Ў Основные: I х V Имя Цена Синоним Цена Комментарий

4. Запустимо 1С:Підприємство в режимі налагодження та подивимося, як працює наш періодичний реєстр відомостей Ціна.

5. Виконайте команду Операції в†’ Реєстр відомостей в†’ Ціни.

6. Задайте вартість послуг фірми та роздрібні ціни на матеріали таким чином:

' Список Цены _ п ДеЙСТВИЯ Ў 1{ UaV: [И Щ 13 Период Номенклатура Цена 131.07.2003 0:00:00 Т ранзистор Philips 2N2369 5,00 V А 31.03.2003 0:00:00 Строчный трансформатор Samsung 300,00 V А 31.03.2003 0:00:00 Строчный трансформатор GoldStar 400,00 V А 31.03.

Оскільки ціни зберігаються з прив'язкою до дати, ми можемо заздалегідь установити нові ціни та бути впевненими в тому, що нові ціни набудуть чинності не раніше зазначеної для

них дати.

Тепер подивимося, як можна використати задані нами ціни в документі НаданняПослуги.

Створення функції РоздрібнаЦіна()

Спочатку ми створимо функцію, яка повертатиме нам актуальну роздрібну ціну номенклатури.

1. Відкрийте конфігуратор, у гілці Загальні в†’ Загальні модулі створимо новий об'єкт конфігурації Модуль і назвемо його РоботаЗДовідниками.

2. Помістимо в ньому такий текст:

Функция РозничнаяЦена АктуальнаяДата, ЭлементНоменклатуры Экспорт // Создать вспомогательный объект Отбор Отбор = Новый Структура Номенклатура , ЭлементНоменклатуры ; // Получить актуальные значения ресурсов регистра ЗначенияРесурсов = РегистрыСведений.Це

Для отримання роздрібної ціни ми передаватимемо у функцію два параметри:

  • АктуальнаДата → параметр типу Дата визначає точку на осі часу, у якій нас цікавить значення роздрібної ціни;
  • ЕлементНоменклатури → посилання на елемент довідника Номенклатура, для якого ми хочемо отримати роздрібну ціну.

У тілі процедури ми спочатку створюємо допоміжний об'єкт Відбір. За його допомогою визначаємо, що нас цікавитимуть записи реєстру, у яких вимір Номенклатура дорівнює переданому в процедуру посиланню на елемент довідника.

У другому рядку ми звертаємося до менеджера реєстру відомостей Ціни (РеєстриВідомостей.Ціни) і виконуємо метод ОтриматиОстаннє(), який повертає нам значення ресурсів найпізнішого запису реєстру, що відповідає переданій даті (АктуальнаДата) і значенням вимірів реєстру (Відбір).

Значення ресурсів повертаються в об'єкті Структура, тому в наступному рядку ми отримуємо шукану роздрібну ціну, просто зазначивши через крапку ім'я потрібного нам ресурсу реєстру (ЗначенняРесурсів.Ціна).

Тепер перевіримо, як працює ця функція.

Автоматичне заповнення ціни в документі НаданняПослуги

Під час створення документа НаданняПослуги нам необхідно забезпечити автоматичне заповнення поля Ціна після того, як користувач вибере послугу. Причому ціна послуги повинна визначатися виходячи з дати створюваного документа.

1. Відкрийте форму ФормаДокумента у документі НаданняПослуги.

2. Відкрийте властивості поля введення, розташованого в колонці Номенклатура, і внизу списку знайдіть подію ПідЧасЗміни.

3. Натиснемо кнопку з лупою та у відкритій заготовці обробника події напишемо такий текст:

Е Процедура ПереченьНоменклатурыНоменклатураПриИзменении Элемент // Получить текущую строку табличной части СтрокаТабличнойЧасти = ЗлементыФормы.ПереченьНоменклатуры. ТекущиеДанные; // Установить цену СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками. Розн

Прокоментуємо вміст обробника.

Перший рядок обробника нам уже знайомий: ми отримуємо поточний рядок табличної частини документа, оскільки він знадобиться нам надалі.

У другому ми встановлюємо отриману ціну в документі, викликаючи нашу процедуру РоздрібнаЦіна. Першим параметром ми передаємо дату документа, на яку необхідно отримати ціну. Другим параметром ми передаємо посилання, яке відображає елемент керування форми, що викликав цю подію (Елемент.Значення), тобто посилання на елемент довідника Номенклатура.

Насамкінець ми викликаємо нашу процедуру РозрахуватиСуму із загального модуля РоботаЗДокументами для того, щоб вона перерахувала підсумкову суму в рядку нашого документа.

4. Запустіть 1С:Підприємство в режимі налагодження та відкрийте реєстр відомостей Ціни. Для транзистора Рhilips додамо наступним числом нову ціну:

' Список Цены _ п Действия м 71 • 8Й Период Номенклатура Цена /Ч 31.07.2008 0:00:00 Т ранзистор Philips 2N2369 5,00 01.08.2008 0:00:00 Т ранзистор Philips 2N2369 7,00 v

5. Тепер відкриємо документ НаданняПослуги №– 1. Цим документом ми якраз «витратили» два таких транзистори.

Установимо дату документа такою самою, як дата, коли було задано перше значення ціни транзистора, і повторимо вибір транзистора в колонці Номенклатура табличної частини документа. Автоматично буде встановлено перше значення ціни.

Оказание услуги: Оказание услуги от 31...: _ п Перейти Номер: 000000001 Дата: 31.07.2003 0:00:00 Ш Склад: Основной . .. х Клиент: И ванов М ихаил Ю рьевич . .. х М астер: Гусаков Н иколай Дмитриевич в1 І Ы ЇВ мок І І N Номенклатура Количество Цена Сумма 1

Тепер змінимо дату документа на «правильну» (тобто ту, яка була) і знову повторимо вибір транзистора. Буде встановлено нове значення ціни:

Оказание услуги: Оказание услуги ІІІІІІІІІІІІІІІІ от 28...: _ П Перейти Номер: 000000001 Дата: 28.08.2003 0:00:00 Ш Склад: Основной . .. х Клиент: И ванов М ихаил Ю рьевич . .. х М астер: Гусаков Н иколай Дмитриевич в1 І Ы ЇВ мок І І N Номенклатура Количес

Таким чином, у документі з'являється актуальна на момент створення документа ціна послуги.

Перелічення. Реорганізація довідника Номенклатура

1. Створіть новий об'єкт конфігурації Перелічення з іменем ВидиНоменклатури.

2. На вкладці Дані додамо два значення перелічення: Матеріал і Послуга.

Перечисление ВидыНоменклатуры _ п Основные Данные Формы Макеты Подсистемы Знамения перечисления: Ш'14 Значения Материал Услуга Далее Закрыть Справка

3. Потім до довідника Номенклатура додамо новий реквізит ВидНоменклатури з типом ПереліченняПосилання.ВидиНоменклатури.

Е Справочник Номенклатура Свойства: Реквизит Основные Иерархия Владельцы Данные Нумерация Формы Макеты Подсистемы Ввод на основании Права Интерфейсы Обмен данными Прочее Длина кода Длина наименования гТип кода — Число Строка г Основн О В вр 0 В ВР П[М]! Ў

4. Запустіть 1С:Підприємство в режимі налагодження та задайте для кожного елемента довідника Номенклатура відповідне значення реквізиту ВидНоменклатури.

правочник Номенклатура _ П х О Перейти Ў В-_! Номенклатура В-_! Материалы В-_ Прочее В Рааиодетали В-_ Услуги В-_ Телевизоры Код Наименование _ 1 Материалы 18 Радиодетали - 6 Строчный трансформатор Є о1с 1аг с Гтпоин.МЙ тпднгфопмдтоп дт м шп_ В-_1 Стиральн

Тепер подивимося, як можна застосувати нові дані, отримані завдяки використанню перелічення ВидиНоменклатури.

Зміна процедури проведення документа НаданняПослуги

Якщо ви пам'ятаєте, то, коли створювалися рухи документа НаданняПослуги за реєстром накопичення ЗалишкиМатеріалів, ми сказали, що вони не зовсім правильні, оскільки до реєстру потраплятимуть не лише записи про витрачені матеріали, а й записи про надані послуги.

Тепер ми доопрацюємо документ таким чином, щоб у реєстрі з'являлися лише записи, що стосуються витрачання матеріалів. Це доопрацювання буде не зовсім ефективним з погляду продуктивності, зате дасть нам змогу отримати потрібні дані в реєстрі ЗалишкиМатеріалів. Ефективніший варіант обробки проведення цього документа ми розглянемо пізніше.

1. Скоригуємо рухи документа, виключивши з обробки ті рядки табличної частини, у яких містяться послуги.

Для цього до обробника події ОбробкаПроведення, розташованого в модулі документа НаданняПослуги,

Документ ОказаниеУслуги _ П х Основные Данные Нумерация Движения П оследовательност и Журналы Формы Макеты Подсистемы Ввод на основании Права Интерфейсы Обмен данными Прочее Модуль объекта Режим блокировки Полнотекстовый поиск Автоматический Использовать Д

додамо такий текст (текст слід додати на початок циклу обходу табличної частини документа одразу після слова Цикл):

Если ТекСтрокаПереченьНоменклатуры.Номенклатура. ВидНоменклатуры {Перечисления.ВидыНоменклатуры.Материал Тогда Продолжить; КонецЕсли;

Тепер модуль матиме такий вигляд:

Е Процедура ОбработкаПроведения Отказ, Режим / / {{_КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл Если ТекСтрокаПереченьНоменклатуры.Номенклатура. ВидНоменклатуры Перечисления.ВидыНоменклатуры.Материа

Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура; Движение.Склад = Склад; Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество; КонецЦикла; //}}_КОНСТРУКТОР_ДВЖЕНИЙ_РЕГИСТРОВ - КонецПроцедуры

Доданий текст виключає з виконання операторів циклу ті рядки документа, у яких номенклатура не є матеріалом. До значення перелічення Матеріал ми звертаємося, використовуючи менеджер перелічення ВидиНоменклатури (Перелічення. ВидиНоменклатури) і зазначаючи як його властивість ім'я потрібного нам значення перелічення.

2. Запустимо 1С:Підприємство в режимі налагодження та перевіримо роботу процедури проведення документа НаданняПослуги.

3. Відкрийте документ НаданняПослуги №– 1.

4. Перед тим як провести документ, відкриємо список реєстратора ЗалишкиМатеріалів, що містить рухи цього документа.

Зробити це можна двома способами:

  • виконавши команду Операції в†’ Реєстр накопичення в†’ Залишки матеріалів з головного меню;
  • виконавши команду Перейти в†’ Залишки матеріалів з командної панелі списку документа.

аОказание услуги: Оказание услуги Номер: 000000001 Дета: : : mill Перейти Остатки материалов 23.03.2003 0:00:00 /ш/ Основной. .. X Иванов Михаил Юрьевич. .. X Гусаков Николай Дмитриевич. .. X g S. — ll DK N Номенклатура Количество Цена Сумма 1 Ремонт импорт

5. Проведемо документ і переконаємося, що до рухів за реєстром Залишки матеріалів включаються лише рядки, що містять матеріали.

6. Проведіть усі інші документи. Перевірте список рухів реєстру Залишки матеріалів.

Створення реєстру накопичення ВартістьМатеріалів

1. Створіть реєстр накопичення з іменем ВартістьМатеріалів.

2. Цей реєстр матиме:

  • один вимір → Матеріал з типом ДовідникПосилання.Номенклатура;
  • один ресурс → Вартість з довжиною 15 і точністю 2.

Після створення реєстр ВартістьМатеріалів має виглядати в дереві конфігурації таким чином:

Действия СтоимолстьМатериалов В- — Измерения . .... Материал В Ресурсы . .... Стоимость 2 Реквизиты Формы ЦЛ! Макеты

Тепер ми можемо розпочати внесення змін до процедур проведення документів.

Зміна процедури проведення документа ПрибутковаНакладна

1. Відкрийте в конфігураторі вікно редагування об'єкта конфігурації Документ «ПрибутковаНакладна» і перейдіть на вкладку Рухи.

2. У списку реєстрів зазначимо, що документ тепер створюватиме рухи і за реєстром ВартістьМатеріалів.

3. Запустимо конструктор рухів і погодимося з тим, що наявну процедуру ОбробкаПроведення буде замінено.

4. Перед нами відкриється вікно конструктора рухів, яке міститиме створені нами раніше рухи документа за реєстром ЗалишкиМатеріалів.

Додамо до списку реєстрів, за якими формуються рухи, ще один → ВартістьМатеріалів.

Конструктор движения регистров

5. Виберемо для нього ту саму табличну частину Матеріали і заповнимо вирази.

Для ресурсу Вартість виберемо значення реквізиту табличної частини Сума.

Конструктор движения регистров п Ш%4 і / Регистры_ ! + РегистрН акопления. О сгат киМ атериалов +1 РегистрН акопления. Стоимост ьМ атериалов Тип движения регистра: • Приход Расход Т абличная часть: Материалы Реквизиты документа — Дата а Номер а Склад Т екС

6. Натиснемо ОК і подивимося на текст, який сформував для нас конструктор.

7. Як ви бачите, конструктор створив два цикли обходу табличної частини документа → окремо для кожного реєстру. Так відбувається тому, що в загальному випадку документ може мати кілька табличних частин, і інформація, що міститься в кожній із них, може призначатися для свого окремого реєстру.

У нашому випадку таблична частина лише одна, тому можна об'єднати ці два цикли в один, закоментувавши такі рядки:

Процедура ОбработкаПроведения Отказ, Режим / / {{_КОНСТРУКТОР_ДВИКЕНИЙ_РЕГИСТРОВ Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр ОстаткиМатериалов Приход Движение = Движения.ОстаткиНатериалов.Добавить ; Движение.ВидДвижения = ВидДвиженияНакопл

8. Запустіть 1С:Підприємство в режимі налагодження та перепроведіть прибуткові накладні.

9. Переконайтеся, що записи реєстрів Залишки матеріалів і Вартість матеріалів відповідають дійсності.

_ П х Действия Ў fo] Yl f7j Щ Регистратор Но... Актив... Период - Материал Склад Количество /ч + Приходная накладная 000000001 от 27.03.2003... 1 27.03.2003... Строчный трансформатор GoldStar Основной 10,00 LJ + Приходная накладная 000000001 от 27.03.2003.

Зміна процедури проведення документа НаданняПослуги

Для внесення зміни до процедури обробки проведення документа НаданняПослуги виходитимемо з побажання, висловленого керівництвом фірми.

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

Оскільки в документі НаданняПослуги у нас відображено лише ціну номенклатури, нам потрібно буде додати до табличної частини документа ще одне поле, у якому зазначатиметься вартість номенклатури.

1. Відкрийте в конфігураторі вікно редагування об'єкта конфігурації Документ НаданняПослуги.

2. На вкладці Дані створіть новий реквізит табличної частини документа з іменем Вартість, типом Число, довжиною 15 і точністю 2.

3. Після цього відкриємо форму ФормаДокумента документа НаданняПослуги і додамо до табличного поля колонку, що відображає новий реквізит Вартість, розташувавши її після колонки Номенклатура.

Для цього:

  • виділимо табличне поле;
  • виконаємо команду контекстного меню Розміщення даних (див. рисунок);
  • у вікні Розміщення даних позначимо реквізит Вартість;
  • натиснемо ОК;
  • у табличній частині з'явилася ще одна колонка (остання) Вартість. Якщо ви її не бачите, розсуньте межі табличної частини;
  • зачепивши лівою кнопкою миші заголовок, перетягнемо колонку Вартість після колонки Номенклатура.

— Документ ОказаниеУслуги: ФормаДокумента _ п Оказание услуги Номер: Дата: Склад: Клиент: Мастер: 03 і і х X X в1 ь; 4 у І у////////////// у/////// }///7/////// А і, 2 0 ///}//}//}//%ІЇ //////////////////////////////////////////////////// N Номенклатура Ко

Тепер таблична частина нашого документа матиме такий вигляд:

' ш u й. ч u t т ш N Номенклатура Стоимость Количество Цена Сумма Ш Поле ввода [abil Поле ввода Ш Поле вв... Ш Поле вв... Ш Поле вв... Всего: —г

4. Тепер створимо рухи документа НаданняПослуги так само, як ми робили це для документа ПрибутковаНакладна:

  • відкриємо в конфігураторі вікно редагування об'єкта конфігурації Документ НаданняПослуги;
  • зазначимо, що він створюватиме рухи за реєстром накопичення ВартістьМатеріалів;
  • запустимо конструктор рухів документа та додамо до списку реєстрів реєстр ВартістьМатеріалів;
  • опишемо рухи документа так, як показано на рисунку.

Зверніть увагу, що вартість обчислюється як добуток вартості й кількості, зазначених у табличній частині.

Конструктор движения регистров п Ш%4 і / Регистры_ РегистрН акопления. О сгат киМ атериалов РегистрН акопления. СтоимосгьМ атериалов Тип движения регистра: Приход • Расход Т абличная часть: П ереченьН оменклатуры Реквизиты документа а Номер а Склад а Клиен

5. Натиснемо ОК і в тексті, сформованому конструктором, відновимо зміни, внесені нами раніше (не записувати рухи, якщо номенклатура → не матеріал). Також об'єднаємо два цикли обходу табличної частини документа в один.

Е Процедура ОбработкаПроведения Отказ, Режим / / {{_КОНСТРУКТОР_ДВИЗКЕНИЙ_РЕГИСТРОВ Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры Перечисления.ВидыНоменклатуры.Материа

Перевіримо, як тепер працює проведення документа НаданняПослуги.

6. Запустимо 1С:Підприємство в режимі налагодження та створимо ще кілька документів «НаданняПослуги», враховуючи дати, які ми зазначили в реєстрі відомостей Ціни і зазначаючи вартість вибраних матеріалів.

Ці документи знадобляться нам надалі, тому будьте уважні та зверніть увагу на те, що ці документи створено з різними датами.

Оказание услуги: Оказание услуги 1 rd “о: t Шг I =12 N Номенклатура Стоимость Количество Цена Сумма 1 Подключение электричества 1,000 800,00 800,00 2 Шланг резиновый 100,00 2,000 150,00 300,00 3 Кабель электрический 20,00 1,000 30,00 30,00 4 Ремонт отечест

Оказание услуги: Оказание услуги iliUiUiUili от 03.09.2008 _ Перейти -fe X, —і І ОК t І I“ OZ N Номенклатура Стоимость Количество Цена Сумма 1 Ремонт импортного телевизора 1,000 800,00 800,00 2 Строчный трансформатор Samsung 600,00 1,000 900,00 900,00 LI В

Оказание услуги: Оказание услуги ІІІІІІІІІІІІІШ от 01.09.2008 12: _ п Перейти . ч 3 [ і % —і мок І Ш II N Номенклатура Стоимость Количество Цена Сумма 1 Подключение воды 1,000 800,00 800,00 2 Шланг резиновый 100,00 1,000 150,00 150,00 С Всего: 950.00 О К З

7. А тепер проведіть ці документи та подивіться на рухи цих документів за реєстром ВартістьМатеріалів.

Гг Список Стоимость материалов Действия fo] Т Регистратор Номер... Акт... Период Материал Стоимость Л Оказание услуги 000000005 от 01.09.2003 12:0... 1 01.09.200312... Шланг резиновый 100,00 Оказание услуги 000000007 от 02.09.2003 0:00... 1 02.09.2003 0:..

Три старі документи про надання послуг можна знищити.

Створення оборотного реєстру накопичення Продажі

1. Відкрийте конфігуратор і створіть новий об'єкт конфігурації Реєстр накопичення. Назвемо його Продажі і визначимо вид реєстру — Обороти.

Гг Регистр накопления Продажи _ П 3 к Пгипсиию г 1Уи1 Данные Регистраторы Имя: Продажи Синоним: Комментарий: Продажи Формы Макеты Подсистемы Праеа ТЗид Обороты Интерфейсы Обмен данными Прочее Действия Ў Назад Далее Закрыть Справка

2. На вкладці Дані створимо виміри реєстру:

  • Номенклатура, тип ДовідникПосилання.Номенклатура;
  • Клієнт, тип ДовідникПосилання.Клієнти;
  • Майстер, тип ДовідникПосилання.Співробітники.

3. У реєстру буде три ресурси:

  • Кількість, тип Число, довжина 15, точність 3;
  • Виручка, тип Число, довжина 15, точність 2;
  • Вартість, тип Число, довжина 15, точність 2.

4. Відкрийте вікно редагування об'єкта конфігурації Документ НаданняПослуги і на вкладці Рухи зазначте, що цей документ створюватиме рухи за реєстром Продажі.

5. Запустіть 1С:Підприємство в режимі налагодження та відкрийте форми списку реєстрів накопичення Продажі і Залишки матеріалів.

Зверніть увагу, що форми практично однакові, за винятком складу вимірів і ресурсів.

Зміна процедури проведення документа НаданняПослуги

Цього разу ми не використовуватимемо конструктор рухів документа, а внесемо необхідні доповнення безпосередньо до обробника події ОбробкаПроведення документа НаданняПослуги.

Відкриємо в конфігураторі модуль об'єкта конфігурації Документ НаданняПослуги. І знайдемо в ньому процедуру обробника події ОбробкаПроведення.

Документ ОказаниеУслуги Основные Данные Нумераци Движени Последов Журналы Формы Макеты Поденете Ввод на о Права ИнтерФей Обмен да Модуль объекта Прочее Щ Документ ОказаниеУслуги: Модуль объекта 0 Процедура ОбработкаПроведения Отказ, Режим [Г] Действия Наза

Одразу після завершення об'єднаного циклу створимо ще один цикл обходу табличної частини та команду запису рухів реєстру Продажі.

У тіло створеного циклу вставимо команди створення рухів реєстру Продажі.

КонецЦикла; Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл // регистр Продажи Движение = Движения.Продажи.Добавить ; Движение.Период = Дата; Движение.Номенклатура = ТекСтрокаПереченьНоменклатуры.Номенклатура; Движение.Клиент = Клиен

Усі додані конструкції вам уже відомі.

Зверніть увагу лише на те, що в оборотного реєстру відсутня властивість ВидРуху, оскільки відображення виду руху (надходження або витрачання) має сенс лише за обліку залишків. У разі реєстру оборотів нас цікавить лише значення, яке має бути записано до ресурсу реєстру.

Запустимо 1С:Підприємство в режимі налагодження та перепроведемо всі документи НаданняПослуги. Рухи цих документів за реєстром Продажі мають мати такий вигляд:

fГ Список Продажи Действия - [ ] / Регистратор Н... А... Период - Номенклатура Клиент Мастер л Оказание услуги 000000005 от 01.09.2... 1 01.09.2009... Подключение воды Иванов Михаил Юрьевич Деловой Иван Оказание услуги 000000005 от 01.09.2... 2 01.09.2009.

Записатися телефоном