Глава 20. Импорт из произвольных баз данных, XML-файлов и Microsoft Excel
В ФинГраде предусмотрены возможности импорта не только из 1С, но и из других источников. Нажав на кнопку Новый на панели управления, над списком источников импорта (см. п. 18.5.1 Список источников импорта), Вы можете добавить следующие источники для импорта:
-
Из базы данных БЭСТ (фирма-разработчик БЭСТ) :

Импорт из БЭСТ выполняется аналогично импорту из 1С.
-
Из произвольных баз данных с помощью SQL-запросов.
-
Из системы автоматизации складского учёта StoreHouse 4, 5 (разработчик - компания UCS).
-
Из систем автоматизации ресторанов R-Keeper версий 6, 7 (разработчик - компания UCS).
-
Из iiko - ERP-системы для автоматизации ресторанного бизнеса.
-
Из XML-файлов.
-
Из нескольких файлов Microsoft Excel.
В свою очередь импорт из произвольных баз данных с помощью запросов на языке SQL (Structured Query Language) - универсальный и мощный инструмент. С его помощью Вы можете импортировать данные из любых источников, к которым Windows позволяет обращаться на языке SQL. В частности это базы данных на основе систем управления базами данных Microsoft SQL Server, PostgresPro Server, Oracle, MySQL, Microsoft Access, Microsoft FoxPro, файлы в формате баз данных dBase (.dbf) и многие другие.
20.1 Добавление источника для импорта из произвольной базы данных
Чтобы добавить в список источник для импорта из произвольной базы данных с помощью SQL-запроса, выполните следующие действия:
- перейдите в раздел
Импорт проводок на главном экране ФинГрада или кликните мышью по иконке поиска
в правом верхнем углу программы ФинГрада, в открывшемся меню с помощью поля ввода найдите команду Импорт проводок и щелкните по ней мышью;
- в открывшейся вкладке раздела Импорт проводок нажмите на кнопку
Новый на панели управления, справа от надписи Импорт проводок бухгалтерии, и в выпадающем меню выберите пункт Из произвольной базы данных:

Откроется диалоговое окно Импорт из произвольной БД:

В этом окне укажите параметры импорта из базы данных:
-
Нажмите на значок многоточия справа в поле строки Параметры БД. Откроется диалоговое окно Свойства канала передачи данных.
- На вкладке Поставщик данных выберите метод подключения к базе данных (чаще всего это Microsoft OLE DB Provider for SQL Server):

- Нажав на кнопку Далее, перейдите на вкладку Соединение. На этой вкладке в поле Выберете или введите имя сервера (Select or enter a server name) надо ввести имя сервера базы данных - например, (local)\SQLEXPRESS, если сервер базы данных Microsoft SQL Express располагается на том же компьютере. Имя сервера базы данных можно узнать у администратора баз данных или системного программиста в Вашей организации, или посмотреть при запуске программы SQLServerManagementStudio:

- В поле Для входа в сервер использовать (Enter information to log on to the server) выбрать позицию встроенную безопасность Windows NT (Use Windows NT Integrated security).
- В поле Выберите базу данных (Select the database) выберите базу данных - для этого можно кликнуть мышью по треугольнику ⏷ в правой части этого поля и выбрать имя базы данных из списка:

- Нажмите на кнопку Проверить соединение. При успешном соединении появится системное сообщение:
- Нажмите на кнопку
ОКдва раза и вернитесь в диалоговое окно Импорт из произвольной БД.
-
После заполнения поля Параметров БД следует задать дальнейшие параметры подключения к базе данных:
- в поле Логин - ввести имя пользователя (учетной записи) для подключения к серверу базы данных;
- в поле Пароль - ввести соответствующий пароль;
- справа от надписи Юр. Лицо - следует кликнуть мышью по гиперссылке не задано, затем в справочнике аналитики Юр. Лицо щёлкнуть наименование юридического лица, данные о хозяйственных операциях которого Вы хотите импортировать, и потом нажать на кнопку Выбрать, либо несколько раз кликнуть мышью по строке с нужным юр.лицом.
Если нужного наименования юридического лица в справочнике нет, необходимо нажать на кнопку
Добавить или нажать на клавишу
Add(+на цифровой клавиатуре), чтобы создать новую строку в справочнике, заполнить её и щёлкнуть по кнопке Сохранить (см. главу 9. Справочники аналитик); -
В поле Название импорта надо назначить условное имя для данного импорта. Имена, назначенные разным источникам данных, не должны совпадать. По умолчанию предлагается имя источника данных, совпадающее с наименованием юридического лица, данные о хозяйственных операциях которого Вы собираетесь импортировать.
-
Задав эти параметры, нажмите на кнопку Проверить подключение к БД в левом нижнем углу диалогового окна Импорт из произвольной БД. ФинГрад проверит правильность параметров подключения к базе данных. Если параметры были заданы правильно, ФинГрад выдаст системное сообщение Соединение с БД установлено успешно:
Если же к базе данных подключиться не удалось, ФинГрад выведет сообщение об ошибке. В этом случае надо будет изменить параметры подключения к базе данных и снова проверить подключение к базе данных.
-
В поле Запрос к БД диалогового окна Импорт из произвольной БД прописывается SQL-запрос к базе данных с комментариями. О том, как составлять эти запросы, смотрите в п. 20.2 Составление SQL-запроса.
После того, как текст запроса введён, нажмите на кнопку Проверить запрос к БД, расположенную в нижней части диалогового окна. ФинГрад проверит корректность введённого SQL-запроса. Для этого ФинГрад выполняет запрос, но без записи данных в базу данных ФинГрада. Если при этом не возникло ошибок, то ФинГрад выводит системное сообщение: Запрос к БД выполнен успешно:
Если же при выполнении запроса возникли ошибка, ФинГрад выведет системное сообщение об ошибке, например, такого вида:
В этом случае нужно изменить текст SQL-запроса и снова проверить корректность запроса, нажав на кнопку Проверить запрос к БД.
-
После того, как параметры подключения к базе данных и SQL-запрос созданы и проверены, нажмите на кнопку
ОК.
Вы вернётесь в список источников импорта. В этом списке появится новая строка для импорта из базы данных с помощью SQL-запроса:

В поле Тип этой строки будет написано Inversion. Поле Дата начала учёта для таких строк не заполняется.
20.2 Составление SQL-запроса
20.2.1 Формат запроса при импорте из SQL базы данных
Импорт в ФинГрад из базы данных, работающей под управлением системы управления базами данных, использующей язык SQL (Microsoft SQL, PostgresPro, Oracle, MySQL), обычно осуществляется с помощью SQL-запроса следующего вида:
SELECT
Выражение1 AS имя-колонки-ФинГрада-1,
Выражение2 AS имя-колонки-ФинГрада-2,
…
ВыражениеN AS имя-колонки-ФинГрада-N
FROM таблица
WHERE opDate >=? and opDate<? (здесь могут быть указаны дополнительные условия)
ORDER BY opDate asc
Здесь:
Выражение1,Выражение2…ВыражениеN- выражения языка SQL, задающие значения, которые будут присвоены соответствующие полям проводки ФинГрада;имя-колонки-ФинГрада-1,имя-колонки-ФинГрада-2…имя-колонки-ФинГрада-N- имена, указывающие, каким колонкам (полям) проводки ФинГрада будут присвоены эти значения. Перечень имён колонок приведён ниже;таблица- выражение языка SQL, задающее таблицу, на основании которой формируются проводки ФинГрада. По каждой строке этой таблицы, удовлетворяющей условиюWHERE, формируется проводка ФинГрада. А при определённых условиях, о которых будет сказано ниже, даже две или три проводки (см. п. 20.7 Отличия от импорта из 1С).
20.2.2 Имена колонок ФинГрада, используемые в SQL-запросе
Имена колонок ФинГрада, которые можно применять в SQL-запросе, представлены в данной таблице:
| Имя колонки ФинГрада | Назначение |
|---|---|
| opDate | Дата проводки. Импортируемые данные должны быть упорядочены по дате проводки |
| LegalEntity | Наименование юридического лица, к которому относится проводка |
| Comment | Комментарий к проводке |
| SK_имя_аналитики1 SK_имя_аналитики2 | Имена аналитик ФинГрада, относящихся ко всей проводке. Имя аналитики задаётся после символов SK_. Например, SK_Документ означает, что соответствующие данные будут записаны в аналитику ФинГрада Документ |
| Db_account | Имя счёта дебета проводки. Это значение не может быть пустым |
| Cr_account | Имя счёта кредита проводки. Это значение не может быть пустым |
| Db_currency | Валюта дебета проводки (например, RUR, USD, EUR и т.п.) |
| Cr_currency | Валюта кредита проводки (например, RUR, USD, EUR и т.п.) |
| Db_sum | Сумма дебета проводки (выраженная в валюте дебета проводки) |
| Cr_sum | Сумма кредита проводки (выраженная в валюте кредита проводки) |
| Db_GoodsAmount | Количество товара дебета проводки |
| Cr_GoodsAmount | Количество товара кредита проводки |
| Db_accountHint | Подсказка, используемая при создании счёта дебета проводки (см. п. 20.4 Создание счетов при импорте). Этот параметр не обязателен |
| Cr_accountHint | Подсказка, используемая при создании счёта кредита проводки (см. п. 20.4 Создание счетов при импорте). Этот параметр не обязателен |
| Db_accountComment | Комментарий, который задаётся при создании счёта дебета проводки (см. п. 20.4 Создание счетов при импорте). Этот параметр не обязателен |
| Cr_accountComment | Комментарий, который задаётся при создании счёта кредита проводки (см. п. 20.4 Создание счетов при импорте). Этот параметр не обязателен |
| Db_SK_имя_аналитики1 Db_SK_имя_аналитики2 | Имена аналитик ФинГрада, относящихся к дебету проводки. Имя аналитики задаётся после символов Db_SK_. Например, Db_SK_Товар означает, что соответствующие данные относятся к дебету проводки и будут записаны в аналитику ФинГрада Товар |
| Cr_SK_имя_аналитики1 Cr_SK_имя_аналитики2 | Имена аналитик ФинГрада, относящихся к кредиту проводки. Имя аналитики задаётся после символов Cr_SK_. Например, Cr_SK_Товар означает, что соответствующие данные относятся к кредиту проводки и будут записаны в аналитику ФинГрада Товар |
1. Часто в базе данных, из которой проводится импорт, содержатся сведения о хозяйственных операциях только одного юридического лица. Поэтому сведения о наименовании юридического лица там отсутствуют. В этом случае значение колонки LegalEntity может быть задано как константа, например:
'Фирма1' AS LegalEntity
2. Выражение ORDER BY opDate asc в запросе обеспечивает упорядоченность выдаваемых запросом данных по возрастанию значения opDate - даты проводки.
20.2.3 Таблица и условие отбора
Таблица, на основании которой формируются проводки ФинГрада, указывается после оператора языка SQL FROM. Эта таблица может содержаться в базе данных, например:
FROM [VF_SQL_2].[dbo].[PostsData$]
Но чаще эта таблица задаётся как выражение SQL, поскольку нужные для импорта в ФинГрад данные приходится собирать из нескольких таблиц базы данных.
Например:
FROM xxi.trn LEFT JOIN xxi.CDE
ON trn.itrnnum=cde.icdetrnnum AND trn.itrnanum=cde.icdetrnanum
LEFT JOIN gtr ON trn.itrnnum = igtrtrnnum AND trn.itrnanum = igtrtrnanum AND igtrcat=703
LEFT JOIN obg ON igtrcat=iobgcat AND igtrnum=iobgnum
Условие отбора. Выше мы написали, что в SQL-запросе для импорта из базы данных должна содержаться следующая строка:
WHERE opDate >=? and opDate<?
Эта строка задаёт условие отбора: импортироваться будут только записи о хозяйственных операциях, в которых дата проводки находятся между начальной и конечной датой, заданными в Импорте проводок.
Но если данные для импорта собираются в SQL-запросе из нескольких таблиц базы данных, то к условиям opDate >=? и opDate<? могут добавиться дополнительные условия, например:
WHERE opDate >=? and opDate<? and (dt.ACC_NAME is not null and ct.ACC_NAME is not null and fAcDt.DtIgnor = 0 and fAcKt.KtIgnor = 0)
Примеры составления SQL-запросов для импорта в ФинГрад из баз данных мы приведём в п.п. 20.9 Пример импорта проводок, заданных в SQL-запросе.. 20.12 Примеры SQL-запросов, использованных в реальных задачах.
20.3 Соответствие счетов и аналитик при импорте
При импорте из проводок 1С соответствие счетов 1С счетам ФинГрада (счетам управленческого учёта) задаётся на вкладке Счета в настройках импорта (см. п. 18.8 Настройка отображения счетов 1С в счета ФинГрада). Соответствие субконто 1С аналитикам ФинГрада - на вкладке Субконто. А при импорте из базы данных с помощью SQL-запроса этих вкладок в настройках импорта нет. Это значит, что отображение наименований счетов и аналитической информации, содержащихся в исходных проводках, в ФинГрад, должны быть выполнены иными средствами.
20.3.1 Соответствие счетов при импорте
При выполнении SQL-запроса в полях Db_account и Cr_account должны быть записаны имена счетов ФинГрада. Однако в исходных проводках, которые надо импортировать в ФинГрад, чаще всего содержатся не названия счетов ФинГрада, а наименования (номера) счетов бухгалтерского учёта. Поэтому Вы можете:
- либо использовать в ФинГраде те же наименования счетов, что и в бухгалтерском учёте. Обычно удобно создавать эти счета как субсчета соответствующих им счетов ФинГрада;
- либо задать отображение наименований счетов бухгалтерского учёта в наименования счетов ФинГрада.
Первый вариант обычно используется в банках - там счетов бухгалтерского учёта может быть очень много, десятки и сотни тысяч. Ведь операции по каждому открытому в банке расчётному, кредитному или депозитному счёту отображаются на отдельном счёте бухгалтерского учёта. Счета ФинГрада, соответствующие этим счетам бухгалтерского учёта, как правило, автоматически создаются при импорте и автоматически помещаются в нужную группу счетов ФинГрада на основании сведений, содержащихся в справочнике аналитики Добавление счетов из импорта (см. п. 20.4 Создание счетов при импорте).
Второй вариант обычно используется в небанковских организациях, применяющих обычный план счетов бухгалтерского учёта. Отображение номеров счетов бухгалтерского учёта в имена счетов ФинГрада обычно осуществляется с помощью вспомогательной таблицы данных.
20.3.2 Соответствие аналитик при импорте
Имена аналитик, в которые будут записаны данные, импортированные из базы данных с помощью SQL-запроса, задаются непосредственно в SQL-запросе. Как уже сказано выше, для задания этих имён аналитик в SQL-запросе используются следующие названия:
| Имя колонки ФинГрада | Назначение |
|---|---|
| SK_имя_аналитики1 SK_имя_аналитики 2 | Имена аналитик ФинГрада, относящихся ко всей проводке. Имя аналитики задаётся после символов SK_. Например, SK_Документ означает, что соответствующие данные будут записаны в аналитику ФинГрада Документ |
| Db_SK_имя_аналитики1 Db_SK_имя_аналитики2 | Имена аналитик ФинГрада, относящихся к дебету проводки. Имя аналитики задаётся после символов Db_SK_. Например, Db_SK_Товар означает, что соответствующие данные относятся к дебету проводки и будут записаны в аналитику ФинГрада Товар |
| Cr_SK_имя_аналитики1 Cr_SK_имя_аналитики2 | Имена аналитик ФинГрада, относящихся к кредиту проводки. Имя аналитики задаётся после символов Cr_SK_. Например, Cr_SK_Товар означает, что соответствующие данные относятся к кредиту проводки и будут записаны в аналитику ФинГрада Товар |
Если имя аналитики ФинГрада содержит пробелы, точки, дефисы или иные специальные символы, то всё имя соответствующей колонки, включая символы SK_ или Db_SK_, или Cr_SK_, надо заключить в квадратные скобки.
Например:
[SK_Документ 1С]
[Db_SK_90.1 Разнесение выручки]
[Cr_SK_Наценки.Ставка]
Аналитики ФинГрада, имена которых задаются после символов SK_ или Db_SK_, или Cr_SK_, при выполнении импорта должны уже существовать. Если после символов SK_ или Db_SK_, или Cr_SK_ встретится неизвестное ФинГраду имя аналитики, то ФинГрад выдаст ошибку и импорт не будет выполнен.
20.4 Создание счетов при импорте
Если при импорте из базы данных с помощью SQL-запроса ФинГрад не найдёт счёта, указанного в поле Db_account или Cr_account, то он может сам создать счёт ФинГрада с заданным именем. Нужно только указать ФинГраду, в какой группе счетов надо создавать этот счёт. Это необходимо для того, чтобы отчёты о финансовых результатах были правильными.
20.4.1 Справочник аналитики "Добавление счетов из импорта"
Для указания группы счетов, в которой должен быть создан счёт, используется справочник аналитики Добавление счетов из импорта:

Назначение колонок справочника. В основной колонке справочника аналитики Добавление счетов из импорта записаны маски - строки символов, в которых могут использоваться специальные символы * и ?. Эти символы имеют следующие значения:
?- любой символ или отсутствие символа;*- любое количество любых символов или отсутствие символа.
В колонке Группа счетов указывается группа счетов, в которой будет создаваться счёт ФинГрада, если имя счёта или подсказка удовлетворяют данной маске (см. ниже).
Если в справочнике имеются другие колонки, то они задают свойства создаваемого счёта.
Разумеется, справочник аналитики Добавление счетов из импорта должен создаваться исходя из экономического смысла импортируемых счетов, плана счетов управленческого учёта организации и учётной политики управленческого учёта.
20.4.2 Порядок использования справочника
Справочник аналитики Добавление счетов из импорта используется ФинГрадом, если он при импорте из базы данных с помощью SQL-запроса не найдёт счёта, указанного в поле Db_account или Cr_account.
Далее изложим порядок использования данного справочника:
-
Сначала ФинГрад определяет строку символов, по которой будет искать подходящую маску в справочнике:
- если ФинГрад обращается к справочнику аналитики Добавление счетов из импорта потому, что он не нашёл счёта, указанного в поле Db_account, то строка символов для поиска - это значение поля Db_accountHint (подсказка). Если же это значение не задано - то значение поля Db_account (имя счёта дебета проводки);
- аналогично происходит, если ФинГрад обращается к справочнику аналитики Добавление счетов из импорта потому, что он не нашёл счёта, указанного в поле Cr_account, то строка символов для поиска маски - это значение поля Cr_accountHint (подсказка). Если же оно не задано - то значение поля Cr_account (имя счёта кредита проводки).
-
Далее ФинГрад просматривает в алфавитном порядке основную колонку справочника аналитики Добавление счетов из импорта и ищет в этой колонке маску, под которую подходит строка, заданная в п.1.
-
Если такая маска имеется, то:
- значение поля в колонке Группа счетов той строки, в которой найдена подходящая маска, определяет название группы счетов, в которой ФинГрад будет создавать новый счёт (субсчёт);
- если в справочнике аналитики, кроме основной колонки и колонки Группа счетов, есть и другие колонки, то ФинГрад устанавливает для созданного счёта свойства согласно значениям в этих колонках той же строки справочника.
-
Если для счёта не найдена подходящая маска или если счёт не может быть создан, или если произошла какая-то иная ошибка, то вместо такого счёта используется счёт ФинГрада К разноске.
1. Счёт не может быть создан, например, если значение в колонке Группа счетов указывает на счёт, по которому имеются проводки. Создавать субсчета к таким счетам нельзя.
2. После нахождения подходящей маски ФинГрад прекращает поиск в таблице аналитики Добавление счетов из импорта. Иными словами, ФинГрад создаёт счёт в группе счетов, указанной в колонке Группа счетов первой строки, в которой обнаружена подходящая маска.
20.4.3 О подсказках Db_accountHint и Cr_accountHint
"Подсказки" Db_accountHint и Cr_accountHint могут использоваться для указания группы счетов ФинГрада, в которой надо создавать новый счёт при импорте с помощью SQL-запроса.
Для банков группы счетов ФинГрада, к которым относится счёт банковского учёта (банковский счёт), обычно определяются по наименованию банковского счёта. Но некоторые банковские счета являются исключением. Их надо отображать в иные группы счетов ФинГрада, чем банковские счета с похожим именем. Для обработки таких счетов-исключений используются "подсказки" Db_accountHint и Cr_accountHint.
При импорте данных о хозяйственных операциях российских небанковских организаций в качестве подсказки для создания счетов (Db_accountHint или Cr_accountHint) удобно использовать номера счётов бухгалтерского учёта, содержащиеся в импортируемых проводках. В этом случае подсказки Db_accountHint и Cr_accountHint могут задаваться во всех импортируемых проводках.
20.4.4 Примеры составления справочника аналитики "Добавление счетов из импорта"
Пример заполнения справочника аналитики Добавление счетов из импорта для банковских организаций приведён на рисунке выше, в п. 20.4.1 Справочник аналитики "Добавление счетов из импорта". Здесь новые счета при импорте добавляются на основании наименований счетов банковского бухгалтерского учёта. Полностью этот пример приведён в приложении 7. Справочник "Добавление счетов из импорта" для банков.
Для российских небанковских организаций добавление счетов при импорте обычно осуществляется на основании номеров российских счётов бухгалтерского учёта, которые задаются в импортируемых проводках как "подсказки", то есть как значения в колонках Db_accountHint и Cr_accountHint. В этом случае справочник аналитики Добавление счетов из импорта может выглядеть примерно так:
| Добавление счетов из импорта | Группа счетов |
|---|---|
| 01* | Основные средства |
| 02* | Основные средства |
| 03* | Товары на складах |
| 04* | Прочие операционные расходы |
| 07* | Товары на складах |
| 08* | Прочие активы |
| 10* | Товарные запасы |
| 11* | Товарные запасы |
| 14* | Товарные запасы |
| 15* | Товарные запасы |
| 16* | Товарные запасы |
| 19* | НДС по приобретенным ценностям (сч.19) |
| 20* | Товарные запасы |
| 21* | Товарные запасы |
| 23* | Товарные запасы |
| 28* | Товарные запасы |
| 29* | Товарные запасы |
| 40* | Товарные запасы |
| 41* | Товарные запасы |
| 42* | Товарные запасы |
| 43* | Товарные запасы |
| 44* | Операционные расходы |
| 46* | Расчеты с покупателями |
| 50* | Касса |
| 55.01* | Денежные средства |
| 55.21* | Денежные средства |
| 57* | Деньги в пути |
| 58* | Финансовые вложения |
| 59* | Финансовые вложения |
| 60* | Поставщики |
| 62* | Покупатели |
| 66* | Кредиты и займы полученные |
| 67* | Кредиты и займы полученные |
| 68* | Расчеты по налогам |
| 69* | Прочие расчеты по социальному страхованию и обеспечению |
| 73* | Прочие расчеты |
| 75* | Вложения капитала |
| 76* | Прочие расчеты |
| 80* | Вложения капитала |
| 81* | Вложения капитала |
| 82* | Резервный капитал |
| 83* | Вложения капитала |
| 84* | Нераспределенная прибыль |
| 86* | Прочие Доходы/Расходы |
| 90.02* | Себестоимость продаж |
| 90.04* | Себестоимость продаж |
| 90.05* | Себестоимость продаж |
| 91* | Прочие Доходы/Расходы |
| 94* | Недостатки и потери от порчи ценностей |
| 96* | Резервы прочие |
| 97* | Расходы будущих периодов |
| 98* | Доходы будущих периодов |
| 99* | Прибыли и Убытки |
Можно поступить и проще - не задавать многочисленные правила для создания счетов, а создать всего один счёт ФинГрада, например, Счета, добавленные при SQL-импорте. И сделать справочник аналитики Добавление счетов из импорта всего с одной строкой:
| Добавление счетов из импорта | Группа счетов |
|---|---|
| * | Счета, добавленные при SQL-импорте |
В этом случае при импорте в ФинГрад с помощью SQL-запроса, когда в поле Db_account или Cr_account будет встречено имя счёта, которого нет в плане счетов ФинГрада, то этот счёт будет создан как субсчёт в группе счетов Счета, добавленные при SQL-импорте. После выполнения импорта все счета, появившиеся в этой группе счетов, надо будет вручную переместить в нужные группы счетов ФинГрада.
1. В приведённой выше таблице счёт 20 "Незавершённое производство" отображается в группу счетов "Товарные запасы", поскольку согласно п. 6 стандарта МСФО (IAS) 2 "Запасы", активы, находящиеся в процессе производства для продажи в ходе обычной деятельности, учитываются в составе запасов.
2. Счетов 25 "Общепроизводственные расходы" и 26 "Общехозяйственные расходы" в приведённой выше таблице нет, так как обычно расходы, которые учитываются на этих счетах, должны разноситься в разные группы счетов МСФО в соответствии с их экономическим смыслом. Это может осуществляться, например, с помощью трансформационной проводки при импорте. Счёт ФинГрада, на который разносятся расходы, может определяться с помощью справочника аналитики. Например, на приведённом ниже рисунке разнесение общепроизводственных расходов выполняется с помощью справочника аналитики 26 Разнесение общепроизводственных затрат. В колонке Статья этой аналитики указывается статья общехозяйственных затрат, а в колонке Счет расходов - соответствующий счёт ФинГрада. В этом примере у аналитики есть ещё колонка Подразделение, так как зачастую нужный счёт ФинГрада должен выбираться в зависимости от того, к какому подразделению организации относится проводка.

Здесь условие на аналитику Контрагент: Колонка("Наименование")==""|| Колонка("Наименование")==р.Аналитика("Юр. лицо") означает, что зависимая проводка генерируется для внутрихолдинговых хозяйственных операций.
20.5 Трансформации при импорте
При импорте из базы данных с помощью SQL-запроса, так же как при импорте из проводок 1С, можно задавать правила трансформаций. Для задания трансформаций используется вкладка Трансформация параметров импорта.
Чтобы настроить трансформации при импорте из базы данных с помощью SQL-запроса, следует:
- нажать на кнопку
Настройки в правом нижнем углу раздела Импорт проводок (см. п. 20.1 Добавление источника для импорта из произвольной базы данных) и перейти на вкладку Трансформация;
- или при просмотре результатов импорта кликнуть мышью по вкладке Трансформация.
На экран будет выведена вкладка Трансформация настроек импорта. Эта вкладка выглядит и используется так же, как при импорте из проводок 1С (см. п. 18.11 Настройка трансформаций при импорте).

Чтобы настроить правила трансформаций, надо нажать на кнопку Редактировать в правом верхнем углу вкладки.
Рекомендуемые трансформации при импорте. При импорте из базы данных с помощью SQL-запроса обычно имеет смысл задавать следующие правила трансформации:
-
Трансформации для игнорирования проводок. При импорте из проводок 1С ФинГрад по умолчанию предлагает игнорировать проводки по дебету и кредиту некоторых счетов бухгалтерского учёта (см. п. 18.8.3 Настройка игнорирования проводок по дебету или кредиту счёта). В частности, обычно игнорируются проводки по закрытию счетов для определения прибыли и убытка (все проводки по счетам бухгалтерского учёта 99.1 "Прибыли и убытки", 91.9 "Прибыль/убыток от продаж", 91.9 "Сальдо прочих доходов и расходов", проводки по кредиту счетов 90.2 "Себестоимость продаж", 90.3 "Налог на добавленную стоимость" и по дебету счёта 90.1 "Выручка"). Это делается на вкладке Счета окна настроек импорта из 1С.
-
При импорте из базы данных с помощью SQL-запроса аналогичные действия по игнорированию проводок выполняются с помощью правил трансформаций, как это описано в п. 18.11.4 Использование трансформации для фильтрации проводок.
-
Трансформации для распределения издержек. Часто проводки по учёту затрат, для которых в бухгалтерском учёте используются счета 25 "Общепроизводственные расходы", 26 "Общехозяйственные расходы", 44 "Расходы на продажу", должны разноситься в разные группы счетов МСФО в соответствии с их экономическим смыслом. В таких случаях в настройках импорта из базы данных с помощью SQL-запроса следует написать правила трансформаций, которые вместо проводок бухгалтерского учёта по распределению затрат создают проводки ФинГрада, по тем правилам, которые установлены в учётной политике управленческого учёта.
-
Трансформации для корректировки различий между учётными политиками бухгалтерского и управленческого учёта. В управленческом учёте часто применяется учётная политика, отличная от учётной политики бухгалтерского учёта. Это может быть вызвано следующими причинами:
- потребностями управления. Например, себестоимость продукции в управленческом учёте может быть необходимо оценивать по прямым издержкам (метод "директ-костинг");
- стремлением соблюсти в управленческом учёте стандарты МСФО;
- организационными причинами. Например, в дочерней компании иностранной фирмы бухгалтерский учёт должен вестись согласно национальным стандартам, а управленческий учёт может вестись по правилам, установленным материнской компанией.
В связи с отличиями между учётными политиками бухгалтерского и управленческого учёта в ФинГраде обычно необходимо выполнять корректировочные проводки, приводящие импортированные данные о хозяйственных операциях в соответствие с учётной политикой управленческого учёта. Поэтому желательно написать правила трансформаций, которые бы при импорте данных:
- генерировали те корректировочные проводки, которые можно создавать автоматически;
- помечали данные о проводках, в связи с которыми требуется решение человека (бухгалтера, ведающего управленческим учётом, финансового директора и т.п.). Например, у таких проводок счётом дебета или счётом кредита может быть установлен субсчёт, у которого в имени содержатся слова к разноске. Или же для них может быть установлено определённое значение аналитики.
20.6 Выполнение импорта из базы данных
После того, как мы произвели все необходимые настройки для импорта из базы данных с помощью SQL-запроса, а именно:
- добавили источник данных для импорта (п. 20.1 Добавление источника для импорта из произвольной базы данных);
- задали SQL-запрос (п. 20.2 Составление SQL-запроса);
- определили правила трансформации, если они были необходимы (п. 20.5 Трансформации при импорте),
мы можем выполнить импорт из базы данных с помощью SQL-запроса.
Запуск импорта. Чтобы начать импорт из базы данных с помощью SQL-запроса, следует:
- на главном экране ФинГрад перейти в раздел
Импорт проводок;
- или кликнуть мышью по иконке поиска
в правом верхнем углу программы ФинГрада, в открывшемся меню с помощью поля ввода найти команду Импорт проводок и щёлкнуть по ней мышью.
ФинГрад откроет вкладку Импорт проводок со списком источников импорта.
В этом списке следует:
-
Кликнуть мышью по строке, соответствующей нужному источнику импорта.
-
В нижнем левом углу вкладки Импорт проводок указать период, за который Вы будете импортировать данные о хозяйственных операциях (проводки).
Задание периода осуществляется так же, как при импорте из 1С (см. п. 18.5.2 Задание периода импорта).
-
Щёлкнуть мышью кнопку
Синхронизировать. ФинГрад запустит процесс импорта.
Выполнение импорта. Как и при импорте из проводок 1С, Вы можете остановить выполнение импорта, нажав на кнопку , которая выводится в левом верхнему углу вкладки, справа от индикатора хода выполнения импорта. Индикатор хода выполнения импорта же сообщает, какая часть проводок уже импортирована:
Если импорт был выполнен успешно и без ошибок, то ФинГрад перейдет во вкладку Проводки, где Вы сможете просмотреть список импортированных проводок. Если при выполнении импорта были обнаружены ошибки/предупреждения, то ФинГрад сообщит об этом системным сообщением в конце импорта. После нажатия на кнопку ОК в системном сообщении сможете просмотреть на экране результаты импорта.
Просмотр результатов импорта. По окончании импорта откроется вкладка Проводки со списком проводок - то есть с результатами импорта:

Импортированы будут только те проводки, у которых наименование юридического лица (поле LegalEntity SQL-запроса) совпадает с наименованием юридического лица, указанным в колонке Юр. Лицо той строки списка источников данных, с помощью которой был запущен импорт. Если в базе данных содержатся сведения о хозяйственных операциях нескольких юридических лиц, и их надо импортировать в ФинГрад, надо для каждого юридического лица создать свою строку в окне со списком источников данных. Или указать в SQL-запросе поле LegalEntity как константу, а значение аналитики Юр. Лицо импортировать через другое поле SQL-запроса, например, как поле [SK_Юр. лицо]. Тогда при импорте всегда будут импортироваться проводки для всех юридических лиц.
Ошибки и предупреждения. Если при импорте были сформированы системные сообщения об ошибках и/или предупреждениях, то они выводятся в панели со списком ошибок и предупреждений в нижней части экрана со списком импортированных проводок:

Если в самом SQL-запросе была допущена ошибка, то ФинГрад может вывести подобное сообщение об ошибке:
Тогда необходимо вернуться к настройкам SQL-запроса и исправить ошибку.
Вы можете выполнять следующие действия при наличии ошибок и предупреждений:
- просматривать список ошибок и предупреждений;
- исправлять ошибки в настройках импорта на вкладке Трансформация окна настроек импорта;
- исправлять SQL-запрос в диалоговом окне Импорт из произвольной БД, два раза кликнув соответствующую строку импорта в списке источников импорта;
- настраивать план счетов ФинГрада (раздел
Настройки →
Аналитики) и аналитики (раздел
Настройки →
План счетов);
- заново запускать импорт щелчком по кнопке
Синхронизировать.
Выход из окна просмотра и настроек импорта. Закончив работу по импорту данных, нажмите на кнопку Закрыть.
20.7 Отличия от импорта из 1С
В ФинГраде импорт из базы данных с помощью SQL-запроса имеет некоторые отличия от импорта из проводок базы данных 1С.
Отличия в значениях аналитик. ФинГрад помещает в создаваемые при импорте проводки значения некоторых служебных аналитик. Набор и значения этих аналитик при импорте из базы данных с помощью SQL-запроса несколько отличаются от тех, что имеют место при импорте из проводок базы данных 1С.
-
При импорте из проводок 1С ФинГрад устанавливает значения аналитик, указанных на вкладке Субконто окна настроек импорта, а также значения аналитик Db счет 1C, Cr счет 1C, Валюта 1С, Валютная сумма 1С, Рублевая сумма 1С, Документ 1С.
А при импорте из базы данных с помощью SQL-запроса ФинГрад устанавливает значения аналитик, указанных в SQL-запросе (поля запроса SK_имя-аналитики, или Db_SK_имя-аналитики, или Cr_SK_имя-аналитики).
-
При импорте из базы данных с помощью SQL-запроса у аналитики Источник данных:
- не задано значение колонки Дата начала учета;
- в колонке Тип указано значение Inversion.
Отсутствие запроса начальных остатков. Ещё одно важное отличие от импорта из проводок 1С состоит в том, что при импорте из базы данных с помощью SQL-запроса ФинГрад не производит импорт начальных остатков (см. п. 18.5.8 Импорт начальных остатков).
Отсутствие главной валюты. В 1С имеется "главная валюта", как правило, это российский рубль. И если для дебета или кредита проводки не указана валюта, то считается, что это главная валюта. А при импорте из базы данных с помощью SQL-запроса такого понятия, как "главная валюта", нет. Поэтому валюту необходимо задавать и для дебета, и для кредита каждой проводки.
Обработка "расщепления" проводок. Как мы описывали в п. 18.12.3 Генерация двух проводок ФинГрада по одной проводке 1С, при импорте из 1С бывают ситуации, когда исходная проводка не может быть представлена в виде одной проводки ФинГрада. Например, если по дебету и кредиту исходной проводки имеется один и тот же вид субконто (который переходит в аналитику ФинГрада), но с разными значениями для дебета и кредита. Или если суммы, валюты или количество по дебету и кредиту в исходной проводке не совпадают. В этих случаях исходная проводка представляется в виде двух проводок ФинГрада.
При импорте из базы данных с помощью SQL-запроса исходная проводка тоже не всегда может быть представлена в виде одной проводки ФинГрада. Но обрабатывается эта ситуация не совсем так, как при импорте из 1С.
Существуют следующие отличия:
-
В качестве промежуточного счёта в создаваемых проводках используется:
- при импорте из 1С - счёт 00;
- при импорте с помощью SQL-запроса - счёт Транзит для импорта из БД.
-
Если при импорте из 1С оказывается, что валюты по дебету и кредиту в исходной проводке не совпадают, то ФинГрад использует в качестве промежуточного счёта для создаваемых проводок не счёт 00, а счёт Обмен, и генерирует две проводки.
А при импорте с помощью SQL-запроса на счёте Обмен осуществляется только обмен валют. Если в исходной проводке по дебету и кредиту указаны не только разные валюты, но и разные количества, или разные значения одной и той же аналитики, то в дополнение к проводке для обмена валюты создаются ещё две проводки ФинГрада, с использованием промежуточного счёта Транзит для импорта из БД.
Таким образом, по одной исходной проводке могут быть сформированы:
- при импорте из 1С - одна или две проводки ФинГрада;
- при импорте с помощью SQL-запроса - одна, две или три проводки ФинГрада.
Переименование счетов ФинГрада. При импорте из 1С все данные о счетах ФинГрада хранятся в ФинГраде, и 1С ничего о них не знает. ФинГрад корректно обрабатывает изменения в своём плане счетов, поэтому Вы можете переименовывать счета ФинГрада, перемещать их из одной группы счетов в другую, и импорт из 1С после этого всё равно будет производиться правильно. Ранее импортированные проводки при этом не надо будет повторно импортировать в ФинГрад.
А при импорте с помощью SQL-запроса результат SQL-запроса должен содержать имена счетов ФинГрада. Поэтому счета ФинГрада, которые используются в проводках, импортируемых из базы данных с помощью SQL-запроса, можно перемещать из одной группы счетов в другую. Но переименовывать эти счета нельзя. Если это сделать, то ФинГрад при следующем импорте с помощью SQL-запроса сторнирует ранее импортированные из того же источника данных проводки по переименованному счёту, создаст счёт со старым именем и добавит проводки по этому счёту.
Если переименование счёта ФинГрада, используемого в проводках, импортируемых из базы данных с помощью SQL-запроса, всё же необходимо, надо не только переименовать счёт, но и обеспечить, чтобы SQL-запрос выдавал (в полях Db_account или Cr_account) новое имя счёта ФинГрада.
Переименование аналитик ФинГрада. Если требуется переименовать аналитику ФинГрада, используемую в проводках, импортируемых из базы данных с помощью SQL-запроса, то имя аналитики надо поменять не только в разделе Настройки →
Аналитики, но и в SQL-запросе.
20.8 Особенности импорта из внешних источников данных
ФинГрад может импортировать данные с помощью SQL-запроса не только из SQL-баз данных, но и таких источников, как базы данных Microsoft Access, Microsoft FoxPro, из файлов Microsoft Excel, файлов dBase и тому подобных источников.
Импорт из таких источников данных обычно осуществляется через установленные в Windows ODBC или OLEDB драйверы. Эти драйверы поддерживают лишь ограниченное подмножество возможностей языка SQL. Из-за этих ограничений вроде бы вполне корректные SQL-запросы могут вызывать ошибки при импорте: драйвер отказывается выполнять импорт и выдаёт сообщение об ошибке.
В частности, проблемы при импорте могут вызывать:
-
Оператор
ORDER BY- например, драйвер ODBC или OLEDB отказывается выполнять импорт из Microsoft Access или Microsoft Excel, если в SQL-запросе имеется операторORDER BY. Поэтому приходится этот оператор не использовать в запросе. Это означает, что таблица, из которой будет производиться импорт, должна быть упорядочена по дате и времени проводки (по полю opDate). -
Задание имён колонок с помощью оператора
AS. Например, при импорте из Microsoft Excel выражения типаВыражение AS имя-колонки-ФинГрадамогут вызывать сообщения об ошибке. Поэтому приходится создавать таблицу данных, из которой импортируются данные в ФинГрад так, чтобы имена колонок в этой таблице были такие, как нужно ФинГраду (см. п. 20.2.2 Имена колонок ФинГрада, используемые в SQL-запросе). И чтобы нужные ФинГраду данные содержались в этой таблице, а не вычислялись в SQL-запросе. Это позволяет обойтись без оператора
AS. -
При импорте из Microsoft Excel поля с точками в названии и пробелами в начале или конце названия импортироваться не будут. Если в файле-источнике есть такие поля, переименуйте их перед импортом.
Например, запрос для импорта в ФинГрад из Microsoft Excel может быть таким:
SELECT
opDate, LegalEntity, comment,
[SK_ДокументНомер], [SK_Документ], [SK_ЖурналНомер],
Db_account, Db_accountHint, Db_GoodsAmount, Db_currency, Db_sum,
[Db_SK_Товар], [Db_SK_Сотрудник], [Db_SK_Контрагент],
Cr_account, Cr_accountHint, Cr_GoodsAmount, Cr_currency, Cr_sum,
[Cr_SK_Товар], [Cr_SK_Сотрудник], [Cr_SK_Контрагент]
FROM [Проводки$]
WHERE opDate >= ? and opDate < ?
Здесь в запросе используются аналитики ДокументНомер, Документ, и ЖурналНомер, относящиеся к проводке в целом, и аналитики Товар, Сотрудник и Контрагент, которые могут относиться как к дебету, так и к кредиту проводки.
Выражение FROM [Проводки$] в запросе означает, что данные импортируются из листа Проводки файла таблицы Microsoft Excel. Названия колонок следует указывать в первой строке листа Excel:

Импорт с помощью Microsoft SQL/PostgresPro Server. Есть ещё один способ импорта в ФинГрад из баз данных MicrosoftAccess, Microsoft FoxPro, файлов Microsoft Excel, файлов dBase и тому подобных источников. Это использование возможностей Microsoft SQL/PostgresPro Server, который сам умеет импортировать данные из внешних источников.
Такой импорт выполняется следующим образом:
-
При настройке в ФинГраде источника импортируемых данных (см. п. 20.1 Добавление источника для импорта из произвольной базы данных) следует выбрать в окне Свойства канала передачи данных на вкладке Поставщик данных метод подключения SQL Server Native Client:

-
На вкладке Соединение этого окна в поле Введите или выберите имя сервера (Select or enter a server name) надо ввести имя сервера базы данных (например, (local)\SQLEXPRESS, если Microsoft SQL/PostgresPro Server установлен на том же компьютере).
-
В поле Выберите базу данных (Select the database) надо ввести имя новой базы данных. Если при импорте в ФинГрад используется какая-то база данных Microsoft SQL/PostgresPro Server, то выбрать в указанном поле эту базу данных.
-
В SQL-запросе для обращения к исходным данным после ключевого слова
FROMвместо имени таблицы следует использовать функциюOPENROWSET. Например, для импорта из листа Проводки Excel-файла D:\TEST\FG.XLSX можно использовать в SQL-запросе конструкцию:
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 XML;Database=D:\\TEST\\FG.XLSX;HDR=YES',
'SELECT * FROM [Проводки$]')
При импорте из файла с расширением .XLS вместо Excel 12.0 XML надо написать Excel 8.0 .
А для импорта из таблицы Проводки базы данных Microsoft Access D:\TEST\FG.ACCDB можно использовать в SQL-запросе конструкцию:
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'D:\TEST\FG.accdb';'Admin';,
'SELECT * FROM [Проводки]')
Некоторые версии драйвера Microsoft.ACE.OLEDB.12.0 при указании параметра HDR=YES ошибочно передают в качестве результата на одну запись больше. Чтобы обойти эту ошибку, можно в конец SQL-запроса включить выражение WHERE opDate IS NOT NULL.
20.9 Пример импорта проводок, заданных в SQL-запросе
В этом параграфе мы приведём учебный пример импорта из базы данных с помощью SQL-запроса. Цель этого примера - проиллюстрировать возможности импорта и механизмы его функционирования.
Мы составим три SQL-запроса, передающих в ФинГрад одну проводку с данными, указанными в самом тексте запроса. К базе данных эти запросы не обращаются, и никаких данных из базы данных не получают.
20.9.1 Создаём источник импорта и вводим одну обычную проводку
Создадим для нашего примера новое юридическое лицо, чтобы наши эксперименты не внесли изменений в существующую отчётность. И для этого юридического лица создадим источник данных для импорта с помощью SQL-запроса.
Для этого выполним следующие действия:
-
Перейдем в раздел
Импорт проводок, нажав на соответствующую иконку на главном экране ФинГрада, или кликнем мышью по иконке поиска
в правом верхнем углу программы ФинГрада, в открывшемся меню с помощью поля ввода найдем команду Импорт проводок и кликнем по ней мышью.
-
В списке источников импорта нажмем на кнопку
Новый на панели инструментов, справа от надписи Импорт проводок бухгалтерии, и выберем в выпадающем меню пункт Из произвольной базы данных. ФинГрад отобразит диалоговое окно Импорт из произвольной БД.
-
Щёлкнем мышью по значку многоточия справа в поле строки Параметры БД, откроется диалоговое окно Свойства канала передачи данных. В этом окне зададим подключение к любой базе данных, как это описано в п. 20.1 Добавление источника для импорта из произвольной базы данных, например, к базе данных ФинГрада. Это совершенно безопасно, так как наш запрос не вносит изменения в базу данных, и даже вообще к ней не обращается.
-
В поля Логин и Пароль введём имя пользователя (учётной записи) и пароль для подключения к серверу базы данных.
-
Щёлкнем гиперссылку не задано справа от надписи Юр. Лицо.
-
В выведенном на экран справочнике аналитики Юр. Лицо нажмем на кнопку
Добавить на панели инструментов и введём в новую строку - в основную колонку аналитики - надпись ООО "Наша фирма". Затем последовательно нажмем на кнопки Сохранить и Выбрать.

-
В поле Имя источника будет предложено название источника импорта ООО "Наша фирма". Можно оставить название или поменять его на какое-то другое. Например, можно назвать источник импорта так: ООО "Наша фирма" - пример 1.
-
В поле под надписью Запрос к БД вместо записанного образца надо ввести следующий запрос:
SELECT
'ООО "Наша фирма"' as LegalEntity, -- Юридическое лицо
getdate() as opDate, -- Дата проводки
'Тестовая проводка 1' as comment, -- Комментарий к проводке
'Петров' as SK_Контрагент, -- Аналитика для проводки
-- Дебет
'Касса' as Db_account, -- Имя счета дебета проводки
'RUR' as Db_currency, -- Валюта дебета проводки
300.0 as Db_sum, -- Сумма дебета проводки
0 as Db_GoodsAmount, -- Количество товара дебета проводки
-- Кредит
'Поставщики' as Cr_account, -- Имя счета кредита проводки
'RUR' as Cr_currency, -- Валюта кредита проводки
300.0 as Cr_sum, -- Сумма кредита проводки
0 as Cr_GoodsAmount -- Количество товара кредита проводкиТеперь окно запроса Импорт из произвольной БД будет выглядеть так:
примечаниеПоскольку наш запрос не обращается к базе данных, в нём не нужны строки
FROM таблица
WHERE opDate >= ? and opDate < ?
ORDER BY opDate asc -
Проверим, что мы задали все параметры верно:
- нажмем на кнопку Проверить подключение к БД - ФинГрад должен выдать системное сообщение: Соединение с БД установлено успешно;
- нажмем на кнопку Проверить запрос к БД - ФинГрад должен выдать сообщение: Запрос к БД выполнен успешно.
Если при проверке были обнаружены ошибки, надо исправить параметры подключения или текст SQL-запроса и снова выполнить указанные выше проверки.
-
После того, как параметры подключения и SQL-запрос введены и проверены, нажмите на кнопку
ОКдиалогового окна Импорт из произвольной БД. Окно закроется, и мы вернёмся к списку источников импорта. Там появится новая строка, с помощью которой можно выполнять импорт данных для юридического лица ООО "Наша фирма":

-
В качестве периода импорта выберем Сегодня.
-
Теперь всё готово, и мы можем начать импорт. Для этого нажмем на кнопку
Синхронизировать. Если всё было сделано правильно, то ФинГрад запустит процесс импорта и по его завершении откроет вкладку Проводки. Если были допущены какие-то ошибки, то ФинГрад сообщит об этом системным сообщением с указанием ошибок и/или предупреждений, которые необходимо исправить и после этого снова запустить импорт.
-
На вкладке Проводки мы видим результаты импорта - список импортированных проводок. Как видно, ФинГрад создал одну проводку с заданными нами параметрами.

-
Теперь можно нажать на кнопку
Закрыть, и мы вернёмся к списку источников импорта.
20.9.2 Импорт проводки, требующей обмена валют
Давайте изменим наш запрос так, чтобы ФинГраду понадобилось произвести обмен валют. Для этого нужно, чтобы валюты в дебете и кредите проводки были разными.
Для этого выполним следующие действия:
-
В разделе Импорт проводок бухгалтерии со списком источников импорта два раза кликнем мышью по нужной строке (импорт из юридического лица ООО "Наша фирма") или выделим эту строку мышью и нажмем на кнопку
Изменить на панели инструментов.
-
В диалоговом окне Импорт из произвольной БД заполним поле для ввода SQL-запроса следующим образом:
SELECT
'ООО "Наша фирма"' as LegalEntity, -- Юридическое лицо
getdate() as opDate, -- Дата проводки
'Тестовая проводка 1' as comment, -- Комментарий к проводке
'Петров' as SK_Контрагент, -- Аналитика для проводки
-- Дебет
'Касса' as Db_account, -- Имя счета дебета проводки
'USD' as Db_currency, -- Валюта дебета проводки
10.0 as Db_sum, -- Сумма дебета проводки
0 as Db_GoodsAmount, -- Количество товара дебета проводки
-- Кредит
'Поставщики' as Cr_account, -- Имя счета кредита проводки
'RUR' as Cr_currency, -- Валюта кредита проводки
300.0 as Cr_sum, -- Сумма кредита проводки
0 as Cr_GoodsAmount -- Количество товара кредита проводки -
Проверим, что мы задали все параметры верно (нажать на кнопки Проверить подключение к БД и Проверить запрос к БД).
-
После того, как параметры подключения и SQL-запрос введены и проверены, нажмем на кнопку
ОКдиалогового окна Импорт из произвольной БД и вернёмся к списку источников импорта. -
В качестве периода импорта выберем Сегодня.
-
Нажмем на кнопку
Синхронизировать. ФинГрад запустит процесс импорта и по его завершении откроет вкладку Проводки, где мы увидим результаты импорта.

Как видно, ФинГрад сторнировал проводку, созданную ранее, на этапе 1, и создал по одной исходной проводке две новые проводки ФинГрада. С помощью первой проводки осуществляется обмен валют - 10 долларов США меняется на 300 рублей. Для обменных операций используется счёт ФинГрада Обмен, на котором накапливаются курсовые разницы (потом они отражаются в балансе и отчёте о прибылях и убытках как прибыль или убыток от обменных операций).
-
Нажмем на кнопку
Закрыть и вернёмся к списку источников импорта.
20.9.3 Импорт проводки с разными значениями аналитики (субконто) по дебету и кредиту
Давайте ещё раз изменим наш запрос так, чтобы ФинГраду не только понадобилось произвести обмен валют, но и создать две проводки в связи с тем, что по дебету и по кредиту исходной проводки используются разные значения одной аналитики (субконто).
-
В разделе Импорт проводок бухгалтерии со списком источников импорта два раза кликнем мышью по нужной строке (импорт из юридического лица "Наша фирма") или выделим эту строку мышью и нажмем на кнопку
Изменить на панели инструментов.
-
В диалоговом окне Импорт из произвольной БД заполним поле поле для ввода SQL-запроса следующим образом:
SELECT
'ООО "Наша фирма"' as LegalEntity, -- Юридическое лицо
getdate() as opDate, -- Дата проводки
'Тестовая проводка 1' as comment, -- Комментарий к проводке
'Петров' as SK_Контрагент, -- Аналитика для проводки
-- Дебет
'Основные средства (нач.стоимость)' as Db_account, -- Имя счета дебета проводки
'RUR' as Db_currency, -- Валюта дебета проводки
30000.0 as Db_sum, -- Сумма дебета проводки
0 as Db_GoodsAmount, -- Количество товара дебета проводки
'ЦФО-Администрация' as [Db_SK_Компания (ЦФО)], -- Аналитика для дебета проводки
-- Кредит
'Прочие активы' as Cr_account, -- Имя счета кредита проводки
'USD' as Cr_currency, -- Валюта кредита проводки
1000.0 as Cr_sum, -- Сумма кредита проводки
0 as Cr_GoodsAmount, -- Количество товара кредита проводки
'ЦФО-Общее' as [Cr_SK_Компания (ЦФО)] -- Аналитика для кредита проводки -
Проверим, что мы задали все параметры верно (нажать на кнопки Проверить подключение к БД и Проверить запрос к БД).
-
После того, как параметры подключения и SQL-запрос введены и проверены, нажмем на кнопку
ОКдиалогового окна Импорт из произвольной БД и вернёмся к списку источников импорта. -
В качестве периода импорта выберем Сегодня.
-
Нажмем на кнопку
Синхронизировать. ФинГрад запустит процесс импорта и по его завершении откроет вкладку Проводки, где мы увидим результаты импорта.

Как видно, ФинГрад сторнировал проводки, созданные ранее при импорте из того же источника данных, и создал по одной исходной проводке три проводки ФинГрада. С помощью первой проводки осуществляется обмен валют. Вторая и третья проводка отражают передачу ресурсов на 30000 рублей со счёта Прочие активы на счёт Основные средства (нач. стоимость). Это делается двумя проводками, так как для дебета и для кредита исходной проводки была указана одна и та же аналитика Компания (ЦФО), и значения этой аналитики в дебете и кредите проводки было разным.
-
Нажмем на кнопку
Закрыть и вернёмся к списку источников импорта.
Перед проведением импорта проверьте, чтобы для справочника аналитики Компания (ЦФО) в разделе Настройки →
Аналитики было отключено свойство Добавлять только в справочнике, иначе при проведении импорта проводки не будут синхронизированы, и ФинГрад сообщит об ошибке. Если это свойство включено, переведите переключатель в выключенное положение и нажмите на кнопку Сохранить, и только после этого запускайте импорт.

20.10 Примеры SQL-запросов, использованных в реальных задачах
В этом разделе приведены примеры SQL-запросов, использованных в реальных задачах, то есть для импорта в ФинГрад баз данных со сведениями о хозяйственных операциях организаций - пользователей ФинГрада. По этим примерам Вы можете увидеть те средства языка SQL, которые могут использоваться для преобразования исходных данных о хозяйственных операциях в формат, требуемый для импорта в ФинГрад.
Как видно, нужный результат во всех эти примерах был достигнут с помощью операций соединения баз данных и логических операций. Каких-либо особо сложных программ на языке SQL для этого составлять не потребовалось.
20.10.1 Импорт из Акцент-бухгалтерии (база данных на основе Microsoft Access)
SELECT
IIF(ISNULL(fAcDt.AccFg), dt.ACC_NAME , fAcDt.AccFg) asDb_account,
IIF(ISNULL(fAcKt.AccFg), ct.ACC_NAME , fAcKt.AccFg) as Cr_account,
d.opDate as opDate,
j.J_MEMO as comment,
'UAH' as Db_currency,
'UAH' as Cr_Currency,
j.J_SUM as Db_sum,
j.J_SUM as Cr_sum,
Switch(c.CUR='UAH' or J_SUM=0,'',true,c.CUR) as [SK_Валюта 1С],
Switch(c.CUR='UAH' or J_SUM=0,'',true,J_sum_crc) as [SK_Валютнаясумма 1С],
j.J_QUANT as Db_goodsAmount,
o.obj_name + ', ' +
IIF(ISNULL(u.UN_LONGNAME), IIF(ISNULL(u.UN_NAME),'Назадано',u.UN_NAME),u.UN_LONGNAME) as SK_Товар,
IIF(ISNULL(fAcDt.AgentAnalitic),
IIF(ISNULL(a1.AG_NAME) AND ISNULL(a2.AG_NAME), 'Незадано', a1.AG_NAME),
fAcDt.AgentAnalitic) as Db_SK_Контрагент,
IIF(ISNULL(fAcKt.AgentAnalitic), a2.AG_NAME, fAcKt.AgentAnalitic) as Cr_SK_Контрагент,
d.DOC_NAME as SK_Документ,
'Фирма2' as LegalEntity,
fAcDt.AccAnalitic as [Db_SK_Банковскиесчета],
fAcKt.AccAnalitic as [Cr_SK_Банковскиесчета],
'Не задано' as [SK_Основные средства],
'Не задано' as [SK_Договоры],
'Не задано' as [SK_Статьи затрат],
'Не задано' as [SK_Статьи движения денежных средств]
FROM ((((((((((journal j
left join (select * from agents where ag_self = FALSE) a1 on a1.AG_ID = j.J_AG1)
left join (select * from agents where ag_self = FALSE) a2 on a2.AG_ID = j.J_AG2)
inner join (select DOC_ID, DOC_NAME, Switch(DOC_DATE<=DateValue('2009-12-31'),DateValue('2009-12-31'),true,DOC_DATE) as opDate from DOCUMENTS where DOC_DONE = 2) d on d.DOC_ID = j.DOC_ID)
left join UNITS u on u.UN_ID = j.UN_ID)
inner join ACCOUNTS dt on dt.ACC_ID = j.ACC_DB)
inner join ACCOUNTS ct on ct.ACC_ID = j.ACC_CR)
left join fgAccounts fAcDt on dt.ACC_NAME = fAcDt.AccName)
left join fgAccounts fAcKt on ct.ACC_NAME = fAcKt.AccName)
left join objects o on o.OBJ_ID = j.J_OBJ)
left join (select CRC_ID, Switch(CRC_SHORT='грн','UAH',CRC_SHORT='руб. РФ','RUR',true,CRC_SHORT) as CUR from [CURRENCY]) c on c.CRC_ID = j.CRC_ID)
WHERE (dt.ACC_NAME is not null and ct.ACC_NAME is not null AND fAcDt.DtIgnor = 0 AND fAcKt.KtIgnor = 0)
and opDate >=? and opDate<?
20.10.2 Импорт из учётной системы ИС-ПРО (база данных на основе MS SQL Server)
SELECT
'Фирма1' as LegalEntity,
opdate,
Prw_Note as comment,
CASE WHEN ACCDT.AccFg IS NOT NULL THEN ACCDT.AccFg ELSE ACCDT.SprPls_Nm END as Db_account,
CASE WHEN ACCCT.AccFg IS NOT NULL THEN ACCCT.AccFg ELSE ACCCT.SprPls_Nm END as Cr_account,
'UAH' AS Db_currency, 'UAH' AS Cr_currency,
Prw_VSm AS Db_sum, Prw_VSm AS Cr_sum,
DOC.Srd_OprNm AS SK_Документ,
CASE WHEN (DtAgents.Ptn_NmSh IS NULL OR DtAgents.Ptn_NmSh = '') AND (CtAgents.Ptn_NmSh IS NULL OR CtAgents.Ptn_NmSh = '') THEN 'Не задано' ELSE DtAgents.Ptn_NmSh END AS [Db_SK_Контрагент],
CtAgents.Ptn_NmSh AS [Cr_SK_Контрагент],
ACCDT.AccAnalitic AS [Db_SK_Банковские счета],
ACCCT.AccAnalitic AS [Cr_SK_Банковские счета],
'Не задано' AS [SK_Статьи затрат],
'Не задано' AS [SK_Договоры],
'Не задано' AS [SK_Товар],
CASE WHEN ACCDT.AccFg = 'Основное производство' THEN ACCDT.AccName ELSE
CASE WHEN ACCCT.AccFg = 'Основное производство' THEN ACCCT.AccName ELSE '' END END as [SK_Счет-укр]
, CASE WHEN ACCDT.AccFg = 'Кредиты и займы полученные' THEN ACCDT.SprPls_Sch END AS [SK_Счет-номер-укр-дб]
, CASE WHEN ACCCT.AccFg = 'Кредиты и займы полученные' THEN ACCCT.SprPls_Sch END AS [SK_Счет-номер-укр-кт]
FROM (select Srd_dat as opdate, * from SRDPRW) T
INNER JOIN (SELECT * FROM SprPls LEFT OUTER JOIN tempFingrad.dbo.fgAccounts ON SprPls_Nm = AccName WHERE DtIgnor <> 1 OR DtIgnor IS NULL) AS ACCDT on T.Prw_Dt = ACCDT.SprPls_Rcd
INNER JOIN (SELECT * FROM SprPls LEFT OUTER JOIN tempFingrad.dbo.fgAccounts ON SprPls_Nm = AccName WHERE KtIgnor <> 1 OR KtIgnor IS NULL) AS ACCCT ON T.Prw_Kt = ACCCT.SprPls_Rcd
INNER JOIN SVl AS CURRDT ON T.Prw_ValDt = CURRDT.SVl_Rcd
INNER JOIN SVl AS CURRCT ON T.Prw_ValKt = CURRCT.SVl_Rcd
INNER JOIN Srd AS DOC ON T.Srd_DocRcd = DOC.Srd_DocRcd AND T.Srd_Rcd = Doc.Srd_Rcd AND T.Srd_CdDoc = doc.Srd_CdDoc
LEFT OUTER JOIN PTNRK AS CtAgents ON DOC.Srd_RcdSnd = CtAgents.Ptn_Rcd
LEFT OUTER JOIN PTNRK AS DtAgents ON DOC.Srd_RcdRec = DtAgents.Ptn_Rcd
WHERE Prw_Dt<>0 AND Prw_Kt<>0 AND ACCDT.SprPls_Nm <> ACCCT.SprPls_Nm
AND T.srd_stt = 0 AND opDate >=? AND opDate<?
20.10.3 Импорт из автоматизированной банковской системы "Инверсия"
SELECT
distinct 'Москва' AS LegalEntity,
trn.DTRNTRAN as opDate,
trn.CTRNACCD as Db_Account,
trn.CTRNACCC as Cr_Account,
case when round(itrnba2d/10)= 9999 then trn.CTRNCURC else trn.CTRNCUR end as Db_currency,
case when round(itrnba2c/10)= 9999 then trn.CTRNCUR else trn.CTRNCURC end as Cr_currency,
case when round(itrnba2d/10)= 9999 then trn.MTRNSUMC else trn.MTRNSUM end as Db_sum,
ase when round(itrnba2c/10)= 9999 then trn.MTRNSUM else trn.MTRNSUMC end as Cr_sum,
trn.ctrnpurp||' {'||to_char(trn.itrnnum)||'_'||to_char(trn.itrnanum)||'}' as "comment",
'00_'||trim(to_char(xxi.scb_accotd(xxi.trn.itrnnum, xxi.trn.itrnanum,0) ,'999900')) as "Db_SK_Офис2",
'00_'||trim(to_char(xxi.scb_accotd(xxi.trn.itrnnum, xxi.trn.itrnanum,1) ,'999900')) as "Cr_SK_Офис2",
cde.ncdeagrid as "SK_Кредит",
obg.cobgname as "SK_Признак бюджета",
case when substr(trn.CTRNACCD,1,1) = '9' then '02 Банк забаланс' else '01 Банк баланс' end as "SK_Источник2"
FROM xxi.trn left join xxi.CDE
on trn.itrnnum=cde.icdetrnnum and trn.itrnanum=cde.icdetrnanum
left join gtr on trn.itrnnum = igtrtrnnum and trn.itrnanum = igtrtrnanum and igtrcat=703
left join obg on igtrcat=iobgcat and igtrnum=iobgnum
WHERE xxi.trn.itrnba2c <> 70603 and xxi.trn.itrnba2d <> 70608 AND
xxi.trn.CTRNSTATE1='4' AND xxi.trn.CTRNSTATE5<>'2'
and trn.MTRNSUM <> 0 and trn.MTRNSUMC <> 0
and trn.DTRNTRAN {'>'}= ? and trn.DTRNTRAN < ?
Пример настройки таблицы аналитики Добавление счетов для импорта для этого примера приведён в приложении 7. Справочник "Добавление счетов из импорта" для банков.
20.11 Импорт проводок из Microsoft Excel
В этом разделе мы покажем, как можно импортировать данные из проводок, содеражщихся в файлах Microsoft Excel.
20.11.1 Предварительная подготовка к импорту
Чтобы при импорте из Excel не происходило ошибок, надо обеспечить корректность задания некоторых данных в настройках импорта. Необходимо проверить выполнение следующих условий:
- наличие нужных счетов в Плане счетов ФинГрада, что совпадают со счетами, указанными в файлах Excel;
- наличие необходимых аналитик в ФинГраде, которые указываются в файле Excel с импортируемыми данными.
Если каких-то счетов/подгрупп счетов или аналитик в ФинГраде не существует, их необходимо создать, прежде чем приступать к процедуре импорта.
Создание нового счета. Если нужного счета или подгруппы счетов для импорта не имеется, необходимо создать их в Плане счетов.
Для этого выполните следующие действия:
-
На главном экране ФинГрада перейдите в раздел Настройки
и далее - в подраздел
План счетов.
-
Выберите "родительскую группу" счетов, в которую необходимо занести новый счет, кликните по ней правой кнопкой мыши и из выпадающего меню выберите пункт Создать субсчет или Создать счет (если нужна новая подгруппа счетов):

-
В появившейся строке введите название нового счета и нажмите на кнопку Сохранить в левом нижнем углу вкладки.
-
Закройте вкладку Плана счетов, щёлкнув мышью по кнопке
.
- В процессе редактирования новый счет будет выделен цветом до сохранения изменений в базу данных ФинГрада.
- Новый счет можно добавить с помощью кнопки +Новый счет над списком счетов – тогда ФинГрад предложит создать новый счет в той категории, которая выделена на данный момент пользователем.
Создание новой аналитики. Если нужной аналитики для импорта не имеется, необходимо создать такую аналитику.
Для создания новой аналитики выполните следующие действия:
-
На главном экране ФинГрада перейдите в раздел Настройки
и далее - в подраздел
Аналитики.
-
Выберите среди списка аналитик нужную Вам группу аналитик, щелкните мышью по ней или по любой аналитике среди этой группы, под областью Аналитики нажмите на кнопку Добавить.
Пример представлен на рисунке:

-
В правой части вкладки, в области Свойства колонки:
- в поле Имя введите имя создаваемой аналитики;
- в поле Тип выберите тип аналитики. Чаще всего это тип Текст или Число;
- в поле Тег можно выбрать/перевыбрать группу аналитик, к которой будет относиться данная аналитика, или ввести название новой группы аналитик;
- в поле Комментарий можно ввести комментарий к аналитике;
- остальные свойства определяются по функционалу создаваемой аналитики.

-
Щёлкните мышью кнопку Сохранить для внесения изменений в базу данных.
-
Закройте вкладку Аналитики, щёлкнув мышью по кнопке
.
Подготовка файлов Excel. Для проведения импорта данных из проводок, записанных в файле Microsoft Excel, необходимо сохранять необходимые файлы для импорта в формате Книга Excel (*xlsx), так как база данных ФинГрада работает с форматом xlsx.
При импорте из Microsoft Excel поля с точками в названии и пробелами в начале или конце названия импортироваться не будут. Если в файле-источнике есть такие поля, переименуйте их перед импортом.
Перед началом импорта закройте все открытые файлы Excel, так как может возникнуть ошибка при обработке данных ФинГрадом из-за встроенных макросов MS Office.
20.11.2 Создание источника данных для импорта из Microsoft Excel
Сперва необходимо создать источник данных для импорта из файла Excel. Для этого выполните следующие действия:
-
Перейдите в раздел Импорт проводок:
- на главном экране ФинГрада кликните мышью по иконке раздела
Импорт проводок;
- или кликните мышью по иконке поиска
в правом верхнем углу программы ФинГрада, в открывшемся меню с помощью поля ввода найдите команду Импорт проводок и щелкните по ней мышью.
- на главном экране ФинГрада кликните мышью по иконке раздела
-
В открывшейся вкладке Импорт проводок со списком источников импорта необходимо добавить новый - для импорта из Excel:
-
нажмите на кнопку
Новый на панели инструментов, справа от надписи Импорт проводок бухгалтерии, и в выпадающем меню выберите пункт Импорт из нескольких файлов Microsoft Excel:

-
Откроется диалоговое окно Импорт из нескольких файлов Microsoft Excel:

-
В этом окне заполните следующие поля:
-
Папка с файлами – указывается путь к сетевой папке, откуда подгружаются данные. Кликните мышью по многоточию в конце данного поля и выберите нужную папку;
-
Юр.лицо – можно указать наименование юридического лица, данные о хозяйственных операциях которого Вы хотите импортировать. Однако зачастую при импорте из Excel нет необходимости задавать конкретное юр.лицо, поэтому можно остаавить ссылку не задано;
-
Название импорта – задается условное имя для данного источника данных. Имена разных источников данных не должны совпадать;
-
Файл с макросом – указывается путь к специально подготовленному макросу, обрабатывающему выложенные в папках файлы и подгружающий их в ФинГрад. Кликните мышью по ссылке не задано и выберите нужный файл.
примечаниеМакрос необходим для того, чтобы привести данные из исходной формы Excel к формату, который подлежит машинной обработке ФинГрадом.
Таким образом, диалоговое окно Импорт из нескольких файлов Microsoft Excel с заполненными данными может выглядеть следующим образом:

-
-
проверьте, что нет ошибок в указании пути или некорректных знаков в наименовании импорта. Если ошибка есть или обязательные поля еще не заполнены, напротив нее ФинГрад укажет значок
;
-
нажмите на кнопку
ОК. Диалоговое окно Импорт из нескольких файлов Microsoft Excel закроется, и в списке источников данных появится новая строка со сведениями об указанном источнике импортируемых данных.
- Любые папки, помимо файлов Excel c данными для импорта, не должны находиться на уровне выбранной Вами папки, путь к которой Вы указываете в диалоговом окне Импорт из нескольких файлов Microsoft Excel. Необходимо перенести папки на уровень выше, иначе ФинГрад будет автоматически считывать данные и в этих папках, что приведет к задвоению проводок.
- ФинГрад использует загруженную копию макроса. Если в файл с макросом внесены изменения, необходимо удалить старую версию макроса и повторить загрузку в настройках импорта.
20.11.3 Запуск импорта
Чтобы выполнить импорт из файла Microsoft Excel с помощью созданного нами источника данных, следует:
-
Выделить мышью строку с этим источником данных в окне со списком источников импорта.
-
Задать период импорта в нижнем левом углу вкладки Импорт проводок:
-
Запустить импорт, нажав на кнопку
Синхронизировать.
20.11.4 Просмотр результатов и исправление ошибок
Если всё было сделано правильно, то ФинГрад запустит процесс импорта и перейдет на вкладку Проводки со списком импортированных проводок - результатами импорта:

При отсутствии ошибок и предупреждений рядом с кнопкой Синхронизировать в правом верхнем углу вкладки будет только зеленая галочка, свидетельствующая об успешном завершении импорта.
Сообщения об ошибках. Если при импорте были допущены ошибки и/или предупреждения, то ФинГрад отобразит системное сообщение об этом по окончании импорта. Нажав на кнопку ОК в этом сообщении, можно перейти к результатам импорта. Пример ошибки при загрузке Excel-файла представлен на рисунке:
Также будет сформировано сообщение о результатах импорта в правом верхнем углу вкладки Проводки, где будет краткая информация о количестве ошибок и/или предупреждений при импорте.
Для получения подробной информации об ошибках/предупреждениях необходимо нажать на сообщение-гиперссылку с надписью о количестве ошибок/предупреждений, тогда в нижней части окна раскроется панель со списком ошибок и предупреждений:
Подробнее об ошибках и предупреждениях при импорте см. п. 18.6 Исправление ошибок при импорте.
Вы можете:
- просматривать результаты импорта и список ошибок и предупреждений;
- исправлять ошибки в исходном файле Microsoft Excel;
- исправлять в ФинГраде настройки импорта на вкладке Трансформация;
- настраивать план счетов ФинГрада (подраздел
Настройки →
План счетов) и аналитики (подраздел
Настройки →
Аналитики);
- выводить отчеты, сформированные по импортированным данным за выбранный период импорта, с помощью кнопок
(Балансовый отчет),
(Отчет о прибылях и убытках),
(Отчет о движении денежных средств) над списком импортированных проводок;
- заново запускать импорт щелчком по кнопке
Синхронизировать.
Выход из просмотра результатов импорта и настроек импорта. По окончании импорта данных из файла Microsoft Excel следует нажать на кнопку Закрыть, расположенную в правом верхнем углу вкладки с результатами импорта.
20.11.5 Трансформации при импорте из Excel
При импорте из Excel-файлов, так же как при импорте из базы данных с помощью SQL-запроса или при импорте из проводок 1С, можно задавать правила трансформаций. Для задания трансформаций используется вкладка Трансформация параметров импорта.
Чтобы настроить трансформации при импорте следует:
- нажать на кнопку
Настройки в правом нижнем углу раздела Импорт проводок и перейти на вкладку Трансформация;
- или при просмотре результатов импорта кликнуть мышью по вкладке Трансформация.
На экран будет выведена вкладка Трансформация окна настроек импорта. Эта вкладка выглядит и используется так же, как при импорте из базы данных с помощью SQL-запроса (см. п. 20.5 Трансформации при импорте).

Чтобы настроить правила трансформаций, надо нажать на кнопку Редактировать в правом верхнем углу вкладки.
Функционал и правила использования правил трансформации точно такие же, как при импорте из проводок 1С (см. п. 18.11 Настройка трансформаций при импорте).
Чтобы закончить работу по импорту данных, кликните мышью по зеленой галочке Закрыть, находящейся рядом с кнопкой
Синхронизировать. Вы вернетесь во вкладку со списком источников импорта.
20.11.6 Аналитика импортированных файлов и размещение макроса импорта файлов Excel
Для того чтобы просмотреть информацию по импортированным файлам Excel, можно воспользоваться системной аналитикой Импорт из нескольких Excel файлов.
Чтобы перейти к этой аналитике, можно воспользоваться несколькими способами:
-
на главном экране ФинГрада нажмите на иконку
Настройки и перейдите в раздел
Аналитики, найдите и выберите аналитику Импорт из нескольких Excel файлов, выделите ее мышью и нажмите на гиперссылку Открыть справочник (либо кликните два раза мышью по названию аналитики), и в новой вкладке откроется справочник аналитики Импорт из нескольких Excel файлов;

-
на главном экране ФинГрада нажмите на иконку
Справочники, в диалоговом окне Выбор аналитики с помощью поля ввода для поиска найдите искомую аналитику, выделите ее мышью и нажмите на кнопку Выбрать (либо кликните два раза мышью по названию аналитики). В новой вкладке откроется справочник аналитики Импорт из нескольких Excel файлов;

-
кликните мышью по иконке поиска
в правом верхнем углу программы ФинГрада, в открывшемся меню с помощью поля ввода найдите справочник Импорт из нескольких Excel файлов и кликните по нему два раза мышью. В новой вкладке откроется справочник аналитики Импорт из нескольких Excel файлов:

В этой аналитике хранятся последние версии файлов, что были импортированы в ФинГрад.
Можно фильтровать представленные данные для удобства поиска определенного импорта. Например, для того чтобы отфильтровать информацию аналитики по источнику данных, подведите указатель мыши к правому краю заголовка колонки Источник данных и нажмите на проявившийся значок неактивного фильтра .
Появится выпадающее меню со списком импортов, где необходимо поставить галочку напротив нужного Вам варианта (или нескольких) и нажать на кнопку
ОК. Значок фильтра станет активным , и ФинГрад отобразит все файлы, которые были загружены выбранным импортом.

Вверху списка отобразится файл макроса данного импорта:

Для того, чтобы выгрузить макрос и при необходимости внести какие-либо корректировки в файл макроса, выполните следующие действия:
- нажмите на кнопку
Редактировать на панели инструментов справочника;
- кликните мышью по полю строки с макросом в колонке Файл;
- нажмите на клавиатуре клавишу
F1; - в открывшемся окне Файловый диалог нажмите на кнопку Сохранить на диск и сохраните файл макроса на диск:

При необходимости в файл макроса можно вносить изменения и при последующем импорте указывать уже измененный макрос:
- в разделе Импорте проводок выбрать нужный источник импорта и два раза кликнуть по нему мышью;
- в открывшемся диалоговом окне Импорт из нескольких файлов Microsoft Excel кликнуть мышью по ссылке Загружен напротив строки Файл с макросом;
- указать место размещения отредактированного файла с макросом на диске и нажать на кнопку
ОК; - заново запустить выбранный импорт, нажав на кнопку
Синхронизировать.
20.11.7 Работа с результатами импорта через "Поиск проводок"
Чтобы не только просмотреть данные, загруженные при импорте проводок из определенного источника (см. п. 18.13 Просмотр журнала импорта), но и при необходимости внести в них изменения или сторнировать определенные проводки, можно воспользоваться разделом Поиск проводок.
Для этого на главном экране ФинГрада выбираем раздел Поиск проводок или щелкаем по иконке поиска
и в выпадающем меню поиска выбираем команду Поиск проводок. Откроется соответствующая вкладка.
Подробно про возможности поиска проводок см. раздел 10.1 Поиск проводок.
В диалоговом окне параметров поиска задаем:
-
нужный нам период;
-
аналитику Источник данных:
-
в графе Аналитики нажимаем на ссылку Добавить аналитику…:
-
в появившемся диалоговом окне Выбор аналитики (с помощью поиска по названию) выделяем мышью аналитику Источник данных и нажимаем на кнопку Выбрать:
-
в открывшемся справочнике аналитики ставим галочку напротив нужного источника импорта и нажимаем на кнопку Выбрать:

-
-
нажимаем на кнопку
Искать.

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

Пока идет поиск проводок, в левом нижнем углу окна программы будет отображаться системное сообщение Загрузка проводок. Когда ФинГрад отобразит все импортированные проводки по заданным параметрам, это сообщение пропадет. При необходимости можно остановить процедуру, нажав на значок Стоп.
Чтобы отобразить отчет в удобной для Вас форме, можно изменить шаблон отображения информации, для чего воспользоваться полем с наименованием шаблона на панели управления. В выпадающем списке выберите нужный шаблон, и ФинГрад отобразит отчет импортированных проводок в соответствующей форме.
Чтобы добавить/убрать колонки с информацией, нажмите на кнопку Добавить недостающие колонки на панели инструментов (или клавишу
F6 на клавиатуре) и в диалоговом окне Управление полями перенесите нужные Вам аналитики из области Доступные поля в область Выбранные поля, нажмите на кнопку ОК. Добавленные поля отобразятся соответствующими колонками с данными.
Чтобы изменить импортированные проводки, выделите нужную ячейку в строке и внесите новые сведения:
- для изменения денежной суммы в полях колонок Дебет/Кредит, даты в колонке Дата операции или комментария к операции в колонке Комментарий введите новые данные с клавиатуры, выделив двумя кликами мыши нужную ячейку, и нажмите клавишу
Enterна клавиатуре после внесения новых данных; - для изменения данных в колонках Счет/Коррсчет два раза кликните мышью по соответствующей ячейке и в открывшемся диалоговом окне Выбор счета найдите и выделите новый счет/корсчёт, нажмите на кнопку
ОК; - для изменения данных из справочников аналитик кликните два раза мышью по выделенному полю (или нажмите на клавишу
F1на клавиатуре) – откроется соответствующий справочник, где можно выбрать другое значение аналитики; - нажмите на кнопку
Провести проводки на панели инструментов (или клавишу
F7на клавиатуре), если работаете с множеством проводок, чтобы сохранить изменения в ФинГраде и внести их в базу данных. Если вносите изменения в одну проводку, нажмите на кнопкуПровести выделенные проводки на панели инструментов (или комбинацию клавиш
Shift+F7на клавиатуре). Если Вы не захотите сохранять новые данные, не нажимайте на данную кнопку и закройте вкладку Поиска проводок без сохранения изменений.
Чтобы сторнировать проводки, выполните следующие действия:
- выделите строку с выбранной проводкой;
- нажмите на кнопку
Пометить проводки на сторнирование на панели инструментов. ФинГрад выделит проводку красным цветом - теперь она помечена на сторнирование;
- нажмите на кнопку
Провести выделенные проводки на панели инструментов (или комбинацию клавиш
Shift+F7на клавиатуре), чтобы сторнировать проводку и сохранить изменения в базе данных ФинГрада.
Подробнее про возможности функционала Поиска проводок см. в главе 10 Поиск проводок, про изменение и сторнирование проводок - см. главу 8 Редактирование проводок.
20.12 Импорт проводок из XML-файлов
Чтобы начать импорт проводок из XML-файла:
- на главном экране ФинГрада кликните мышью по иконке раздела
Импорт проводок;
- или кликните мышью по иконке поиска
в правом верхнем углу программы ФинГрада, в открывшемся меню с помощью поля ввода найдите команду Импорт проводок и щелкните по ней мышью.
Откроется окно с источниками импорта. Нажмите на кнопку Новый на панели управления, справа от надписи Импорт проводок бухгалтерии, и в выпадающем меню выберите пункт Из XML-файлов:

Откроется диалоговое окно Импорт проводок из XML-файлов:

Укажите параметры импорта и параметры XML:
- в поле Наименование импорта задайте условное имя для данного источника данных. Имена разных источников данных не должны совпадать;
- в поле Каталог исходных файлов выберите из списка папку, из которой хотите импортировать данные;
- в поле Маска файлов введите повторяющуюся часть наименования файлов, если выполняете импорт из нескольких XML-файлов. В случае, если наименования файлов не повторяются либо неизвестны заранее, воспользуйтесь значением
*.*; - в поле Дата начала учета введите дату, начиная с которой ФинГрад будет импортировать данные о хозяйственных операциях из XML-файлов;
- в поле Образец XML-файла необходимо выбрать файл, на основании перечня тэгов из которого будут формироваться списки тэгов для заполнения последующих полей:

После выбора файла открывается окно Образец XML-файла, в котором отображается набор тэгов, содержащихся в выбранном файле:

- в поле XML-тэг "Номер документа" выберите из списка тэг, определяющий номер документа, в рамках которого осуществляются проводки;
- в поле XML-тэг "Дата операции" выберите из списка тэг, определяющий дату формирования документа, в рамках которого осуществляются проводки;
- в поле XML-тэг "Сумма" выберите из списка тэг, определяющий сумму по документу, в рамках которого осуществляются проводки;
- в поле XML-тэг "Валюта" выберите из списка тэг валюты, в которой осуществлены импортируемые проводки. Если поле останется пустым, ФинГрад автоматически выбирает валюту RUR (рубль);
- в поле XML-тэг "Счет дебет" выберите из списка тэг, определяющий номер дебетового счета. Если поле останется пустым, ФинГрад автоматически проставляет значения из соответствующих полей вкладки Маппинг настройки импорта проводок из XML-файлов;
- в поле XML-тэг "Счет кредит" выберите из списка тэг, определяющий номер кредитного счета. Если поле останется пустым, ФинГрад автоматически проставляет значения из соответствующих полей вкладки Маппинг настройки импорта проводок из XML-файлов.
Указав параметры импорта, нажмите на кнопку Сохранить. Диалоговое окно Импорт проводок из XML-файлов закроется, и в списке источников данных появится новая строка со сведениями об указанном источнике импортируемых данных:

Если Вы уже выполняли импорт в ФинГрад из XML-файлов, 1С, файлов Excel или иных источников, то в окне Импорт проводок отображаются строки, соответствующие ранее настроенным источникам импорта. Этот список позволяет быстро запустить импорт из того же источника, что использовался ранее. Просто щёлкните нужную строку в списке мышью. Более подробно возможности работы со списком источников данных разобраны в п. 18.5.1 Список источников импорта.
После выбора источника данных необходимо указать период, за который будете импортировать проводки (см.п. 18.5.2 Задание периода импорта).
Для корректной записи проводок из XML-файлов в базу ФинГрад необходимо установить соответствие между аналитиками в ФинГрад и XML-тэгами из XML-файлов, которое устанавливается следующим образом:
-
В списке источников импорта выберите созданный импорт проводок и нажмите на кнопку
Настройки в правом нижнем углу раздела Импорт проводок.
В результате откроется вкладка с настройками созданного импорта проводок, содержащая вкладки Маппинг, Трансформация и Проводки:

-
Нажмите на кнопку
Редактировать и на влкадке Маппинг проставьте аналитики ФинГрада в графе Значение напротив значений графы Параметр:
- Дебет и Кредит заполняются выбором значений в диалоговом окне Выбор счета при нажатии на значок многоточия в правой части поля:

- Сумма заполняется выбором аналитики Сумма при нажатии на значок многоточия в правой части поля;
- строки в области Измерения и реквизиты регистра заполняются выбором аналитик в диалоговом окне Выбор аналитики при нажатии на значок многоточия в правой части поля:

После внесения требуемых данных необходимо нажать на кнопку Синхронизировать, и ФинГрад запустит процесс импорта.
Просмотр результатов импорта. После того, как ФинГрад выполнит импорт, Вы сможете просмотреть на экране во вкладке Проводки импортированные проводки.

Просмотр результатов импорта проводок из XML-файлов аналогичен просмотру импорта из 1С (см.п. 18.5.6 Просмотр результатов импорта).
Настройка трансформаций при импорте. Более сложные условия для преобразования проводок при импорте можно задать с помощью правил трансформации на вкладке Трансформация при настройке параметров импорта проводок (см. п. 18.11 Настройка трансформаций при импорте).