Копирование движений документов
Задачи пользователя - Подбор и обработка объектов
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Обработка «Скопировать движения»
Описание возможностей
Дополнительная обработка копирует движения документа-источника в документ «Корректировка регистров». Исходный документ при этом не изменяется и не распроводится: отмена проведения выполняется отдельно, уже после того, как нужные записи сохранены в корректировке.
1. Зачем создана обработка
Обработка создавалась для случая, когда документ нужно распровести, но часть его движений должна остаться в учете и быть поправлена вручную. Пока документ проведен, его записи еще можно прочитать. Их копируют в «Корректировку регистров», после этого проведение источника отменяют, а оставшиеся строки правят уже в корректировке.
Типовой порядок работы:
1. Открыть обработку и выбрать проведенный документ-источник.
2. Просмотреть список регистров и записи выбранного регистра. Снять пометки с тех регистров, которые переносить не нужно.
3. Нажать «Скопировать». Если приемник не указан, создается новый документ «Корректировка регистров» и сразу открывается.
4. Отменить проведение документа-источника средствами программы. Обработка сама этого не делает.
5. В документе «Корректировка регистров» исправить оставшиеся движения: удалить лишние строки, изменить суммы, количество и аналитику.
После отмены проведения движения источника из регистров уходят. Скопированные записи остаются, потому что их регистратор — уже документ корректировки, а не исходный документ. Поэтому правки в корректировке не зависят от того, проведен источник или нет.
2. Форма обработки
На рисунке 1 показана рабочая форма. Слева выбираются документы и отмечается состав регистров, справа выводятся записи того регистра, на котором стоит курсор.

Рисунок 1. Форма обработки: источник, список движений и данные выбранного регистра
2.1. Шапка
• «Скопировать». Команда «Скопировать» выполняет перенос отмеченных движений и открывает документ-приемник.
• Версия. В правом верхнем углу показана версия обработки. По ссылке открывается описание версии.
• Источник. Документ, движения которого нужно прочитать. Обязателен для заполнения.
• Приемник. Документ «Корректировка регистров», в который записываются движения. Если поле пустое, при копировании создается новый документ. Если документ указан, его прежние движения заменяются скопированными. Источник и приемник не могут быть одним и тем же документом.
2.2. Список «Движения»
Список заполняется при открытии формы и при выборе источника. В него попадают только те регистры, которые двигает документ-источник и которые одновременно умеет записывать документ «Корректировка регистров». Регистры, недоступные корректировке, в список не включаются и скопированы быть не могут.
Колонки списка:
• Пометка. Признак, нужно ли копировать регистр. При первом заполнении списка отмечены все строки.
• Вид. Синоним регистра, как он называется в конфигурации.
• Количество. Число записей этого регистра по документу-источнику. Ноль означает, что движений нет и при копировании регистр в приемник не попадет.
Команды списка:
• Кнопки над таблицей устанавливают или снимают пометки сразу у всех регистров.
• Контекстное меню строки, показанное на рисунке 1, устанавливает или снимает пометки у выделенных строк. Если выделена одна строка, меняется только она.
• «Только выбранные». Кнопка оставляет в списке только отмеченные регистры. Повторное нажатие снова показывает весь список. Сами пометки при этом не меняются.
Если выбрать другой документ того же вида, список регистров заново не строится: выставленные пометки сохраняются, а количество записей пересчитывается по новому источнику. Если меняется вид документа, список заполняется заново и все регистры снова отмечаются. Очистка источника очищает и список.
2.3. Только выбранные регистры
На рисунке 2 включен отбор «Только выбранные». В списке остаются регистры с установленной пометкой, остальные скрыты. Так удобно проверить, что именно будет скопировано, не просматривая длинный перечень.

Рисунок 2. Отбор «Только выбранные»: в списке видны только отмеченные регистры
2.4. Данные регистра
При переходе на строку списка справа, в поле «Данные регистра», выводятся движения источника по этому регистру. Сначала показывается, какой регистр открыт: синоним и полное имя, например «Активы и пассивы (РегистрНакопления.ПрочиеАктивыПассивы)». Под заголовком, с небольшим отступом, идет таблица записей. В шапке колонок — синонимы полей регистра, в строках — значения движений источника: период, регистратор, номер строки, активность, вид движения и остальные измерения, ресурсы и реквизиты.
Просмотр нужен до копирования: по колонке «Количество» видно, есть ли записи, а по таблице справа — какие именно значения будут перенесены. Если строка не выбрана или источник пуст, область данных очищается.
3. Как выполняется копирование
Перед записью обработка проверяет три условия. Если условие не выполнено, копирование не начинается и выводится сообщение:
• не выбран документ-источник;
• источник и приемник — один и тот же документ;
• не отмечен ни один регистр.
Переносятся только отмеченные регистры, у которых по источнику есть хотя бы одна запись. Отмеченный регистр с нулевым количеством пропускается. Неотмеченные регистры не читаются и в приемник не попадают.
Новый приемник создается со следующими реквизитами:
• Дата — текущая дата сеанса;
• Ответственный — текущий пользователь;
• Операция — «Ручная корректировка»;
• Комментарий — «Копирование движений из …» и представление документа-источника.
Если приемник уже указан, обработка блокирует этот документ и удаляет его прежние движения. Вместо них записываются движения, отмеченные в текущем запуске. Операция заполняется значением «Ручная корректировка» только тогда, когда в документе она была пустой.
В скопированных записях регистратор заменяется на документ-приемник. Период, активность и остальные поля переносятся как у источника. Документ «Корректировка регистров» не проводится: активность не выставляется записью шапки, а сохраняется из исходных движений. В состав регистров корректировки попадают только те регистры, по которым реально записаны строки.
Запись выполняется одной транзакцией. Если на любом шаге возникает ошибка, изменения отменяются и приемник остается в прежнем состоянии. После успешного копирования в окно сообщений выводится, в какой документ перенесены движения и сколько регистров с данными записано. Затем документ-приемник открывается.
4. Документ после копирования
На рисунке 3 показан документ «Корректировка регистров», который открывается после команды «Скопировать». Это пример результата, а не продолжение кассового ордера с рисунка 1: в комментарии указан другой источник — реализация товаров и услуг.

Рисунок 3. Документ «Корректировка регистров» с перенесенными движениями
В открытом документе видно:
• номер, дата и операция «Ручная корректировка»;
• ответственный — пользователь, выполнивший копирование;
• на закладках «Регистры накопления» и «Регистры сведений» — только регистры, по которым были записи;
• число строк рядом с именем регистра, на рисунке — «Выручка и себестоимость продаж (2)»;
• сами движения с периодом, активностью и аналитикой источника;
• комментарий с указанием документа, из которого скопированы движения.
Дальше работа идет уже в этом документе. Проведение источника отменяется обычной командой документа. Его движения из регистров снимаются, а строки корректировки остаются. Их и исправляют: удаляют то, что не должно сохраниться после распроведения, и уточняют значения, которые должны остаться в учете. После правки документ корректировки записывается.
5. Что обработка делает и чего не делает
Обработка умеет:
• показать регистры источника, которые можно записать документом «Корректировка регистров»;
• показать число записей каждого такого регистра;
• показать сами записи выбранного регистра до копирования;
• отметить или снять все регистры, а также изменить пометки только у выделенных строк;
• скрыть неотмеченные строки кнопкой «Только выбранные»;
• сохранить пометки, если выбран другой документ того же вида;
• создать новую корректировку регистров или заменить движения уже существующей;
• перенести период и активность записей;
• открыть документ-приемник после успешного копирования.
Обработка не делает следующее:
• не отменяет проведение документа-источника и не меняет его;
• не копирует регистры, движения которых документ «Корректировка регистров» записать не может;
• не копирует регистры без пометки и регистры без записей;
• не дополняет движения уже заполненного приемника: при повторном копировании в тот же документ его прежний состав заменяется новым.
Перед повторным копированием в существующую корректировку стоит убедиться, что ее текущие строки больше не нужны: они будут удалены.
Возможно, вас заинтересуют другие публикации:
Групповое редактирование ролей конфигурации
Рассылка расчетных листков в фоновых заданиях
Групповая отправка документов по электронной почте.
Подсистема "Согласование документов с произвольным маршрутом"
Подсистема "Произвольные формы ввода"
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.6.2.59
Вступайте в нашу телеграмм-группу Инфостарт