Правила обмена для свертки БП 3.0 -> БП 3.0 (3.0.43.241) , БП 2.0 -> БП 2.0 (2.0.64.33) документами ВводНачальныхОстатков / Ночной перенос остатков

Правила обмена и шаблон внешней обработки для ночного переноса остатков в документы ВводНачальныхОстатков (свертка базы) для бухгалтерия предприятия 2.0 (БП).
Задача: ежесуточно ночью переносить из старой базы новые остатки (после исправлений) и документы изменённые за период с начала года из старой в новую базу данных, обе из которых находятся на поддержке без возможности изменений.

Приближается закрытие периода и сдача бухгалтерской отчетности за год. До меня на этом месте работал один «внедренец» после которого мне досталось «тяжёлое наследство»: тормозная УПП, переделанная из УТ 10 и Бухгалтерия 8.2. При этом они очень долго жили не зная друг о друге ничего, естевственно их внутренние ID объектов тоже были «незнакомы». Поиск и синхронизация велись по полям поиска, которые очень часто дублировались. Приходилось выслушивать «нелицеприятные высказывания» от милых дам, лезть и исправлять косяки «врукопашную» (как? — наречие, пишем слитно), что генерировало маленький стресс, прерывало построение логической цепочки текущей разработки и резко снижало производительность труда Наконец-то появился повод (переход на 8.3) отличная возможность отсечь все ошибки предыдущих периодов, свернуть базу и «начать с чистого листа». Перековыряв сайт Инфостарт я нашёл несколько обработок по решению данной проблемы. Все обработки хороши, но у каждой свои недостатки:

  1. Обработка от Alex_E — это внешняя обработка формирующая документы ВводНачальныхОстатков (ВНО) на основании остатков по регистрам бухгалтерии в рабочей базе с последующим переносом их в новую базу с помощью правил обмена., доработанная из обработки с диска ИТС «СверткаБазы.epf» Не хотелось бы «светить» такую работу в текущей базе данных (БД) , поэтому приходилось делать копию текущей (БД) и заниматься этим вопросом в ней, не нагружая рабочую БД. Процесс не автоматический (процесс без участия человека), а хорошо автоматизированный (процесс с участием человека).  Требуется постоянные нажатия красивых кнопок и контроля процесса.  Можно было бы добится полной автоматизации, если бы не проблемы с переносом счетов 76.АВ и 76.ВА (раздел учета «НДС по авансам (счета 76.АВ, 76.ВА)»). Хотелось бы больше т.н. «статдартных» подходов/решений, и всё «в одном флаконе».
  2. Отличные правила от new_user. Привычное решение, но ВНО только для раздела «Основные средства и доходные вложения (счета 01, 02, 03, 010)», остальные счета документами «Бухгалтерская справка». Но ведь документ ВНО формирует движения не только по регистрам бухгалтерии (плану счетов), но и по регистрам накопления (а ведь ещё нужны и регистры сведений и т.п.), а как же они?
  3. К моему глубокому сожалению правила от 1С (Обработка «Выгрузка данных из 1С:Бухгалтерии ред.1.6» от 22.02.2012) выдают ошибки т.к. метаданные БП 1.6 и БП 2.0 различны.

Предлагаемое мой решение это переписанные для БП 2.0 правила от 1С, которые формируют документы ВНО, перенося как остатки по регистрам бухгалтерии (остатки по счетам), так и остатки по регистрам накопления (НДСПредъявленный, НДСВыставленный, НДСПоРеализации0 и т.п.). Это привычное прикладное решение (Обычно говорят «стандартное» решение, но если оно стандартное, то где его регистрационный номер, хотя бы от фирмы разработчика? Может кто предложит другой, более близкий по смыслу синоним?).

При решении данной задачи я столкнулся с проблемой: как назначить задание у находящейся на поддержке и закрытой от изменений  БД.  Подсказку решения этой проблемы я нашёл у wiranata, продолжаю работать по его следующему предложению. Понимая как этому «обеду» нужна хорошая «ложка», выкладываю свои наработки.

PS. Пока переношу в основном обработкой «Универсальный обмен данными в формате XML (2.1.7)».

Изменения и дополнения:
  2024-05-22   — изменена свёртка авансов. Теперь используются ссылки на реальный документы вместо документа-заглушки «ДокуметРучнойУчёт».
  2014-02-08   — добавлено распроведение старых и проведение вновь созданных документов ВводНачальныхОстатков (ВНО).

 

Публикация ссылается на:
  2013-08-09  — свертка БП 2.0 документами Ввод начальных остатков
  2013-02-21  — правила обмена данными для переноса остатков БП (2.0.27.8) —> БП (2.0.44.5)
  2012-12-17  — свертка БП 2.0 операциями
  2012-08-28  — регистрация объектов для автоматического обмена
  2012-08-28  — автоматизация обмена между базами используя обработку «Универсальный обмен данными в формате XML»

45 Comments

  1. Brawler
    Наконец-то появился повод (переход на 8.3)

    я так полагаю речь идет о БП 3.0

    Если я не ошибаюсь, то в БП 3.0 есть штатное средство сворачивания базы данных, так что сначала нужно на БП 3.0 перейти и там свернуть базу. Переход на БП 3.0 один в один можно сказать тянет данные, так как происходит «простое» обновление базы данных со всей ее подноготной.

    Reply
  2. jdo

    (1) Brawler, Нет речь идёт о БП 2.0 до конвертации в 3.0. А «подноготной» — насколько я понял это ошибки прошлых периодов? Главная цель этой разработки, кроме свёртки (уменьшение размера, увеличение производительности) базы данных (БД) это «ампутировать» ошибки прошлых периодов.

    А вы пробовали эту «штатную» свертку? Сворачивает всё документами ОперацияБух, при этом регистры не затрагиваются и, соответственно, не корректируются. (да и кто о них кроме программистов знает). План счетов идёт и ладно, а то что в регистрах накопления бардак, ну так это пусть при сдаче налогов программисты разбираются, ищут ошибки прошлых периодов и формируют по ним (а главное по взаимосвязям НДС выставленный, предъявленный реализация0, оплачен и насколько и по каким счет-фактурам) корректировки, и как потом эти ошибки прошлых периодов искать, а кроме поиска ведь их ещё и поправить регистры бухгалтерии надо (при этом желательно не забыть найти и поправить регистры накопления). А в моём случае всё правит бухгалтер, при этом параллельно правятся и регистры накопления. Ну и, соответственно, складывается мнение либо программа «хреновая» (что вряд ли «..ведь все на 1С работают, и у них всё хорошо..»), либо их программист 1С «бестолковый» (что скорей всего) и нужно искать другого.

    Единственный эффект от «штатной» свертки 3.0 — это возможность удалить документы прошлых периодов, да и то не всегда.

    То-то «франчи» порадуются. Им ведь тоже кушать надо, ну а «фикси» пойдут себе искать новую работу.

    Подождём отчётного периода и вспомним о нашем разговоре. Я предпочитаю не ждать (профилактика всегда дешевле лечения /в нашем случае «ампутации» программиста 1С/).

    Reply
  3. YalanchidiO

    Правила очень помогли =) спасибо, плюсик =)

    Reply
  4. YalanchidiO

    Правда выгружала и загружала универсальным обменом, так как Ваша обработка начинала выгрузку и потом сообщала мне, что выгружено 0 объектов, а выгрузка из обработки свертки брала Ваш период и говорила, что дата остатков не может быть меньше, чем дата начала выгрузки)

    Reply
  5. jdo

    (4) YalanchidiO, Сам пока шаблон не превратил в обработку в основном ручками переношу с помощь «Универсальный обмен данными в формате XML (2.1.7)».

    Reply
  6. pvv123

    Во всех сформированных ВНО по счетам расчетов с контрагентами не заполнен договор контрагента.

    Также договор не указан и в сформированных «Документ расчетов с контрагентом(ручной учет)».

    Reply
  7. jdo

    (6) pvv123, А в остатках базы предыдущего периода есть договора? У меня тоже было такое, при ручной корректировке бухгалтера не заполняли второе субконто. Пришлось вызывать и «тыкать» … в книжку пальчик. Если в старых остатках их нет, то и в новых им взяться «неоткуда», хотя можно будет конечно в процедуре «ПослеЗагрузкиОбъекта» поставить «ОсновнойДоговор» контрагента (если он заполнен конечно), но там появятся другие трудности в виде «не схлопывающегося второго субконто». У меня в пяти фирмах, по докладу коллеги, остатки перенеслись «отлично». Недавно допилил распроведение старых остатков и проведение вновь созданных (Не удаляю для того, чтобы было с чем сравнить и, в крайнем случае, восстановить). Уже неделю как никаких замечаний. В новом релизе это уже есть. В понедельник специально акцентирую внимание на договорах при взаиморасчётах с контрагентами.

    Reply
  8. pvv123

    (7) Только в рассылке ИС увидел обновление. Свою задачу решил с помощью другой обработки. В исходной базе договора в остатках указаны.

    Reply
  9. jdo

    (4) YalanchidiO, Спасибо за плюсик. Очень приятно.

    Reply
  10. Touh_Of_soul)

    Из БП 2.0.58.4 в БП 2.0.58.4 перенесёт он остатки и справочники? (можно ей перенести только остатки по 41 счёту и справочники?) Заранее спасибо..

    Reply
  11. jdo

    (10) Touh_Of_soul), ну конечно, можно переносить отдельно по разным счетам.

    Reply
  12. Touh_Of_soul)

    (11) Спасибо большое.. Качаю..

    Reply
  13. _linker

    Я правильно понимаю, что после переноса остается лишь провести все документы ввода начальных остатков (например, групповой обработкой справочников и документов), а остальные перенесенные документы остаются непроведенными для истории?

    Reply
  14. Ronin

    Доброе время суток.

    А что делает Ваша обработка?

    Открывает окно с двумя кнопками «Выгрузить» и «Загрузить», при нажатии на «Выгрузить» пишет выгружено 0 объектов, при нажатии «Загрузить», вообще ни чего не происходит!

    Reply
  15. jdo

    (14) Ronin, попробуй использовать обработку универсальный обмен (V8Exchan82.epf) из комплекта «Конвертация данных 2.0». Это заготовка для «ночного обмена».

    Reply
  16. dvigenie-np

    Добрый день. У меня почему то не переносятся договора контрагентов… Отдельно пытаюсь их перенести- пишет выгружено 0 элементов.

    Reply
  17. llg_44

    Добрый день! Спасибо, отличная идея. На актуальных БП 2.0 будет работать? Скачала. Получила кучу ошибок.

    Например, вот эта:

    Объект = Принятие к учету ОС 00000000001 от 01.10.2012 0:00:00 (Принятие к учету ОС)

    СвойствоПриемника = Комментарий (Строка)

    Обработчик = ПередВыгрузкойСвойства

    ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,52)}: Переменная не определена (Парметры)

    ПозицияМодуля = Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8933)

    КодСообщения = 55

    Нет, естественно, понимаю, что нужно поработать, прежде чем что-то получить.

    У меня база источник настроена в пользовательском режиме в плане счетов. И ни одна обработка не сворачивает по всем субсчетам Основные средства, только конечный субсчет. А пользователи насоздавали на 01, 02 счетах.. Хотела передать их так как есть в исходном виде.

    Правила корректирую, но столько время угрохала.

    Есть какие-то предложения? подскажите пожалуйста.

    Reply
  18. jdo

    (17) llg_мой косяк, сознаюсь. Пропустил букву «а», вместо «Парметры», нужно «Параметры». Отрыл текстовым редактором, и заменил Парметры на Параметры (всего 1 раз). Как бы усё.

    Reply
  19. nayd

    Спасибо огромнейшее. Помогает при переносе остатков из ПРОФ в КОРП версию.

    Хочу сообщить о небольшой неточности. Еле обнаружил.

    В ПВД «Остатки_Материалы» в конце, где собираются входящие данные сначала идет строка

    ВходящиеДанные.НоменклатураНаСкладе    = ТаблицаДанных;

    тут все нормально

    А несколькими строками ниже:

    ВходящиеДанные.НоменклатураНаСкладе   = Новый ТаблицаЗначений;

    В результате пусто выгружается.

    Это и при выгрузке основных таблиц, и при выгрузке таблиц ошибок.

    Reply
  20. nayd

    По тем же остаткам по материалам.

    В ПКО «ВводНачальныхОстатковНаДату» после загрузки написан код:

    КоллекцияОбъектов = Объект.МПЗПриобретенные;

    нужно заменить на:

    КоллекцияОбъектов = Объект.НоменклатураНаСкладе;

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

    Reply
  21. nayd

    И в нескольких местах ругалось Метод объекта не обнаружен (ПрименениеУСН)

    Если я правильно понимаю, это из-за того, что в общем модуле НалоговыйУчетУСН нет функции ПрименениеУСН

    PS: ничего, что я пишу об ошибках?

    Reply
  22. jdo

    (21) nayd, спасибо большое, появится окно обязательно подправлю. А не уточнишь это для какой версии 2.0, 3.0 или для обоих?

    Reply
  23. cyborg55

    Переношу остатки с 3.0.43.241. Очень много ошибок. Просто выгрузки не дает делать. Постоянно приходится исправлять через КД.

    Reply
  24. cyborg55

    Перенес только справочники.

    Reply
  25. Alex_E

    (23) cyborg55, а вот так http://infostart.ru/public/509628/ ?

    Reply
  26. cyborg55

    (21) nayd, У вас остальные счета нормально перенеслись? Не могли бы скинуть ваши исправленные правила на airatcs@gmail.com. Спасибо.

    Reply
  27. cyborg55

    (25) Alex_E, Спасибо. Завтра попробую. Результат напишу.

    Reply
  28. Alex_E

    (27) cyborg55, Хокей — мне интересно)))

    Reply
  29. jdo

    (23) cyborg55, действительно, я уже давно не актуализировал 3.0, недоработка однако. В ближайшие выходные исправлюсь.

    Reply
  30. konst2k6

    (29) Добрый день! Есть релиз 3.0.44.200. Есть задача: перетащить справочники, причем с удалением помеченных элементов, в чистую базу. Возможно ли это сделать этими правилами? Что нужно сделать чтобы довести правила до моего релиза? Насколько я понял нужно сделать сравнительный анализ конфиг и вычленить/добавить лишние/недостающие правила так? Как быть с удалением? Дописать обработчики в правила? Там в основном разница в ЕГАИС и ЭДО, которые у меня не используются.

    Reply
  31. jdo

    (30) Нужно выгрузит описание МД для вашей версии БП, загрузить правила с указанием вашей конфигурации. Потом зайти в режим редактирования правил, нажать линзоцу у конфигурации и нажать кнопку «Загрузить описание конфигурации». Все неиспользуемы ПКО, ПКС, ПКЗ пометятся красным и добавятся новые ПКО, ПКС, ПКС для новых объектов. Потом надо удалить помеченные. В ПВД указать только справчники, остальные пометить галкой не выгружать и моно работать.

    Reply
  32. konst2k6

    (31) Подскажите еще момент пожалуйста. Пытаюсь удалять помеченные красным правила. Контроль не дает этого сделать из-за зависимых элементов в справочнике «Правила конвертации значений». Возможно ли хоть как-то облегчить поиск таких элементов? Или только руками искать можно?

    Reply
  33. vshish

    После контроля можно перейти на объект

    Правда я в обычных формах пользуюсь, чаще альтернативными обработками поиск и удаление помеченных объектов.

    1. с диска ИТС

    2. из инструментов разработчика

    Reply
  34. konst2k6

    отмечаю на удаление неиспользуемое ПКО. захожу в операции — удаление помеченных объектов. нажимаю контроль. получается такая вот каша на скриншоте видно. кода тыкаю ссылку на удаляемый объект ничего не происходит. почему он не отмечает зависимые элементы? это моя ошибка или глюк? версия КД 2.1.8.2

    Reply
  35. jdo

    (34) Кстати я тоже пользую УдалениеПомеченныхОбъектов.epf. Потом перехожу в список и помечаю на удаление зависимый

    объект ПКО или ПВД. Мне кажется это глюк плтаформы, Всё должно работать, у меня работает на 8.2.19.130 (а может вирус?)

    Reply
  36. konst2k6

    (35) спасибо. разобрался. правила почистил. выгружается вроде. теперь такой вопрос если отметить на выгрузку все справочники, то после загрузке в приемнике перестают открываться справочники. с ошибкой задвоенности объектов метаданных. если выгружать только основные справочники, вроде номенклатуры, контрагентов и т.д. то загружается нормально и затем открывается без ошибок. что я делаю не так? 🙂

    Reply
  37. jdo

    (36) У тебя задваиваются коды справочников, которые для системы должны быть уникальные. Для справочников на которые ругается система попробуй снять галку в ПКС Код и установить галку в ПКО «Автоматически генерировать номер или код, если он не задан». Тогда система сама будет генерировать коды и не будет ругани на задвоение.

    Reply
  38. konst2k6

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

    Reply
  39. jdo

    (38) Ты молодец. Над чем воюешь? Конечно идёт динамика. Приходится пользоваться командой «Выполнить» и вызывать функции в зависимость от версии БП.

    Reply
  40. konst2k6

    Мне нужно научиться переносить «остатки» между идентичными базами. Причем универсальные обработки мне не подходят по ряду причин. 🙁

    Reply
  41. jdo

    (40) Ну если универсальные не подходят такие как Универсальный обмен данными, то чем же я могу помочь. Я был бы рад, конечно, но не знаю как .. 🙂 Подскажи, с удовольствием подставлю плечо.

    Reply
  42. konst2k6

    (41) пытаюсь вывести остатки раздела учета денежных средств спотыкается в алгоритме ВыгрузитьОстаткиПростыхСчетов на строке:

    ПрименениеУСН = НалоговыйУчетУСН.ПрименениеУСН(ТекОрганизация, ДатаНачала);

    Говорит что метод «ПрименениеУСН» не обнаружен. Пока не получается сообразить куда копать. 🙁

    Reply
  43. jdo

    (42) Находишь строку «ПрименениеУСН», где она спотыкается (Видно этой функции уже нет или она изменена) и делаешь:

    ПрименениеУСН = Ложь;
    Стр = «ПрименениеУСН = НалоговыйУчетУСН.ПрименениеУСН(ТекОрганизация, ДатаНачала);»;
    Попытка
    Выполнить(Стр);
    Исключение
    КонецПопытки;
    Reply
  44. zarinka1987

    Добрый день. Скажите, на сегодняшний день правила актуальны?

    Reply
  45. jdo

    (44) Не очень свежие, но работающие. Скажем так: возраст этих правил «пожилой».

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *