Настоящий инструментарий предназначен для построения бухгалтерской отчетности в MS Excel по нестандартному плану счетов. Например, это может быть дополнительный план счетов (МСФО, GAAP, управленческий, корпоративный) или же сильно изменённый российский план счетов.
Отчеты формируются в режиме реального времени на основании данных, получаемых из программы «1С» в соответствии с формулами языка «1С», содержащимися в примечаниях к ячейкам MS Excel, и в пределах периода, задаваемого в верхних строках листа файла-шаблона. Могут быть заданы разные периоды для разных колонок, например, для данных по текущему и по прошлому годам.
Значение каждой ячейки файла-шаблона FinReports.xls рассчитывается как бухгалтерский итог по счетам посредством языка формул программы «1С»:
БухИтоги.СНД("КодСчета") БухИтоги.СНК("КодСчета") БухИтоги.СКД("КодСчета") БухИтоги.СКК("КодСчета") БухИтоги.ДО("КодСчета") БухИтоги.КО("КодСчета") БухИтоги.ОБ("КодСчетаДт","КодСчетаКт")
Для выгрузки информации в файл-шаблон используется специальный макрос Formulae1C.xla на языке MS Visual Basic, встраиваемый в MS Excel. Подключение макроса осуществляется следующим образом:
- выбрать в меню MS Excel: Сервис -> Надстройки;
- подключить файл Formulae1C.xla с помощью кнопки «Обзор»;
- переместить вновь появившуюся панель «RayCon Reporter for 1C» с двумя кнопками («Evaluate Finance Formulas» и «About») в любое удобное место меню рядом с другими активированными панелями MS Excel.
Файл-шаблон FinReports.xls предназначен для построения бухгалтерских отчетов в программе MS Excel. Он представляет собою книгу MS Excel, которая может состоять из нескольких листов, например:
- Лист «Баланс» – Бухгалтерский баланс (форма 1);
- Лист «ОПУ» – Отчет о прибылях и убытках (форма 2);
- Лист «ОДДС» – Отчет о движении денежных средств (форма 4).
Вызов файла-шаблона FinReports.xls следует встроить в меню программы «1C:Бухгалтерия». Для этого надо сделать следующее:
- В каталоге ExtForms информационной базы создать подкаталог XLS и поместить в него файл-шаблон FinReports.xls.
- Встроить в Глобальный модуль следующую процедуру:
Процедура ОткрытьЛистЭксел(ИмяФайла, НомерЛиста=1)
Если ПустаяСтрока(ИмяФайла)=1 Тогда
Возврат;
КонецЕсли;
Если Нрег(Прав(ИмяФайла,4))<>".xls" Тогда
Возврат;
КонецЕсли;
Если ФС.СуществуетФайл(ИмяФайла)=0 Тогда
Предупреждение("Не найден файл : "+ ИмяФайла);
Возврат;
КонецЕсли;
Если НомерЛиста = 0 Тогда
НомерЛиста = 1;
КонецЕсли;
Попытка
_wndExcel=СоздатьОбъект("Excel.Application");
Исключение
Предупреждение("1С не может подключиться к MS Excel");
Возврат;
КонецПопытки;
_newBook=_wndExcel.Workbooks;
_CopyBook=_newBook.Open(ИмяФайла);
ЧислоЛистов=_CopyBook.Worksheets().count;
Если НомерЛиста > ЧислоЛистов Тогда
НомерЛиста = ЧислоЛистов;
КонецЕсли;
_workBook=_CopyBook.Sheets(НомерЛиста).Select();
_wndExcel.Visible=-1;
КонецПроцедуры
- В меню программы «1С» создать новый пункт «Бухгалтерские отчеты в MS Excel» и встроить в поле формулы вызов указанной процедуры и путь к файлу-шаблону:
ОткрытьЛистЭксел(КаталогИБ() + "ExtForms\XLS\FinReports.xls", 1)
Порядок построения отчета в MS Excel:
- Открыть файл-шаблон FinReports.xls на листе с соответствующим отчетом.
- Заполнить для каждой колонки с данными служебные ячейки, помеченные красным шрифтом:
2.1. Идентификатор плана счетов (при наличии нескольких планов счетов).
2.2. Даты начала и конца периода, за который строится отчет. - Запустить формирование отчета из пункта меню «Evaluate Finance Formulas» панели «RayCon Reporter for 1C» программы MS Excel.
- Файл со сформированными отчетами рекомендуется сохранить под именем, указывающим на организацию и период формирования отчетов, например: «ИмяКомпании_Январь_2008.xls».
Авторы разработки:
Конюшкин Андрей – разработка макроса MS VB для построения онлайн отчетов из программы «Инотек Бухгалтер» в MS Excel по каналу DDE
Фёдоров Станислав – портирование из «Инотек Бухгалтер» на «1С»
Казиев Марат – процедура вызова макроса из «1С»
Конюшкин Андрей – доработка под использование дополнительного плана счетов в «1С»