"Легкие" правила переноса остатков из БП 3.0 в БП 3.0 (Свертка базы документами "Ввод остатков")







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

В стандартной поставке конфигурации "Бухгалтерия предприятия, редакция 3.0" предусмотрена типовая процедура свертки базы, однако, она не всем подходит в силу тех или иных причин. Например, в базе после свертки все равно можно встретить неактуальные, помеченные на удаление документы и справочники, да и само удаление помеченных объектов после свертки может занять длительное время, которое не всегда есть.

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

Для данной свертки и предназначены правила из вложения.

Правила обмена разработаны в конфигурации Конвертация данных ред. 2.1, а выгрузка данных происходит через типовую обработку "Универсальный обмен данными в формате XML":

Перед выгрузкой нужно указать на какую дату и по какой организации выгрузить данные:

Правила неспроста названы "лёгкими", т.к. они переносят только документы ввода начальных остатков со всеми необходимыми справочниками и регистр сведений "Учетная политика":

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

Во вложении к публикации также находится файл со списком запросов, которые необходимы для сбора остатков по счетам бухгалтерского учета, данный файл будет полезен тем разработчикам, которые пишут собственные правила выгрузки остатков из бухгалтерских баз. Список запросов можно открыть, используя типовую "Консоль запросов":

Правила тестировались на релизе Бухгалтерии 3.0.65.91 на платформе 8.3.12.1529

Для работы на других релизах рекомендуется после загрузки правил в Конвертацию данных обновить описание конфигурации.

UPD от 26.02.2024:

  • В запросе для выгрузки остатков по материалам добавлена проверка на то, что КоличествоОстаток может быть равным 0
  • Из правил обмена удален реквизит "ИПИспользуетТрудНаемныхРаботников" справочника "Организации", т.к. данный реквизит в более поздних версиях бухгалтерии удален, что могло приводить к ошибкам при выгрузке данных

UPD от 21.03.2024:

  • При выгрузке номенклатуры на релизах старше 3.0.67.xx, нужно в ПКО "Номенклатура" исправить источник и приемник для поля "Ставка НДС" на "УдалитьСтавкаНДС". Связано это с переименованием реквизита в более поздних релизах бухгалтерии.
  • Правила обмена обновлены с учетом удаления этих реквизитов

53 Comments

  1. stm83

    Обновил описание конфигурации до актуальной для меня версии БП 3.0.67.43.

    После проверки правил исправил названия реквизитов, которые были переименованы.

    (ИПИспользуетТрудНаемныхРаботников, ПредъявляетНДС, СтавкаНДС)

    Загружаются и проводятся документы «ВводНачальныхОстатков» кроме «Расчеты с персоналом по оплате труда»

    Выдает следующие ошибки:

    Дата движений документа должна быть не ранее 2000 года

    Не удалось сформировать документ «Ведомость в банк». Вероятно документ ранее уже был записан в информационной базе.

    Ошибка записи объекта

    ТипОбъекта = Ввод остатков

    Объект = Ввод остатков 0000-000011 от 31.12.2018 23:59:59

    ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): В данной транзакции уже происходили ошибки!

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

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

    По даблклику на ошибке заводит новый документ «Ведомость в банк»

    Вторую ошибку очевидно выдает процедура СформироватьВедомости(Отказ) из модуля объекта документа «ВводНачальныхОстатков»

    сравнил: она не поменялась с версии 3.0.65.91

    Хотел посмотреть в отладчике, штатная обработка «Универсальный обмен» не дает сделать отладку обработчиков из внешней обработки,

    пишет: Внешняя обработка отладки, загружаемая из файла на диске, не поддерживается.

    Отредактировал код обработки как в этом сообщении http://forum.infostart.ru/forum15/topic195031/message2005672/#message2005672

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

    В самой обработке «»Универсальный обмен» при отладке перед попытками записи у документа «ВводНачальныхОстатков» в ТЧ «Расчеты с персоналом по оплате труда» уже стоит:

    «Ошибка получения представления значения: В данной транзакции уже происходили ошибки!»

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

    Подскажите, пожалуйста, как исправить, или в каком направлении копать (на дату движений жалуется в начале)

    Reply
  2. Skin123

    (1)

    Добрый день.

    Отключите в настройках учета признак «Учет заработной платы ведется в этой информационной базе», тогда документ по вводу остатков по счету 70 проведётся

    Reply
  3. stm83

    (2)

    Получилось, спасибо!

    теперь падает на следующем вводе остатков «Расчеты с подотчетными лицами»

    ранее на данных простой базы все проводилось(документ внутри был пустой), на других вылетает с ошибкой:

    Ошибка при записи документа

    ИмяПКО = ВводНачальныхОстатков

    ТипОбъекта = Ввод остатков

    Объект = Ввод остатков от 31.12.2018 23:59:59

    ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля «Расчетный документ» не может быть пустым! (Регистр накопления: Прочие расчеты; Номер строки: 1)

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

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

    Reply
  4. Skin123

    (3)

    Прочие расчеты

    Судя по описанию ошибки у вас УСН?

    Для УСН прийдется доработать правила обмена в тех ПВД, где нужно выгружать доп. сведения для УСН.

    Reply
  5. deltaone

    Вобщем, берите напильник и готовьтесь к правкам …

    Не перегружается система налогообложения

    Похоже ошибки в приоритетах выгрузки/загрузки, при проведении документов остатков учетная политика еще не подгружена (ну и система налогообложения отсутствует как таковая)

    Ну и устарело уже 😉 Готовьтесь к правкам связанным с НДС …

    Ошибки на выгрузке

    Остатки_НДС76

    Если стр.СчетФактураВыданныйПолученный = null Тогда
    Сообщить(«Неверная с/ф — СЧЕТ:» + стр.СчетУчета
    + » Контрагент:» + стр.Контрагент
    + » НДС:» + стр.НДС
    + » СчетФактураВыданныйПолученный:» + стр.СчетФактураВыданныйПолученный
    + » СчетФактура:» + стр.СчетФактура
    );
    Продолжить;
    КонецЕсли;
    

    Показать

    Куча подобных:

    Неверная с/ф — СЧЕТ:76.АВ Контрагент:XXX НДС:29 745,76 СчетФактураВыданныйПолученный: СчетФактура:

    Reply
  6. Skin123

    (5) собственно правила на то и названы «лёгкими», у всех свой учёт и свои напильники 🙂 редко, если не никогда, какие правила обмена можно взять и они сразу будут работать на вашей конфигурации.

    Reply
  7. deltaone

    Ну что я могу сказать, жалко, что нет moneyback’a. Совсем не вижу связи между словами «легкие» и «напильник».

    Reply
  8. it-partner

    Добрый день. Мы удалили документы в базе и начали вести новую базу. Хотим перенести остатки по 10 счету. Если мы воспользуемся вашей обработкой, номенклатура сопоставится?

    Reply
  9. Skin123

    (8) добрый день.

    Это не обработка, а правила обмена. Номенклатура в этих правилах ищется либо по УИД, либо по наименованию, если не находится то создается

    Reply
  10. it-partner

    (9)Ну в принципе если включить поиск по коду, то должно работать?

    Reply
  11. Skin123

    (10) Да, должно

    Reply
  12. it-partner

    И еще такой вопрос.

    Нам нужно основное перенести материалы и ОС. В документе ввода остатков есть данные о партиях (НДС). как будут они сформированы: документы ручного учета, или перенесутся именно те документы по которым эти материалы пришли?

    Reply
  13. Skin123

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

    Reply
  14. Oks_a

    Добрый день. При выгрузке остатков по материалам,возникает ошибка при вызове метода контекста (Выполнить):Ошибка выполнения

    запроса:Ошибка при выполнении операции над данными:Ошибка SQL:деление на 0:Деление на 0 значения типа Numeric. А так же при выгрузке остатков Остатки_ НДС76: Значение не является значением объектного типа (Авансы). Возможно ли эти ошибки поправить?

    Reply
  15. Skin123

    (14) Добрый день.

    Посмотрите обработчики по выгрузке остатков, возможно, по алгоритму сможете найти в каком месте возникает ошибка и поправить это.

    Процедуру по выгрузке остатков по материалам можно найти на закладке Алгоритмы в КД.

    Процедуру по выгрузке остатков по НДС76 в правиле выгрузки «Остатки_НДС76»

    По материалам, возможно, у вас есть остатки с нулевым количеством?

    Reply
  16. Oks_a

    Спасибо за ответ. Еще вопрос, почему при выгрузке 60 и 62 счетов не используется ПР? Остатки по этим счетам перебрасываются не правильно.

    Reply
  17. Skin123

    (16) В таблице «РасчетыСКонтрагентами» документа ВводНачальныхОстатков есть только Сумма и СуммаНУ.

    Если они отличаются, то документ при проведении сам поставит разницу как СуммуПР в проводку

    Reply
  18. Oks_a

    Добрый день.По материалам у нас ,действительно ,есть остатки с нулевым количеством. Как поправить Алгоритм, не могу разобраться, не поможете ? Спасибо

    Reply
  19. Skin123

    (18) Добрый день.

    В запросе алгоритма есть поле «цена», которое вычисляется как СуммаОстаток/КоличествоОстаток, добавьте туда условие, что КоличествоОстаток <> 0. Должно получится что-то вроде «Выбор когда Не КоличествоОстаток = 0 Тогда СуммаОстаток/КоличествоОстаток Иначе СуммаОстаток Конец КАК Цена»

    Reply
  20. Oks_a

    Большое спасибо за ответы. «Забросала » Вас вопросами. После выгрузки остатков по 60 не редактируется сумма НУ, документ Ввод Начальных Остатков редактируется только по суммам БУ?

    Reply
  21. Skin123

    (20)сумма ну в пользовательском режиме не редактируется. Только через редактор реквизитов, например

    Reply
  22. Oks_a

    Добрый день. После выгрузки 60-62 сч. в док. ввод начальных остатков в третьем субконто создается ДокументРасчетовСКонтрагентами на дату остатков, а нужна реальная дата документа расчета. Где поправить. Спасибо.

    Reply
  23. Skin123

    (22) В ПКО «ДокументРасчетовСКонтрагентом» затереть обработчик ПКС

    Reply
  24. Oks_a

    Большое спасибо. Вопрос не по Вашей обработке: в БП есть обработка Свертка информационной базы ,при которой происходит формирование документов ввода остатков на определенную дату и удаление документов, которые не используются, но объем базы не уменьшается, к сожалению. Может можно выгрузить при помощи обработки ВыгрузкаЗагрузкаДанных сформированные док.остатков в чистую базу. Сверткой базы занимаюсь впервые, не знаю как лучше сделать.

    Reply
  25. Skin123

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

    Reply
  26. Raskad

    Все документы ввод остатков — пустые. С чем связано?

    Reply
  27. Raskad

    При наличии косячного ведения учета, например остатки по 10 счету только по одному ресурсу, например сумма без количества, сваливается по ошибке деления на ноль. Не пойдет. Пускай исправления делаются в базе приемнике.

    Reply
  28. Raskad

    По Остатки_НДС76 : если есть остатки по 76.АВ с пустым субконто счет-фактура, то сваливается по ошибке. Ну раз уже используете левое соединение, так хотя бы надо использовать конструкцию EстьNULL или переопределять значение когда NULL.

    Что это за

    ВЫБОР
    КОГДА НЕ СчетФактураВыданный.Ссылка ЕСТЬ NULL
    ТОГДА СчетФактураВыданный.Ссылка
    КОГДА НЕ СчетФактураПолученный.Ссылка ЕСТЬ NULL
    ТОГДА СчетФактураПолученный.Ссылка
    КОНЕЦ

    ?

    А если NULL?

    Ну или потом уже при обращении к результату запроса проверять. Или вовсе внутреннее соединение использовать нужно.

    Reply
  29. it-partner

    Добрый день.

    Релиз 3.0.67.43.

    При выгрузке ОС и материалов ошибки.

    Ошибки во вложении.

    Reply
  30. Skin123

    (29) добрый день, по всей видимости у вас есть остатки с нулевым количеством. Я завтра постараюсь доработать этот момент в правилах и выложу новую версию.

    Если нужно прямо срочно, то посмотрите выше по комментариям я писал как это можно исправить самостоятельно

    Reply
  31. it-partner

    Дело в том, что мы тоже подумали что это из за остатков без количества. И убрали такие остатки (списали стоимость проводкой Д91 К10) и по отчету, на дату переноса нет таких позиций. Но ошибка все равно появляется.

    Reply
  32. Raskad

    (31) Может осталась вторая ошибка? В справочнике «Организации» есть реквизит «ИПИспользуетТрудНаемныхРабочитников»? На каком релизе перенос делали? Обновитесь до 3.0.65.91.

    Reply
  33. Skin123

    (31) Добрый день. Обновил правила обмена, теперь в запросе по материалам присутствует проверка на возможное деление на ноль.

    Также удалил из правил реквизит, которого нет в вашем релизе бухгалтерии.

    Это должно помочь.

    Reply
  34. nifor777

    Остатки по счёту 10.11.1(спец.одежда в эксплуатации) выгружаются этими правилами ?

    Reply
  35. Skin123

    (34) Добрый день, нет, остатки по счету 10.11.1 не выгружаются.

    Reply
  36. bumac

    Добрый день!

    У меня при выгрузке выходят ошибка с номенклатурой и её ставкой, ставка указана, а что при выгрузке не хватает не понимаю:

    Reply
  37. bumac

    (36) Соответственно не выгружаются остатки по: Товары, Материалы, Остатки 60, Остатки по забалансовым счетам. Могу предположить это как то связано с новой ставкой НДС в 20 процентов?

    Попробовал ещё сделать выгрузки на других базах (Бухгалтерия предприятия, редакция 3.0 (3.0.68.66)) везде проблема со ставкой НДС.

    Reply
  38. Skin123

    (36) Добрый день. В последних релизах «1С: Бухгалтерии» переименовали реквизит «СтавкаНДС» на «УдалитьСтавкаНДС». Поправьте в правилах обмена ПКС «Номенклатура», ПКО «Ставка НДС» на:

    Reply
  39. Skin123

    (37) ответ выше)

    Reply
  40. bumac

    (38) Для «Особо одаренных» править правила обмена нужно через какую версию Конвертации «Конвертация данных, редакция 3.0 (3.0.5.3)»?

    Сейчас придётся ещё разбираться с этой Конвертацией 🙁

    Reply
  41. bumac

    (38) Антон, спасибо за работающий вариант правил!

    Reply
  42. Anteros

    Добрый день. Подскажите, пожалуйста: сделал все, как на скриншоте

    (38) , ошибка осталась. Что можно сделать?

    Reply
  43. Anteros

    (38) Разобралась..Удалила реквизит в самом XML. Пришлось удалить еще и реквизит «ПредъявляетНДС» по той же причине

    Reply
  44. knigmnogo@mail.ru

    Большое спасибо за обработку! у меня ОС более 500 штук, думала поседею пока их руками загружу, но 5 минут и Вашей обработкой перенесла все ))))

    Reply
  45. bumac

    Подскажите, пожалуйста, почему при переносе данных из одной БП в другую в документе «Ввод остатков» например по 10 счету не переносится «Партия» или документ расчетов? Т.е. все поля нужно заполнять в ручную и документ расчетов с контрагентами нужно вводить в ручном режиме?

    Reply
  46. Skin123

    (45) Добрый день, а в базе откуда осуществляется перенос остатки ведутся в разрезе «Склад/Партия»? Выполните запрос, который выгружает остатки по 10-му счету в базе откуда выгружаются данные, посмотрите есть ли в результате склады и партии

    Reply
  47. bumac

    Добрый день! В настройка выставлен учет в разрезе Партия/склады, все документы перевёл ещё раз. Результат тот же 🙁

    Reply
  48. 0vrcr

    А здорово, в целом. А как шаблон — вообще супер.

    Мои личные придирки:

    Не хватает, конечно, из коробки (бесплатной обработки, лол) 45 с субсчетами, 57.03. Достаточно ходовые счета, как по мне. Но они вполне себе загрузились по алгоритму «ВыгрузитьОстаткиПростыхСчетов»

    С партиями не очень понятно. Зачем брать их из раздельного учета? Есть же субконто на 4110 счетах. Да и далеко не во всех организациях ведется раздельный учет. Проблема у (47) связана именно с этим. Но, опять таки, несколько строк переписать в правилах и всё встает на свои места.

    + в обработке Вы зашили явно, что субконто2 на 41 и 10 счетах — склад. Аналитика по складу может не вестись (что в бухашках норма), на втором субконто может быть партия 😉 Соответственно 41/10 счета идеально перенесутся только при том виде учета, который ведется у Вас в базах, а именно:

    Ведется учет в разрезе складов и партий, а не только партий

    Ведется раздельный учет по НДС

    Параметры учета и учетная политика не выгрузились (3.0.70.61), но это прямо вообще ерунда. Оно может быть и лучше даже. Пусть бухи еще раз подумают и сделают как положено.

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

    Это праздный интерес, сам пока глубоко не ковырялся, взял за каркас Вашу обработку и допилил.

    Reply
  49. 0vrcr

    del. написал выше

    Reply
  50. Skin123

    (48) Добрый день. Спасибо большое за адекватную критику!

    На счет остатков по счетам с партиями и складами, действительно, как появится свободное время перепишу правила выгрузки, чтобы они учитывали настройки базы, от куда выгружаются данные такие, как «Раздельный учет НДС» и «Вести учет по складам»

    Reply
  51. Raskad

    Поддерживается ли повторная загрузка данных в одну и ту же базу, после корректировки правил? Или нужно каждый раз пустую базу создавать?

    Reply
  52. Skin123

    (51) Добрый день, да, поддерживается, документы ввода остатков ищутся при загрузке

    Reply
  53. user1033146

    Добрый день! Счета 41 — е и 10 — е переносятся по складам и партиям? У меня они не заполнились.

    Reply

Leave a Comment

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