Бобрышов Александр | Ведущий программист | ООО "Проф ИТ"

«Как организовать консолидацию данных из трёх десятков предприятий не привлекая программистов на местах?»

Давайте представим, что у нас есть "зоопарк" из разных конфигураций 1С, от разных организаций одного холдинга, занимающихся совершенно непохожей деятельностью (от промышленного производства до туристической деятельности). Бухгалтерские данные должны стекаться из этих предприятий в управляющую компанию, учет в которой ведется в системе, принципиально отличающейся от 1С. Некоторые дочерние организации работают на решениях без штатных программистов и находятся за 1000+ км. Я расскажу, какую архитектуру и технологии выбрать для такого обмена. Как наладить выгрузку данных по одной кнопке без изменения конфигурации предприятия. Как создавать и модифицировать правила обмена для разных предприятий из офиса управляющей компании. Как следить за состоянием обмена из единого центра управления.

Сравнение оборотно-сальдовой ведомости двух баз и поиск различий в операциях (проводках документов).

Администрирование - Поиск данных

Если надо выяснить, какие операции по бухгалтерскому учету отличаются в двух базах - надо взять архивную копию базы на дату закрытия периода, или любую другую интересующую нас, и сделать сравнение оборотно-сальдовой ведомости рабочей базы и копии. Данная обработка позволяет быстро сделать сравнение оборотно-сальдовых ведомостей двух баз и найти различающиеся операции (документы и проводки).

Типичная задача - выяснить, какие различия есть в двух базах 1С (копии базы на какую-то критическую дату) и текущей рабочей базой данных. Для упрощения данной рутинной операции по поиску расхождений и сделана данная обработка. После подключения из рабочей базы к копии базы по OLE или наоборот из копии базы к текущей рабочей (кому как удобней) - обработка строит оборотно-сальдовую ведомость сразу по двум базам и выводит результат в единую таблицу, отмечая различающиеся позиции. При щелчке на ячейке с различием, сравниваются проводки в двух базах и выводится список различий - проводки, обнаруженные в текущей базе и не имеющие точного соответсвия в копии и наоборот, проводки в копии базы не имеющие точного соответствия в текущей базе.

 

Сравнение оборотно сальдовой ведомости в рабочей и копии базы с возможностью поиска различий в проводках за указанный период по нужному счету с отбором по указанной аналитике.

Дальше можно проанализировать журнал регистрации по выбранному документу с указанной даты, чтобы определить, кто и когда проводил указанный документ. Для анализа журнала регистрации никаких дополнительных действий производить не нужно, используется стандартный механизм журнала регистрации.

Анализ журнала регистрации базы данных по выбранному документу

 

За основу взята обработка //infostart.ru/public/167127/

 

 

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

Наименование Файл Версия Размер
Оборотно Сальдовая Ведомость + Сравнение операций + Анализ журнала регистрации
.erf 59,92Kb
30.05.14
209
.erf 59,92Kb 209 Скачать

См. также

Комментарии
Сортировка: Древо
1. powerpc 208 28.05.14 09:38 Сейчас в теме
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(13,20)}: Переменная не определена (БухгалтерскиеОтчеты)
ОписаниеПериода = <<?>>БухгалтерскиеОтчеты.СформироватьСтрокуВыводаПараметровПоДатам(ДатаНач, ДатаКон);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(105,18)}: Переменная не определена (БухгалтерскиеОтчеты)
Текст = Текст + <<?>>БухгалтерскиеОтчеты.ВернутьЧастьЗапросаПоВыборкеПолейОборотноСальдоваяВедомость(СтруктураПараметров.МассивПоказателей, Истина, Истина, Истина, РазвернутоеСальдо);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(116,35)}: Переменная не определена (БухгалтерскиеОтчеты)
ОграниченияПоПостроителюОтчета = <<?>>БухгалтерскиеОтчеты.ПолучитьТекстОграниченийПоПостроителюОтчета(ПостроительОтчета, Запрос);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(119,2)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.ДополнитьСтрокуОграниченийПоРеквизитам(СтрокаОграниченийПоРеквизитам, "Организация", Организация);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(146,18)}: Переменная не определена (БухгалтерскиеОтчеты)
Текст = Текст + <<?>>БухгалтерскиеОтчеты.ВернутьЧастьЗапросаПоВыборкеПолейОборотноСальдоваяВедомость(СтруктураПараметров.МассивПоказателей, Истина, Ложь, Ложь, РазвернутоеСальдо);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(227,32)}: Переменная не определена (БухгалтерскиеОтчеты)
ОграничениеПоДатамКорректно = <<?>>БухгалтерскиеОтчеты.ПроверитьКорректностьОграниченийПоДатам(ДатаНач, ДатаКон);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(240,2)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.СформироватьИВывестиЗаголовокОтчета(ЭтотОбъект, ДокументРезультат, ВысотаЗаголовка, ПоказыватьЗаголовок);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(242,18)}: Переменная не определена (БухгалтерскиеОтчеты)
НаличиеДублей = <<?>>БухгалтерскиеОтчеты.ОпределитьНаличиеДублирующегосяПараметраВИзмерениях(ПостроительОтчета);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(252,33)}: Переменная не определена (БухгалтерскиеОтчеты)
СтруктураФорматовПоказателей = <<?>>БухгалтерскиеОтчеты.СформироватьСтруктуруФорматовПоказателей(МассивПоказателей, ИмяРегистраБухгалтерии);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(268,30)}: Переменная не определена (БухгалтерскиеОтчеты)
СоответствиеСчетовПредков = <<?>>БухгалтерскиеОтчеты.ВернутьСоответвиеСчетовПредков(Метаданные.РегистрыБухгалтерии[ИмяРегистраБухгалтерии].ПланСчетов.Имя, Счет);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(270,35)}: Переменная не определена (БухгалтерскиеОтчеты)
СтруктураПараметровОграничений = <<?>>БухгалтерскиеОтчеты.СформироватьСтруктуруОграниченийДляОборотноСальдовойВедомост­иПоСчету(ЭтотОбъект, ПоВалютам);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(446,18)}: Переменная не определена (БухгалтерскиеОтчеты)
Текст = Текст + <<?>>БухгалтерскиеОтчеты.ВернутьЧастьЗапросаПоВыборкеПолейОборотноСальдоваяВедомость(МассивТекущихПоказателей, Истина, Истина, Истина, РазвернутоеСальдо);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(486,2)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.ДополнитьСтрокуОграниченийПоРеквизитам(СтрокаОграниченийПоРеквизитам, "Организация", Организация);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(503,17)}: Переменная не определена (БухгалтерскиеОтчеты)
СтрокаИтогов = <<?>>БухгалтерскиеОтчеты.ВернутьЧастьЗапросаПоВыборкеПолейОборотноСальдоваяВедомость(МассивТекущихПоказателей, Ложь, , , РазвернутоеСальдо);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(557,2)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.СформироватьПервоначальныйОтборПостроителяПоСубконто(ПостроительОтчета, Счет);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(565,14)}: Переменная не определена (БухгалтерскиеОтчеты)
Параметры = <<?>>БухгалтерскиеОтчеты.СоздатьПоСтруктуреСоответствие(СтруктураПараметров);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(589,2)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.ВосстановитьОтборПостроителяОтчетовПоПараметрам(ПостроительОтчета, СтрокиОтбора);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(814,4)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.ЗаполнитьПараметрыРасшифровкиОбороткиПоСчету(ОбъектОтчета, ВыводимаяОбласть, Выборка, СтруктураПараметров);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(828,4)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.ЗаполнитьПараметрыРасшифровкиОбороткиПоСчету(ОбъектОтчета, ВыводимаяОбласть, Выборка, СтруктураПараметров);
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(880,5)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.ЗаполнитьПараметрыРасшифровкиОбороткиПоСчету(ОбъектОтчета, ВыводимаяОбласть, Выборка, СтруктураПараметров);
3. alex_4x 76 28.05.14 10:53 Сейчас в теме
(1) powerpc,
А Какая у Вас конфигурация ?
5. alex_4x 76 28.05.14 13:31 Сейчас в теме
(1) powerpc,
Все функции общих модулей "БухгалтерскиеОтчеты" и "УправлениеОтчетами" перенес в обработку.
Попробуйте на вашей базе запустить обработку. Интересно, какая у вас конфигурация (типовая) ?
7. powerpc 208 28.05.14 17:19 Сейчас в теме
(5) да, типовая:
Бухгалтерия предприятия КОРП, редакция 2.0 (2.0.57.10) (http://v8.1c.ru/buh8corp/)
Copyright (С) ООО "1C", 2009 - 2014. Все права защищены
(http://www.1c.ru)
8. powerpc 208 28.05.14 17:50 Сейчас в теме
(5) измененную обработку попробовал. теперь так ругается:

{Форма.Форма.Форма(4,20)}: Переменная не определена (БухгалтерскиеОтчеты)
ОписаниеПериода = <<?>>БухгалтерскиеОтчеты.СформироватьСтрокуОграниченийПоДатамДляФормы(ДатаНач, ДатаКон);
{Форма.Форма.Форма(138,2)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.ПоддержкаОднофирменностиДляБухОтчетов(ЭтаФорма, Организация, УчетПоВсемОрганизациям, НЕ НеЗаполнятьНастройкиПриОткрытии);
{Форма.Форма.Форма(151,2)}: Переменная не определена (БухгалтерскиеОтчеты)
<<?>>БухгалтерскиеОтчеты.УправлениеПометкамиКнопокЗаголовковКоманднойПанели(ЭтаФорма, ПоказыватьЗаголовок);
10. powerpc 208 29.05.14 08:53 Сейчас в теме
(9) KapasMordorov, http://infostart.ru/public/71572/ тоже кривая какая-то сверка
11. KapasMordorov 411 29.05.14 10:53 Сейчас в теме
(10)
В чем кривость?
Сам вчера пользовался, искал расхождения с копией после перепроведения документов по ТМЦ за 11 месяцев.
12. powerpc 208 29.05.14 11:49 Сейчас в теме
(11) KapasMordorov, вот именно "искал", там чёрт ногу сломит, строк миллион, опять надо искать внутри что не совпадает
2. echo77 833 28.05.14 10:28 Сейчас в теме
Механизм сравнения файлов не поможет решить данную задачу?
6. alex_4x 76 28.05.14 13:53 Сейчас в теме
(2) echo77,
Конечно можно и простым сравнением файлов. Это просто еще один инструмент, в чём то он может быть удобней, чем просто сравнение файлов. Сравнение файлов "в лоб" не дает результата, так как если в базе перепроводили документы или проводки, даже не меняя их, то в списке операций они могут быть на разных позициях, особенно если время у всех операций одинаковое (на конец или на начало дня). Можно конечно в Excel выгрузить и там функцией ВПР() искать, но это уже дополнительные телодвижения. Тут цель максимально упростить поиск различий.
4. ildarovich 6031 28.05.14 11:27 Сейчас в теме
Тем, кто заинтересовался данной темой, предлагаю посмотреть также Компаратор оборотов в информационных базах.
13. alex_4x 76 30.05.14 11:00 Сейчас в теме
Выражаю глубочайшую благодарность Powerpc за тестирование обработки на БУХГАЛТЕРИИ КОРП. 2.0
В настоящий момент выявленные им ошибки исправлены, и обработку можно считать совместимой с Бухгалтерией 2.0 КОРП.
14. powerpc 208 30.05.14 11:51 Сейчас в теме
(13) Отличный отчёт. Последняя версия работает и в 1С8:Бухгалтерия 2.0 КОРП. Спасибо огромное автору. Долгое время не доходили руки сделать такую сверку. Тем более здесь всё так наглядно и удобно! Респект!
15. Maximysis 9 18.06.14 15:12 Сейчас в теме
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(424,2)}: Переменная не определена (БухгалтерскийУчет)
<<?>>БухгалтерскийУчет.ОбработатьВыборСубконто(Элемент, СтандартнаяОбработка, Организация, СписокПараметров, ТипЗначенияПоля);
в УТП 2.0
16. alex_4x 76 18.06.14 16:54 Сейчас в теме
(15) Maximysis, А какая у вас конфигурация? В смысле бухгалтерия, упп, версия ?
18. Maximysis 9 19.06.14 10:39 Сейчас в теме
(16) Адаптировал под свою УТП 2.0, Но ошибка с валютными счетами присутствует и в УПП 1.3
17. Maximysis 9 19.06.14 10:35 Сейчас в теме
По валютным счетам падает с ошибкой
{ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(307)}: Ошибка при вызове метода контекста (ПолучитьЗапросОЛЕ)
ВнешОбрОЛЕ.ПолучитьЗапросОЛЕ();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.19.102): {ВнешнийОтчет.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.МодульОбъекта(667)}: Ошибка при вызове метода контекста (Выполнить)
{(29, 2)}: Таблица не найдена "Валюта"
<<?>>Валюта
19. chmv 30.06.14 14:19 Сейчас в теме
20. gull22 82 28.08.14 15:37 Сейчас в теме
Уря, сработало Комплексная автоматизация, редакция 1.1 (1.1.50.1)
Но расшифровку по счету 02 не дает

21. alex_4x 76 28.08.14 15:51 Сейчас в теме
(20) gull22, А что значит "расшифровку не дает" ? - субконто не показывает или что? или не показывает какие документы изменили? Куда нажимаете ? на серое поле (где есть изменения)?
23. phsin 124 17.09.14 15:53 Сейчас в теме
Спасибо! Бухгалтерия предприятия, редакция 2.0 (2.0.59.5) - работает
24. Taktic 46 17.10.14 15:56 Сейчас в теме
Изумительная по своей полезности штука!!!

Проверял на Комплексная автоматизация, редакция 1.1 (1.1.36.1)

Правда мне пришлось поправить строчку коннектора с
БазаОле = Новый COMОбъект("V82.Application");
на
БазаОле = Новый COMОбъект("V83.Application");

И допилить вместо журнала регистрации использование версионирования.
25. alex_phantom 29.11.14 21:36 Сейчас в теме
Добрый день!
Неверно показывает итоги оборотов по кредиту в подключаемой базе, копирует из текущей.

Ошибка в модуле объекта, строка 1249, надо заменить строку

Область.Параметры.ОборотКт2 = Формат(ОборотКт, ФорматПоказателя);
на
Область.Параметры.ОборотКт2 = Формат(ОборотКт2, ФорматПоказателя);

Жаль что нет итогов по количеству.

А в общем неплохо.
26. AnryMc 715 11.06.15 15:29 Сейчас в теме
Очень полезная штуковина!
Можно найти, например, кто накосячил...

Но я часто (всегда) до своих вмешательств в конфигурацию клиента делаю копию и показываю что после моих вмешательств ничего не изменилось... Обычно проверяю остатки и обороты за период по "Оборотно сальдовой ведомости". ..

Т.е. если добавить возможность начать с "оборотно-сальдовой ведомости" (по все счетам) то будет удобней сравнивать и "расследовать". Когда ОСВ покажет с какими счетами нужно разобраться...
27. AnryMc 715 11.06.15 15:51 Сейчас в теме
Отчёт "Различия в операциях..." имеет два блока:
1) Нет в этой базе
2) Нет в копии базы

Т.е. Документ который изменился будет присутствовать в обоих блоках. По моему это не удобно (не логично) ведь он есть в обоих базах...
Наверно, стоит добавить блок, например, "Различны в базах" и сначала заполнить этот блок а уж затем два предыдущих...
28. zels 169 18.12.15 10:53 Сейчас в теме
Пара замечений
1. Нет показа только различий в ОСВ по счету
2. Почему-то не запоминает адрес подключаемой базы с пользователем и паролем
29. serggo 20.02.16 13:04 Сейчас в теме
А есть ли версия для управлямых форм?
30. alex_4x 76 24.03.16 21:49 Сейчас в теме
Через управляемые формы я не знаю как подключться к внешней базе. Подскажите если есть желание. (без изменения самой конфы и установки третьей связующей базы)
31. elephant_x 30.06.16 12:09 Сейчас в теме
Хорошая идея, жаль не работает Бухгалтерия предприятия, редакция 2.0 (2.0.65.8)

В 3.0 понятно почему не работает)
Оставьте свое сообщение