Быстрый перенос изменений из копии в рабочую базу по Alt+P
База данных - Инструменты администратора БД
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Быстрый перенос изменений из копии в рабочую базу по Alt+P
Знакомая ситуация: в копии рабочей базы что-то исправили, проверили и теперь то же самое нужно сделать в рабочей базе. Повторять руками долго и рискованно. Выгрузка в XML не показывает, что именно перезапишется.
HotKey Transfer решает эту задачу горячими клавишами. Откройте объект в копии и нажмите Alt+P. Окно покажет, что будет создано, что обновится и какие поля изменятся. Нажимаем Ctrl+Enter, после подтверждения будет записано только то, что вы отметили.
Расширение бесплатное, распространяется по лицензии MIT, исходники открыты на GitHub.
Для каких задач
| Задача | Пример |
|---|---|
| Исправление справочника | Поправили в копии реквизиты контрагента или договора, проверили печатные формы и перенесли |
| Новые элементы с зависимостями | Завели статью бюджета с новой группой и видом: недостающие связанные объекты найдутся сами |
| Документ с движениями | Перепровели документ в копии, проверили отчёты и перенесли его вместе с движениями без перепроведения в закрытый период |
| Записи регистра сведений | Настроили ставки, курсы или параметры учёта и перенесли выделенные строки регистра |
| Всё, что изменили за день | Отобрали «Записи о версиях объектов» по автору и дате, перенесли сами объекты, каждый один раз |
| Данные для отладки | Забрали из рабочей базы в копию несколько документов, чтобы воспроизвести ошибку |
Как это выглядит

В копии создан демонстрационный счёт с новой номенклатурой и новой единицей измерения. Откройте объект и нажмите Alt+P.

До записи видна вся цепочка: счёт, новая номенклатура и необходимая для неё единица измерения. В примере все три объекта будут созданы.
- Будет обновлён — объект есть в приёмнике и отличается. Перечислены отличающиеся реквизиты, табличные части и движения.
- Будет создан — объекта в приёмнике нет.
- Нужен для — связанный объект, которого нет в приёмнике. Он отмечен по умолчанию, чтобы не появились битые ссылки.
- Без изменений — объект совпадает, галочка снята.
Двойной щелчок по строке открывает объект этой базы, то есть то, что будет перенесено. Ctrl+Enter — перенести, F5 — проверить заново, F1 — справка.
Возможности
- Перенос из карточки объекта или из списка, до 200 выделенных элементов за раз.
- Полный список изменений до записи.
- Записывается только отмеченное, весь пакет одной транзакцией: при ошибке не запишется ничего.
- Поиск недостающих связанных объектов по реквизитам, табличным частям и движениям документа.
- Документы переносятся вместе с движениями и остаются проведёнными.
- Записи регистров сведений, а также объекты из полей строк регистра.
- Защита рабочей базы: перенос в неё требует причины и подтверждения, перенос из неё выделен красным.
- Каждый перенос записывается в журнал регистрации приёмника: кто, откуда, зачем и что.
- Если в базе ведётся версионирование, у перенесённых объектов создаётся версия: автор — тот, кто переносил, в комментарии источник и причина. Это отключается флажком.
- Обратное направление: из рабочей базы в копию.
- Никаких изменений конфигурации, своих справочников, регистров и констант.
Установка за 10 минут
Во всех базах, участвующих в обмене
- Подключите
WS_HotKeyTransfer.cfe: «Все функции» → «Стандартные» → «Управление расширениями конфигурации» → «Добавить из файла». - Снимите у расширения флажок «Безопасный режим».
- Опубликуйте базу на веб-сервере вместе с веб-сервисом
ast_WSObmen.
В рабочей базе, один раз
- Нажмите Alt+P на любом объекте, затем «Настройки».
- Нажмите «Разрешить приём в эту базу».
- Укажите адрес рабочей базы и нажмите «Сохранить».

«Настройки» рабочей базы: приём включён, адрес попадёт в копии вместе с бэкапом.
Настройки хранятся в данных базы и попадают в бэкап. Копия, развёрнутая из свежего бэкапа, уже настроена: в поле «Куда» сразу стоит рабочая база.
Кто может переносить
Пользователь с полными правами, у которого в обеих базах одно имя и один пароль 1С. В копии из бэкапа это выполняется само. Пароль при переносе не вводится и по сети не передаётся.

Приёмник проверяет служебный вход, версию протокола, целевую базу, срок запроса, права пользователя и подпись. Только после этого пакет может быть записан одной транзакцией.
Запрос приходит под служебным пользователем WS_HotKeyTransfer. Он не может открыть базу клиентом или внешним соединением, ему доступны только операции веб-сервиса. Решение о записи приёмник принимает сам, проверяя подпись по хешу пароля из своей базы.
Пример: перенести всё, что изменили за день
- В копии откройте «Записи о версиях объектов» и отберите нужное по автору и дате.
- Выделите строки и нажмите Alt+P.
- В поле «Что переносить» по умолчанию уже стоит «Объект из поля: Объект».
- В окне будут сами документы и справочники, каждый один раз.

Выделенные «Записи о версиях объектов»: переносятся сами документы, неизменённые не отмечены.
Что важно знать
- Схема рассчитана на доверие между рабочей базой и её копиями. Если копиям доверять нельзя, не включайте приём в рабочей базе.
- Запись идёт в режиме
ОбменДанными.Загрузка = Истина: обработчики и проверки конфигурации не выполняются, даты запрета изменения могут не сработать. - Для рабочей базы используйте
https. - Объекты, которые в приёмнике уже есть, по связям не перезаписываются: такой объект переносится отдельно.

«История изменений» документа в рабочей базе: версия создана переносом. Автор — тот, кто переносил, в комментарии источник и причина. Версии можно сравнить или вернуться к прежней.

Каждый успешный или отклонённый запрос остаётся в журнале регистрации приёмника с пользователем, источником, причиной и составом пакета.
Исходники и обновления
Исходный код, подробная инструкция, схема работы и история версий доступны в репозитории проекта на GitHub. Готовую сборку можно скачать в разделе «Релизы».
Вопросы и предложения пишите в комментариях или в GitHub Issues.
Если расширение сэкономило вам время, поставьте плюс этой публикации и репозиторию на GitHub. Так его проще найти другим, а я вижу, что расширение полезно и его стоит развивать дальше.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.209.16
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.39.53
Вступайте в нашу телеграмм-группу Инфостарт