Заповнюємо або змінюємо регістр без перепроведення документа

Завдання:

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

Рішення:

Для вирішення цього завдання ми окремо записуватимемо набір записів регістру накопичення "ПродажіПослуг" у документах "Реалізація товарів та послуг". Для цього напишемо невелику зовнішню обробку, але спочатку підготуємо нашу конфігурацію до умови даної задачі.

1. Створимо новий регістр накопичення "ПродажіПослуг" (вимір - Номенклатура, ресурс - Сума).

регістр

2. У документі "Реалізація товарів та послуг" додамо до "Руху" створений регістр накопичення. Потрібно, звичайно, додати в процедуру проведення документа запис у цей регістр, але для вирішення цього завдання це не важливо.

3. Все, у цьому підготовка зміни виконано, можна розпочинати створення обробки.

1. Створюємо зовнішню обробку "Заповнення Реєстру Продаж Послуг".

2. Створюємо форму і в ній нову команду - "ЗаповнитиРегістр",

3. Розміщуємо цю команду в командній панелі форми та переходимо до опису процедури. Повинно вийде приблизно так:

заповнюємо

4. У процедурі знаходимо всі проведені документи "Реалізація товарів та послуг" та їх табличні частини за допомогою запиту.

5. Створюємо набори записів для регістру накопичення "ПродажіПослуг" з відбором за реєстратором. Цей вибір дозволяє зв'язати набір записів регістру накопичення та вибраний документ.

6. Додаємо до набору записів необхідні дані з табличної частини "Послуги".

7.Записуємо набір записів регістру накопичення "ПродажіПослуг". У результаті повинен вийде приблизно такий код:

8. Готово. Після виконання даної обробки документи "Реалізація товарів та послуг", які мають заповнену табличну частину "Послуги", з'являться записи в регістрі накопичення "ПродажіПослуг". Ця операція буде виконуватися набагато швидше, ніж якби ми перевели всі документи.

Примітка:

Цей механізм покладено основою типового Допроведення документів, наприклад у конфігурації " Управління Виробничим Підприємством " . Доведення документів виконується коли не потрібно оперативно виконувати будь-які рухи. Наприклад, необов'язково списувати партії на момент оперативного проведення документа, оскільки це триває тривалий час. Допроведення може запускатись за регламентним завданням та записувати набори записів регістрів до документів, тобто всі тривалі перевірки та операції запису виконуються у зручний для користувачів час.