Внешний отчет для формирования баланса в Бухгалтерия 1С 7.7

Внешний отчет для формирования Баланса, Отчета о прибылях и убытках и Отчета и движении денежных средств (Balance, Income Statement, Cash Flow).

Внешний отчет для Бухгалтерия 1С 7.7.zip

Формулы для вычисления задаются в файле Excel. Основная задача: упростить жизнь программисту, которого бухгалтера просят без конца что-то изменить в балансе.

Контекст:

Consolidation является частью пакета для ведения консолидированного (объединенного) учета на основе данных из нескольких (десятков) баз 1С. В этот пакет входят:

  • «Перенос данных» — внешняя обработка для переноса данных между различными базами / конфигурациями, а также для импорта из Excel.
  • «Синонимы» — набор процедур для синхронизации элементов справочников и документов при импорте.
  • «Consolidation» — пакет для формирования сводных отчетов.
  • «Сообщения» — пакет для комплексной проверки данных, хранящихся в нескольких базах.

Документация: данная документация является полным описанием разработки. Коммерческая версия содержит также Stored Procedures для SQL.

Установка: записать «Обороты счетов.ert» в КаталогИБ()+ «ExtForms\». Переменная глКаталогОтч должна содержать путь к этой обработке.

Полная версия: доступна за символические $5. Условия оплаты – мылом (McLarry@mail.ru). Как обычно, обладатели полной версии получают обновления немедленно после их выхода и тестирования, а также могут заказывать доработки под себя.

Содержание.

  1. Краткое описание.
  2. Главное окно.
  3. Current balance.
  4. Pattern.
  5. Totals.
  6. Кэширование.
  7. Settings.
  8. Run.
  9. Run & Check.
  10. Обороты счетов.
  11. Расшифровка BA.

1. Краткое описание.

Набор отчетов «Consolidation» позволяет формировать отчеты, формулы для которых задаются в файле Excel. Т.к. большинство пользователей знакомы с Excel, для них не составляет труда освоить очень простые формулы для выборки сальдо и оборотов. Таким образом, процесс «рисования» очередного квартального отчета перестает быть головной болью для программиста, которая J почти полностью переносится на пользователей.

Для расшифровки оборотов используется внешний отчет «Обороты счетов», который можно также использовать независимо (standalone). Расшифровка баланса (сальдо) ввиду сложности пока не вынесена вовне. Особенностью расшифровки сальдо по счетам является также то, что группа счетов с аналитикой по контрагентам, финансовым вложениям и учредителям расшифровывается в разрезе аналитики.

К особенностям конфигураций, для которых писался отчет, относятся:

  • реквизит плана счетов «Тип сальдо»;
  • реквизиты контрагентов «ИД», «Субъект1», «Субъект2», «Спутник»;
  • константа ОсновнаяВалюта (как правило нац. валюта);
  • константа ОсновнаяВалюта1 (как правило USD);
  • функция ФайлНастроек() возвращает путь к файлу с настройками баз данных 1С (SQL сервер, название БД);
  • в качестве расшифровки первой строки отчета должна вызываться обработка для отправки отчета по почте (в стандартную версию не включена);
  • Функция ФайлSQL_log()возвращает путь к файлу с признаком, доступен ли SQL сервер.

2. Главное окно:

Заголовок окна содержит “Consolidation” и название выбранного вида отчета (Balance, Income Statement или Cash Flow). Рекомендуется использовать режим авто сохранения настройки.

Report – вид отчета.

At <Дата> — дата, на которую будет сформирован BA. Доступна только для отчета BA при выключенном режиме «By period».

3. Current balance.

Эта группа содержит настройки для выборки итогов текущей базы 1С.

Chart of acc. – план счетов, из которого выбираются итоги.

Company – фирма, по которой отбираются итоги (доступна только в конфигурациях с разделителем учета).

Currency – включить расчет итогов по валюте.

Relative – является особенностью конфигурации автора разработки.

Accounting/Audit – является особенностью конфигурации автора разработки.

4. Pattern.

Настройка шаблона отчета.

File – файл Excel, который содержит формулы для выбранного вида отчета. Файл должен иметь формат, описанный ниже. Для каждого вида (BA, IS, CF) файл запоминается отдельно.

Open – открыть файл в Excel.

Close – закрыть файл.

By period – если включена, отчет будет «развернут» по горизонтали по дням, неделям, декадам, месяцам, кварталам или годам.

Group – если включена, итоги будут сгруппированы по периодам. Например, если задать период – квартал, периодичность – неделя, то отчет будет выведен в 4 колонки: в первой колонке – суммарный оборот за 1-ю неделю первого, второго и третьего месяцев, в второй колонке – суммарный оборот за 2-ю неделю первого, второго и третьего месяцев, и т.д. Опция имеет смысл только для оборотов, сальдо при включенной опции Group равно нулю.

Diagram – построить график на основе формируемого отчета. График выводится в виде столбчатой диаграммы, и позволяет наглядно проследить динамику изменения одной или нескольких строк отчета по периодам. Серии задаются в виде номеров строк файла Excel. Серии сохраняются отдельно для каждого отчета. Опция Diagram доступна только при включенной опции By period.

By company — если включена, отчет будет «развернут» по горизонтали по выбранным компаниям (см. Totals).

By account – является особенностью конфигурации автора.

Numeration – если включена, в отчет выводятся номера строка файла Excel.

5. Totals.

Настройка других (кроме текущей базы) источников для выборки итогов.

«+» – включить источник данных.

Company – ИД базы, как он задан в таблицах SQL.

«#» — номер колонки в файле Excel, которая содержит формулы для данного источника. Если не задан, формулы берутся из колонки Params (см. Формат файла Excel).

СД – дополнительный признак (например, признак совместной деятельности). Используется в том случае, когда один источник содержит 2 или более балансов. Используется очень редко (например, на Украине для совместных предприятий, образованных после 1.1.2002).

Кнопки управления:

«On» – включить все источники данных, кроме <Balance>.

«Off» – выключить все источники данных.

«#» – заполнить значением одноименную колонку.

«Fill» – заполнить Company из собственной базы SQL.

«Add» – добавить Company.

«Del» – удалить Company. <Balance> нельзя удалить из Totals.

В заголовке Totals выводится количество отмеченных баз и общее количество баз в списке.

Основное назначение Totals – описать доступ к итогам, хранящимся в других базах 1С.

Например: есть сервер, на котором стоят несколько десятков баз 1С. В каждой базе ведется только одна фирма. Теперь необходимо сформировать консолидированный баланс по всем фирмам. Если запускать каждую 1С через OLE, получится долго J. Поэтому итоги надо брать либо напрямую из таблиц 1С на сервере, либо предварительно сохранить итоги в отдельной БД SQL и выбирать уже оттуда. В данной разработке описаны оба подхода, но первый (более трудоемкий, зато гарантирующий актуальность итогов) доступен только в коммерческой версии.

Для сохранения итогов используется «Контроль баланса.ert» (описание см. ниже). В каждую базу 1С добавляется константа «ИД», которая содержит уникальный код компании. С помощью «Контроля баланса» итоги за указанный период запоминаются в таблицах SQL, в каждой записи указывается ID фирмы. Этот ID затем указывается в колонке «Company» таблицы Totals.

Дополнительные опции:

Source – откуда выбирать итоги для внешних прочих фирм. 1C database – выборка напрямую из таблиц 1С. SQL – выборка из собственных таблиц на SQL сервере.

USD – выводить дополнительно колонку с суммами в USD (по курсу на дату BA, либо по среднему курсу для IS & CF).

Only USD – выводить только колонку с суммами в USD (по курсу на дату BA, либо по среднему курсу для IS & CF).

Свертки – формировать отчет с учетом сверток.

Adjustments – обрабатывать корректировочные проводки из Excel (см. Формат файла Excel) и формировать отчет с учетом корректировок.

Subacc. — не используется.

Only subacc. — не используется.

Zero – при расшифровке показывать строки с нулевыми итогами.

Debug – если опция включена, номер текущей строки Excel выводится не только в строке статуса, но и в окне сообщений.

6. Кэширование.

Кэширование файла Excel и итогов SQL позволяет сэкономить время при многократных запусках отчета. При закрытии Consolidation все кэши не сохраняются.

Файл Excel – запоминается при первом запуске. Сбрасывается при изменении поля «#» в таблице Totals. Обновляется, если дата и время файла изменились.

Итоги SQL – сохраняются для всех ID, кроме <Balance>, естественно. Сбрасываются при изменении периода, а также при изменении состояния опции «By period».

7. Settings.

Language – язык, на котором формируется отчет. Принимает два значения: Russian (текст для строки отчета берется из колонки Excel TitleRussian) или English (текст для строки отчета берется из колонки Excel TitleEnglish).

Units – единицы, в которых выводятся числа. Например, 1000 или 1000000. По умолчанию 1.

Decimals – точность (количество десятичных знаков) при выводе чисел.

Замечание: погрешность, возникающая при округлении чисел, не обрабатывается.

8. Run

Формирует отчет. При повторном формировании отчета пытается использовать кэш файла Excel и итогов, выбранных из SQL (см. Кэширование).

9. Run & Check

То же, что и Run, только дополнительно проверяется, все ли итоги были выбраны формулами, или что-то было выбрано дважды. Работает только для итогов из текущей базы для Balance и Income Statement.

10. Обороты счетов

В основном используется в качестве расшифровки строк IS и CF.

Счета – формула для вычисления. Формат см. в «Формулы и выражения».

Отдельно – если включена, формула для вычисления указывается отдельно для каждой фирмы. В этом случае при перемещении по списку фирм поле «Счета» автоматически заполняется из соответствующего поля списка.

Установить – сохранить формулу для выбранной фирмы в списке фирм.

План счетов – имеет смысл указывать в случае, когда итоги выбираются из текущей базы.

Данные – откуда выбирать итоги: Баланс – из бух. итогов текущей базы; SQL – из собственных таблиц на SQL сервере; 1C database – непосредственно из таблиц 1С на сервере.

Фирма – разделитель учета (только для конфигураций с разделителем по контрагентам).

Нули – если включена, в отчет будут выведены строки (обороты) с нулевым значением, если выключена – только непустые.

Субсчета / Только субсчета – действует только для текущего баланса.

Источники данных (список фирм):

Фирма – ID фирмы (если итоги выбираются из SQL) или контрагент (для конфигурации с разделителем учета), по которому выбираются итоги.

Знак – итоги по фирмам можно как складывать, так и вычитать. Пустое значение – не включать фирму в отчет.

«++» — добавить фирму.

{ + } – добавить все ID из SQL.

+/- — установить знак для всех фирм.

Х – удалить текущую строку.

{ Х } – удалить все строки.

Для каждой фирмы, кроме знака, с которым ее итоги включаются в отчет, можно указать свою формулу для вычисления итогов. Это имеет смысл, например, в случае, когда необходимо получить консолидированный отчет по двум фирмам с разными планами счетов. Для этого необходимо включить опцию «Отдельно», записать в «Счета» формулу», и нажать «Установить». Теперь, когда фирма в списке будет выбрана текущей, в поле «Счета» появится формула, по которой для этой фирмы вычисляются итоги.

Расшифровка «Оборотов счетов» возможна только для итогов из текущей базы.

11. Расшифровка BA

Расшифровка баланса (сальдо) не вынесена в отдельный отчет. В этой версии недоступна расшифровка итогов для текущей базы (только для SQL).