gifts2017

Построение бухгалтерской отчетности в MS Excel с помощью языка формул 1С 7.7 в режиме онлайн

Опубликовал Николай Шилкин (RayCon) в раздел Обмен - Загрузка и выгрузка в Excel

Инструментарий предназначен для построения бухгалтерской отчетности в MS Excel по нестандартному плану счетов. Например, это может быть дополнительный план счетов (МСФО, GAAP, управленческий, корпоративный) или же сильно изменённый российский план счетов.
Отчеты формируются в режиме реального времени на основании данных, получаемых из программы «1С:Бухгалтерия 7.7» в соответствии с формулами языка «1С», содержащимися в примечаниях к ячейкам MS Excel.

Настоящий инструментарий предназначен для построения бухгалтерской отчетности в 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:Бухгалтерия». Для этого надо сделать следующее:

  1. В каталоге ExtForms информационной базы создать подкаталог XLS и поместить в него файл-шаблон FinReports.xls.
  2. Встроить в Глобальный модуль следующую процедуру:
Процедура ОткрытьЛистЭксел(ИмяФайла, НомерЛиста=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. В меню программы «1С» создать новый пункт «Бухгалтерские отчеты в MS Excel» и встроить в поле формулы вызов указанной процедуры и путь к файлу-шаблону:
ОткрытьЛистЭксел(КаталогИБ() + "ExtForms\XLS\FinReports.xls", 1) 


Порядок построения отчета в MS Excel:

  1. Открыть файл-шаблон FinReports.xls на листе с соответствующим отчетом.
  2. Заполнить для каждой колонки с данными служебные ячейки, помеченные красным шрифтом:
    2.1. Идентификатор плана счетов (при наличии нескольких планов счетов).
    2.2. Даты начала и конца периода, за который строится отчет.
  3. Запустить формирование отчета из пункта меню «Evaluate Finance Formulas» панели «RayCon Reporter for 1C» программы MS Excel.
  4. Файл со сформированными отчетами рекомендуется сохранить под именем, указывающим на организацию и период формирования отчетов, например: «ИмяКомпании_Январь_2008.xls».


Авторы разработки:
Конюшкин Андрей – разработка макроса MS VB для построения онлайн отчетов из программы «Инотек Бухгалтер» в MS Excel по каналу DDE
Фёдоров Станислав – портирование из «Инотек Бухгалтер» на «1С»
Казиев Марат – процедура вызова макроса из «1С»
Конюшкин Андрей – доработка под использование дополнительного плана счетов в «1С»

Скачать файлы

Наименование Файл Версия Размер
RayCon Reporter for 1C 307
.1225649234 24,88Kb
09.11.09
307
.1225649234 24,88Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Zzema Иванова (Zzema) 20.08.09 14:01
RUN-time error '9' что с этим делать?
2. Николай Шилкин (RayCon) 20.08.09 21:41
(1) Такая ошибка, насколько помню, возникает, когда DDE-канал не открывается. А это может быть по разным причинам. Одна из возможных причин - более поздняя (чем 2003) версия MS Excel может потребовать докрутки макроса на VBA. Хотя, вроде на версии 2007 тоже работало.

Если всё раньше работало, а потом перестало, то рекомендуется заново подключить надстройку XLA, предварительно удалив следы старой в каталоге C:\Documents and Settings\username\Application Data\Microsoft\AddIns.
3. v_id (v_id) 09.11.09 16:40
По оформлению:
1. в п.2 не хватает КонецПроцедуры
2. файл скачивается без расширения rar

Спасибо за разработку, заценим
4. v_id (v_id) 09.11.09 17:17
У меня тоже самое
RUN-time error '9'

Может это происходит из-за того что в макросе
chenalF% = DDEInitiate("1CV7", "DDE")

а у меня к примеру 7-ка локальная?
Офис 2003, есть мысли как запустить?
5. Николай Шилкин (RayCon) 20.02.10 04:24
(3)

1. Спасибо, исправлено.
2. Не подтвердилось. Возможно, был какой-то сбой на портале.


(4) Все мысли в (2)
6. Татьяна Гулак (Gulak) 30.01.13 07:04
Супер!!! у меня 7 фирм (дробили при реорганизации) Ежедневно отчет (типа консолидации) делаю ручками.
буду внедрять! Точнее пытаться! Если получится это будет сказка.
Низкий поклон! и Спасибон!
7. Николай Шилкин (RayCon) 30.01.13 16:19
(6) Татьяна, и Вам спасибо за высокую оценку! Уверен, у Вас обязательно получится! :)
Но если, вдруг, что не получится, обращайтесь - подскажу альтернативные пути решения, т.к. эта тема известная, и технологии многократно обкатаны.