1с перенести движения регистра накопления

Обновлено: 07.07.2024

Детективная история

Сразу покажу на небольшом примере почему это так важно.

Пусть у нас есть начисление заработной платы за январь:

В начале февраля мы создаём ведомость на выплату зарплаты из кассы и нажимаем кнопку "Заполнить":

И получаем следующее:

Но ведь за январь:

  • Начисление 50 000 рублей
  • НДФЛ 6 500 рублей
  • Итого к выплате 43 500 рублей

Где закралась ошибка? Что пошло не так? Неужели теперь всегда вводить сумму к выплате вручную?

Опытный бухгалтер тут же сделает оборотно-сальдовую ведомость по 70 счёту:

И будет в ещё большем недоумении, потому что по данным отчёта к выплате выходят всё те же 43 500! И откуда же взялись лишние 5 000 рублей?

Причём такая ситуация (с любыми расчётами) может произойти как в "тройке", так и в "двойке".

Сегодня я попытаюсь приоткрыть завесу тайны - почему же иногда программа ведёт себя так странно. Я расскажу как в таких случаях находить и устранять ошибку. Ближе к концу статьи мы разберёмся - откуда же взялись эти самые 5 000 рублей.

Учимся видеть регистры

При проведении документов 1С:Бухгалтерия 8 делает проводки по бухгалтерским счетам (кнопка ДтКт у любого документа):

Именно на основании этих проводок строятся все бухгалтерские отчёты: Анализ счёта, Карточка счёта, Оборотно-сальдовая ведомость.

Но есть огромный пласт данных, которые пишутся программой параллельно с проводками и используются для всего остального: заполнение КУДИР, книги покупок и продаж, регламентированной отчётности. заработной платы к выплате, наконец

Как вы уже, наверное, догадались этот пласт называется регистрами, вот он:

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

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

Давайте присмотримся к регистру "Зарплата к выплате" - именно он имеет смысл для решения нашей проблемы с лишними 5 000:

Мы видим две записи по этому регистру, сделанные в приход, то есть в плюс. Если пролистать экран в право, то мы увидим в первой строчке сумму к выплате "-6 500", а во второй "50 000".

Остаток по этому регистру -6 500 + 50 000 равен 43 500, который и должен попасть в документ "Ведомость на выплату из кассы", когда мы нажимаем на кнопку "Заполнить".

Ещё раз повторюсь - ведомость на выплату определяет нашу задолженность по заработной плате перед сотрудником не по 70 счёту, а по регистру "Зарплата к выплате" .

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

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

Учимся анализировать регистры

И такой инструмент есть, он называется "Универсальный отчёт".

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

Выбираем тип регистра "Регистр накопления", регистр "Зарплата к выплате" и нажимаем кнопку "Сформировать":

Получилось не очень информативно:

Всё потому, что требуется предварительная настройка отчёта, нажимаем кнопку "Показать настройки" и на закладке "Группировка" добавляем поле "Сотрудник":

На закладке "Отборы" делаем отбор по нашей организации:

Нажимаем кнопку "Сформировать":

Вот это уже более интересно. Видим остаток к выплате нашему сотруднику те самые 48 500 рублей!

Снова заходим в настройки отчёта и добавляем на закладку "Показатели" новое поле "Регистратор":

Снова формируем отчёт:

Вот теперь мы прекрасно видим, что 5 000 появились как результат операции (видимо ввода остатков) 31 декабря 2014 года.

И нам нужно либо изменить эту операцию, либо вручную откорректировать регистр "Зарплата к выплате" и закрыть эти 5 000 рублей, например, 31 декабря 2015 года.

Давайте пойдём вторым путём. Итак, наша задача - сделать так, чтобы на начало 2016 года по регистру "Зарплата к выплате" не было нашей задолженности перед сотрудником.

Это делается ручной операцией.

Учимся корректировать регистры

Заходим в раздел "Операции" пункт "Операции, введенные вручную":

Создаём новую операцию концом 2015 года:

Из меню "Ещё" выбираем пункт "Выбор регистров. ":

Указываем регистр "Зарплата к выплате" и нажимаем ОК:

Переходим на появившуюся закладку регистра и делаем расход на 5 000 рублей:

Этим самым мы как бы отнимаем от регистра 5 000 рублей по сотруднику, чтобы выйти на ноль к началу 2016 года.

Проводим операцию и заново формируем универсальный отчёт:

Всё получилось! Видим, что наша ручная операция от 31.12.2015 вывела остаток в ноль и зарплата к выплате после начисления равна ожидаемым 43 500.

Замечательно. И сейчас мы проверим это в ведомости на выплату.

Но прежде я хочу обратить ваше внимание на ещё один важный момент:

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

Запомните. В том случае, если универсальный отчёт выводится с детализацией до документа (регистратора) - остатки по группировкам будут показывать ерунду.

Если нам требуются остатки по группировке сотрудник - нужно сначала удалить из настроек добавленный нами показатель "Регистратор":

И только потом формировать отчёт:

Сейчас остатки показаны корректно.

Результат

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

Мы молодцы, на этом пока всё

Кстати, подписывайтесь на новые уроки.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Bernet --> Bernet



Просмотр профиля

Всем привет, Конвертация данных, редакция 2.1 (2.1.8.2)

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

Мои действия:
1. включил в состав плана обмена все регистры накопления и бухгалтерии
2. прописал правила регистрации - чтобы регистрировались только те движения, которые созданы корректировками (остальные появятся в результате проведения документов в базе-приемнике).
3. и вот беру тестовый док, регистрирую его движения, пробую обменяться иии. ошибка - При загрузке в базу-приемник ругается на набор записей РН - смотрю, а обработка ОбменДаннымиXML какого-то рожна пытается этот набор записей загрузить как набор РС (регистра сведений).

Походу переносить движения с помощью КД не так просто, как я думал.
Дальше нашел [необходимо зарегистрироваться для просмотра ссылки], тут в 19 комментарии есть пример как сделали, но у меня не получается воспроизвести, там человек добавлял в ПКС группу свойств:

две табличные части - ТаблицаРегистровНакопления и ЗаказыПокупателей. Галки получать из входящих данных для табличных частей нет. В ПКС ПередОбработкой указываем.

так вот "ТаблицаРегистровНакопления" - понятно - это таб часть в составе метаданных документа, а как она смогла добавить "ЗаказыПокупателей" я не понял - ведь такой ТЧ нет, и КД не дает сделать произвольную таб часть, которой нет в составе. или я что-то не так делаю. Получается ПВД есть как в примере, ПКО тоже, а вот ПКС не соображу как сделать

Вопрос следующий: если смотреть на этот пример из статьи - что я делаю не так? или может у кого-то есть пример как перекинуть движения Корректировки записей регистров?

коллеги, приветствую. Подкиньте идею, как можно в однотипных конфигурациях перенести регистр накопления? Самому писать обработку под каждый - долго.

А если у ТС "однотипные" базы не синхронизированы по гуидам? КД2!

(имхо) Что бы впредь не было таких вопросов - "Будь мужиком!"(с) сделать РИБ. ;)

Однотипные = одинаковые конфигурации, данные отличаются в несколько дней :)

А правила где можно взять для выгрузки загрузки данных через xml?

дружище, дело в том, что РН не существует сам по себе и имеет регистратора в любом случае. "Просто так" ты можешь перенести корректировкой записей регистров, конечно же, но потом не факт, что типовой функционал отработает корректно все регл. операции. Поэтому ты бы внимательнейше ознакомился со своим регистром, а уж потом думал, что куда и зачем переносить.

Если переносить вместе с записями и объекты по ссылкам, то это "затрёт" изменения в этих объектах (если они там были).

Спасибо за помощь! Попробовал через выгрузказагрузкаданныхXML, там прикол в том, что он ищет (как я понял) по ссылкам(16тиричный код), если ссылки нет, то создает новый объект, что меня не устраивает. У меня все элементы есть, просто есть ряд документов, которые нужно перенести с движениями. Не подскажите, как еще можно сделать?

"У меня все элементы есть" — если бы были, то не создавались бы новые.

В этой обработке же есть "ВыгружатьПоСсылке" тяни эти документы и все взаимосвязанные ссылки. Т.е поставь галочку "выгружать по ссылкам" у всего что только можно.

"если ссылки нет, то создает новый объект, что меня не устраивает. " — это из .

Неправильно выразился. У меня не хватает документов "Перенос данных", которые по сути просто интерфейсная "обертка" для прямого редактирования записей регистров. Так все данные для данного регистра есть (сотрудники и т.д.), остается только перенести документ сам и его регистры.

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

Выгружать описание конфигурации надо внимательней. Там галочки есть. И текст у них надо читать ВНИМАТЕЛЬНО

Читайте также: