Вивантаження бухгалтерських операцій із конфігурацій, не призначених для ведення бухгалтерського обліку
Під час роботи оператора з формами, що містять велику кількість елементів керування, важливого значення набуває ергономіка.
Під час роботи оператора 1С з формами, що містять велику кількість елементів керування, важливого значення набуває ергономіка.
Досить часто на практиці трапляються випадки, коли з інформаційної бази будь-якої конфігурації, не призначеної для ведення бухгалтерського обліку, необхідно вивантажити дані в конфігурацію, у якій ведеться бухгалтерський облік.
При цьому найчастіше використовуються такі варіанти обміну:
- Вивантаження документів і автоматичне проведення документів після завантаження
- Вивантаження документів, автоматичне проведення документів після завантаження, видалення бухгалтерських операцій, створених за стандартним алгоритмом проведення, і завантаження необхідних бухгалтерських операцій документів із файлу
- Конвертація документів у документи виду «Операція»
- Вивантаження зведених бухгалтерських даних за певний період і завантаження цих даних як документів виду «Операція»
Під час використання конфігурації «Конвертація даних» можна налаштувати правила конвертації для будь-якого з перелічених вище варіантів обміну. Тут ми не будемо описувати методики налаштування правил конвертації, а лише розглянемо особливості реалізації правил для кожного з варіантів.
Варіант 1
. У цьому випадку достатньо налаштувати правила конвертації відповідних документів.
У параметрах обміну правил слід зазначити «статус проведення» — «Авто» або «Провести».
Бухгалтерська операція буде сформована автоматично під час проведення завантаженого документа.
Варіант 2
. У цьому випадку також необхідно налаштувати правила конвертації відповідних документів. Для прив'язки до конвертованого документа довільної бухгалтерської операції необхідно подати потрібні бухгалтерські проводки у формалізованому вигляді, а саме у вигляді об'єкта «таблиця значень». Кожен рядок таблиці значень описує одну проводку. Структура колонок описує поля проводок. Докладно таблицю проводок буде описано після розгляду інших варіантів обміну.
Варіант 3
. Мають бути налаштовані правила виду: Документ(ВидДокумента)-> Документ(Операція). Проводки бухгалтерської операції описуються так само, як у Варіанті 2, у вигляді таблиці значень. Замість документа-джерела може також використовуватися інший об'єкт, наприклад довідник. У цьому випадку налаштовується правило виду: Довідник(ВидДовідника)-> Документ(Операція).
Варіант 4
. Маєбутиналаштованеправило виду: -> Документ(Операція), тобто з порожнім об'єктом-джерелом. У правилах конвертації реквізитів слід або зазначити конкретні значення реквізитів приймача, або правила, за якими ці значення будуть сформовані, або встановити прапорець «Отримати з параметрів». Проводки бухгалтерської операції описуються так само, як у Варіанті 2, у вигляді таблиці значень.
Структура таблиці проводок:
Таблиця значень повинна містити такий набір колонок:
- ПланРахунків – ідентифікатор плану рахунків проводки. За замовчуванням використовується основний план рахунків
- Складна – якщо 1, то описується складна проводка. За замовчуванням – 0.
- РахунокДт – код рахунку дебету проводки
- РахунокКт – код рахунку кредиту проводки
- Сума – сума проводки
- Кількість – кількість проводки
- Валюта – валюта проводки
- ВалСума – валютна сума проводки
- ТабСубконтоДт – таблиця значень субконто дебету проводки
- ТабСубконтоКт – таблиця значень субконто кредиту проводки
- ТабРеквізитівПроводки – таблиця значень реквізитів проводки
Під час написання скриптів ініціалізацію таблиці проводок зручно виконувати так:
ТабПроводок = СтворитиТаблицюПроводок();
Функція СтворитиТаблицюПроводок() повертає порожню таблицю проводок із необхідним складом колонок.
Структура таблиць значень (ТабСубконтоДт
, ТабСубконтоДт, ТабРеквізитівПроводки), що описують значення субконто та реквізити проводки, така:
- Ід – ідентифікатор реквізиту або виду субконто, як його визначено в конфігурації-приймачі
- Значення – значення субконто або реквізиту проводки
- Тип – тип значення (необхідно зазначати лише для реквізитів невизначеного типу)
- Вид – вид значення (необхідно зазначати лише для реквізитів і видів субконто невизначеного виду)
- Ім'яПравила – найменування правила конвертації значення, як його визначено під час налаштування правил у конфігурації «Конвертація даних». За замовчуванням використовується правило, автоматично підібране відповідно до типу (і виду) значення
- СписокПараметрів – список параметрів, що передається правилу конвертації. Необхідний для складних правил обміну, що використовують параметри.
Під час написання скриптів ініціалізацію таблиць, що описують значення субконто та реквізити проводок, зручно виконувати так:
ТабПроводок.ТабСубконтоДт = СтворитиТаблицюРеквізитів();
ТабПроводок.ТабСубконтоКт = СтворитиТаблицюРеквізитів();
ТабПроводок.ТабРеквізитівПроводки = СтворитиТаблицюРеквізитів();
Реалізація
Для вивантаження будь-якого документа та прив'язки до нього довільної бухгалтерської операції слід реалізувати скрипт, у якому буде виконуватися виклик універсальної процедури:
ВивантажитиДокументІОперацію
(ТабПроводок, Об'єктДжерело, СписокПараметрів, ПравилоАбоІм'яПравила, ВимкнутиПроводки);
- ТабПроводок – таблиця проводок, що має структуру, описану вище. Якщо таблиця порожня — вивантаження не виконується. Параметр обов'язковий.
- Об'єктДжерело – конвертований об'єкт-джерело. Параметр необов'язковий.
- СписокПараметрів – список параметрів, що передаються правилу конвертації. Наприклад, може бути передано список значень реквізитів операції (СумаОперації, Зміст тощо). Параметр необов'язковий.
- ПравилоАбоІм'яПравила – найменування правила конвертації, як його визначено під час налаштування правил у конфігурації «Конвертація даних», або безпосередньо посилання на правило. Параметр необов'язковий. За замовчуванням використовується правило, автоматично підібране відповідно до типу (і виду) об'єкта-джерела.
- ВимкнутиПроводки – якщо 1, то після завантаження операції проводки буде вимкнено. Параметр необов'язковий. За замовчуванням — проводки увімкнено.
Скрипт може бути розміщений або в правилі конвертації об'єктів, або в правилі конвертації реквізитів. У першому випадку можна реалізувати довільний відбір вивантажуваних об'єктів (у найпростішому випадку це звичайна вибірка документів). Таким чином, у цьому випадку можлива вибірка об'єктів різних типів і видів. Під час перебору відібраних об'єктів формується таблиця проводок, як це описано вище, і викликається процедура ВивантажитиДокументІОперацію(). Якщо не зазначати параметр ПравилоАбоІм'яПравила, то правило, за яким слід вивантажувати об'єкт, буде підібрано автоматично. Правило, що містить такий скрипт, є свого роду розгалужувачем, який лише експортує дані іншим правилам.
Другий випадок (скрипт реалізовано в правилі конвертації реквізитів) є більш універсальним. У цьому випадку немає необхідності реалізовувати власну вибірку, може використовуватися стандартна, крім того
, у разі увімкнення режиму «за посиланнями» таке правило використовуватиметься лише за наявності посилань на вивантажуваний об'єкт, конвертуючи при цьому й сам об'єкт у документ-приймач і створюючи для документа-приймача бухгалтерську операцію.
Приклад налаштування
У каталозі
ExtForms інформаційноїбазиметодичноїконфігурації розташований файл aMet_ac4.xml, який Ви можете завантажити, використовуючи стандартне завантаження даних CDImport.ert, вінформаційну базу конфігурації «Конвертація даних». Завантажений таким чином приклад правил обміну демонструє налаштування вивантаження документа «ПрибутковаНакладна» з методичної конфігурації в типову конфігурацію «Бухгалтерський облік, ред. 4.4». Документ конвертується в «Надходженнятоварів». Формування бухгалтерської операції налаштовано описаним вище способом.
Примітка:
Універсальна процедура ВивантажитиДокументІОперацію() доступна під час використання обробок вивантаження версії не нижче 5.01 (версія зазначається в заголовку форми обробки CDExport.ert)