Изменения движений

17.09.26

Разработка - Тестирование QA

Обработка «Изменения движений» проверяет, меняются ли движения документов после перепроведения — без изменения данных в базе (перепроведение в транзакции с откатом). Удобна после обновления конфигурации, рефакторинга проведения и для регрессии доработок, в том числе сгенерированных ИИ. Можно запускать из формы или программно (регламент, HTTP-сервис, автотесты): задаёте период, виды документов и регистров, лимит выборки — получаете отчёт и таблицу расхождений.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Изменения движений:
.epf 32,89Kb ver:2.0.1
2 6 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Обработка «Изменения движений»

Обработка «Изменения движений» проверяет, меняются ли движения документов после перепроведения — без изменения данных в базе (перепроведение в транзакции с откатом). Удобна после обновления конфигурации, рефакторинга проведения и для регрессии доработок, в том числе сгенерированных ИИ. Можно запускать из формы или программно (регламент, HTTP-сервис, автотесты): задаёте период, виды документов и регистров, лимит выборки — получаете отчёт и таблицу расхождений. Не зависит от конфигурации.

1. Назначение

Обработка сравнивает движения документов «до» и «после» перепроведения. Перепроведение выполняется в транзакции с последующим откатом — данные в базе не изменяются. 

Типичные сценарии использования:

  • проверка после обновления конфигурации или типового релиза;
  • контроль последствий рефакторинга процедур проведения;
  • регрессионное тестирование доработок (в том числе сгенерированных ИИ);
  • программный запуск (регламентное задание, HTTP-сервис, автотесты).

2. Принцип работы

Для каждого помеченного вида документа обработка:

  • выбирает проведённые документы за указанный период (с учётом отбора и лимита КоличествоОбъектов);
  • снимает снимок движений по помеченным регистрам;
  • перепроводит документ в транзакции и снова снимает снимок;
  • откатывает транзакцию;
  • сравнивает строки движений по полям и фиксирует расхождения.

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

3. Работа через форму

3.1. Настройки проверки

На закладке «Настройки» задаются период, ограничение количества объектов, пометки видов документов и регистров, а также отбор по реквизитам выбранного документа (через схему компоновки данных).

Рис. 1. Закладка «Настройки»: период, лимит, документ «Заказ клиента», отбор по реквизитам

3.2. Выбор документов и движений

В списках «Документы» и «Движения» отмечаются объекты проверки. Команда контекстного меню «Отметить движения по документу» автоматически помечает регистры, в которые пишет выбранный вид документа.

Можно открыть журнал документов выбранного вида.

Рис. 2. Контекстное меню документа: «Отметить движения по документу»

Пометки регистров можно также выставлять вручную — для всех строк или только для выделенных:

Рис. 3. Контекстное меню списка движений: установить / снять пометки

3.3. Узкая выборка (один документ — один регистр)

Для точечной проверки достаточно пометить один вид документа и один регистр. Так же настраивается и программный запуск через Инициализировать().

Рис. 4. Пример узкой настройки: «Заказ клиента» и регистр «Распоряжения на отгрузку и возврат»

3.4. Результат проверки

После нажатия «Выполнить проверку» открывается закладка «Результат». Отчёт «Расхождения движений документов после перепроведения» содержит итоги (проверено / с расхождениями / всего расхождений) и иерархию: вид документа → документ → регистр → поля строк движений.

В колонках «Значение до проведения» и «Значение после проведения» видно, что изменилось: изменённые поля, удалённые или добавленные строки движений. Расшифровка позволяет открыть документ или форму списка регистра по регистратору.

Рис. 5. Результат при проверке по нескольким регистрам (детализация по полям)

Рис. 6. Результат узкой проверки по регистру «Распоряжения на отгрузку и возврат»

 

Рис. 7. Результат узкой проверки по регистру «Распоряжения на отгрузку и возврат»

4. Программный интерфейс

Обработку можно вызывать без формы — из общего модуля, регламентного задания или HTTP-сервиса. Это удобно для автоматической проверки после изменения доработок (в том числе ИИ): сервис принимает параметры, запускает проверку и возвращает признак наличия расхождений / их количество.

4.1. Основные методы и реквизиты

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

4.2. Примеры серверного запуска

Пример проверки заказов клиента с отбором по автору:

&НаСервере
Функция ПримерПроверки() 
	Обработка = Обработки.ИзмененияДвижений.Создать();
	
	Обработка.Инициализировать(Ложь, "ЗаказКлиента");

	// Август 2026
	Обработка.Период = Новый СтандартныйПериод('20260801000000','20260831235959');
	
	Обработка.КоличествоОбъектов    = 30;
	
	// Отбор: Автор = Администратор
	Автор 		= Справочники.Пользователи.НайтиПоНаименованию("Администратор", Истина);
	Схема 		= Обработка.ВсеСхемыКомпоновки().Получить("ЗаказКлиента");
	Настройки 	= Схема.НастройкиПоУмолчанию;
	
	ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение  	= Новый ПолеКомпоновкиДанных("Автор");
	ЭлементОтбора.ВидСравнения   	= ВидСравненияКомпоновкиДанных.Равно;
	ЭлементОтбора.ПравоеЗначение 	= Автор;
	ЭлементОтбора.Использование  	= Истина;
	
	ВсеНастройки 					= Новый Соответствие;
	ВсеНастройки.Вставить("ЗаказКлиента", Настройки);
	Обработка.Настройки 			= Новый ХранилищеЗначения(ВсеНастройки);
	
	Обработка.ВыполнитьПроверку();
	
	Возврат Обработка.ЕстьРасхождения;	
КонецФункции

 

Пример проверки заказов клиента по регистру «Распоряжения на отгрузку и возврат»:

&НаСервере
Процедура ПримерПроверки2() Экспорт     

      Обработка = Обработки.ИзмененияДвижений.Создать();     

      // Документ ЗаказКлиента, регистр накопления РаспоряженияНаОтгрузкуИВозврат
      Обработка.Инициализировать(
              Ложь,
              "ЗаказКлиента",
              "РегистрНакопления.РаспоряженияНаОтгрузкуИВозврат");
     
      // Август 2026
      Обработка.Период = Новый СтандартныйПериод('20260801000000','20260831235959');     

      // Не больше 30 документов
      Обработка.КоличествоОбъектов = 30;     

      Обработка.ВыполнитьПроверку();
   
      // Результат — табличный документ в реквизите Результат
      // Расхождения — в ТаблицаРасхождений

      Если Обработка.ТаблицаРасхождений.Количество() = 0 Тогда
          Сообщить("Расхождений не обнаружено.");
      Иначе
          Сообщить(СтрШаблон("Найдено расхождений: %1", Обработка.ТаблицаРасхождений.Количество()));
      КонецЕсли;     

КонецПроцедуры

 

4.3. Кратко по шагам примера

  • Инициализировать — только ЗаказКлиента и регистр РаспоряженияНаОтгрузкуИВозврат (оба с пометкой).
  • Период — 01.08.2026–31.08.2026.
  • КоличествоОбъектов = 30 — в выборку попадёт не больше 30 проведённых документов.
  • ВыполнитьПроверку() — перепроведение в транзакции с откатом и сравнение движений.
  • Регистр можно передать и коротким именем: «РаспоряженияНаОтгрузкуИВозврат» — нормализация сама найдёт его среди регистров накопления.

Параметры ВыбранныеВидыДокументов и ВыбранныеВидыРегистров принимают строку, объект метаданных, массив или список значений. Документ — имя или «Документ.Имя»; регистр — полное имя («РегистрНакопления.…») или короткое имя.

5. Практические рекомендации

  • Начинайте с узкой выборки (один документ + один–два регистра) и небольшого КоличествоОбъектов.
  • После обновления или рефакторинга сначала прогоняйте критичные документы (заказы, реализации, поступления).
  • Ненулевые расхождения — сигнал к анализу: изменилась логика проведения, состав измерений/ресурсов или порядок записи движений.
  • Для автоматизации свяжите вызов с HTTP-сервисом: нулевой объём ТаблицаРасхождений = успешная проверка.
  • Настройки формы (пометки, отборы, «Только выбранные») сохраняются в хранилище общих настроек пользователя. 

 

 

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.6.1.61

Вступайте в нашу телеграмм-группу Инфостарт

1С · обработка · изменения движений · перепроведение · движения документов · регистры накопления · расхождения · регрессионное тестирование ·

См. также

Инструментарий разработчика Нейросети DevOps и автоматизация разработки Тестирование QA Разработчик 1С 8.3 Бесплатно (free)

Открытый набор правил и скриптов на GitHub для ИИ-агента (агента искусственного интеллекта: Claude Code, Codex и других). Агент сам снимает опись машины, предлагает путь проверки кода: плагин Unica или BSL Language Server со справкой платформы. С вашего «да» ставит недостающее, затем выгружает внешнюю обработку, заводит git и доводит её до зелёного теста YAxUnit. Оба пути проверены с нуля свежим агентом на копии демобазы «Управление торговлей» 11.5, платформа 8.3.27. Новая часть: для задач по данным базы агент выгружает конфигурацию в XML, строит карту объектов и пишет запросы только по именам, найденным в выгрузке. Внутри гайд «Unica на Windows» с известными ошибками и проверенными обходами.

10.11.2026    409    Iliaelagin    0    

1

Тестирование QA Разработчик 1С:Предприятие 8 Бесплатно (free)

Когда полная сборка автотестов занимает полчаса, даже небольшая автоматизация может изменить рабочий процесс. Рассказываю, как Python-утилита Phase Switcher постепенно превратилась в KOT for 1C — open-source расширение для VS Code. KOT 3.0 объединяет в одной рабочей среде библиотеку шагов и сценариев, IntelliSense, поддержку СППР и самостоятельных feature Vanessa Automation, исследователь форм, запись действий и управление выполнением через MCP. В статье — история разработки проекта от небольшой Python-утилиты до расширения для VS Code, практические примеры, неудачные эксперименты и решения, которые помогли инструменту прижиться в нашей команде.

02.11.2026    459    alexiosus    0    

2

Тестирование QA Бесплатно (free)

Резкий рост числа пользователей, консолидация систем или миграция в облако требуют заранее понять, выдержит ли инфраструктура новую нагрузку. Рассказываем, как с помощью LLM команда за 16 недель подготовила и провела нагрузочные тесты для шести баз: автоматизировала анализ технологических журналов и журналов регистрации, формирование реалистичных сценариев и создание обработок для «1С:Тест-центра» и JMeter. Показываем, как оркестратор, AI-агенты и MCP-серверы помогают сократить объем ручной работы, а также объясняем, почему контроль со стороны 1С-эксперта по-прежнему остается обязательным. Разбираем архитектуру решения, уже работающие инструменты и направления дальнейшей автоматизации нагрузочного тестирования.

31.10.2026    527    gabrielyants    0    

5

Инструментарий разработчика Тестирование QA Разработчик Стажер 1С 8.3 Абонемент ($m)

Проверила пять пакетных команд платформы 8.3.27 на контрольном расширении Нано-УТ: они обнаружили 4 из 28 заложенных пунктов. В набор входят ошибки применимости, предупреждения и сведения для ручного разбора. Проверка XML-выгрузки отметила все 28 пунктов и 15 из 15 на похожем слепом наборе. Показываю журналы, ограничения и сценарий обновления основной конфигурации. Прилагаются инструмент с 69 тестами и материалы опыта.

7 стартмани

28.10.2026    387    Ninel_S    2    

2

Инструментарий разработчика Мобильная разработка Тестирование QA Разработчик 1С 8.3 Абонемент ($m)

Скрипт form_diff_mobile.py сравнивает две выгрузки конфигурации 1С и показывает, что в формах удалено и переименовано, где на это ещё ссылаются и какой код попадает в мобильные контексты. На «Нано-УТ 2.0» сделано 13 изменений форм: платформа 8.3.27.2130 отметила 7, в остальных шести промолчала, и в четырёх из них скрипт нашёл обращение к удалённому элементу, строку с прежним именем формы, смену директивы или выход формы из мобильной области. На чистой УТ 11.5 сравнение с копией дало 0 находок, а с копией с пятью правками ровно семь. В архивах скрипт, 74 теста, стенд, чек-лист выпуска, журнал выпуска и скрипты опытов на платформе.

7 стартмани

27.10.2026    343    Ninel_S    0    

1

Тестирование QA Разработчик 1С 8.3 Абонемент ($m)

Прогнала через 1С 8.3.27 и валидатор .NET 21 файл XML по одной схеме: базовый пример и типичные отклонения. Вердикты совпали в 20 случаях (у .NET включены предупреждения), дата без времени дала расхождение. В архиве - схема, тесты, закреплённая версия учебной базы и исправленный сценарий проверки, включая выгрузку и обратное чтение 30 продаж.

1 стартмани

26.10.2026    340    Ninel_S    0    

1

Рефакторинг и качество кода Тестирование QA Системный администратор Разработчик 1С 8.3 Абонемент ($m)

В базе 1С на PostgreSQL копятся индексы, которыми никто не пользуется: их создаёт флажок «Индексировать» у реквизитов или их добавляют вручную. Каждый такой индекс замедляет запись: в опыте на тестовой таблице восемь лишних индексов сделали вставку 300 000 строк в четыре-шесть раз дольше. Скрипт на Python смотрит статистику PostgreSQL и показывает, какие индексы ни разу не использовались и какой реквизит 1С их создал. На нашей конфигурации «Нано-УТ» он нашёл четыре ненужных индекса документа и один дубль, добавленный вручную. После того как я сняла флажки и обновила конфигурацию, индексов стало 227 вместо 234, данные не пострадали. В архиве скрипт, запросы и примеры.

5 стартмани

23.10.2026    506    Ninel_S    4    

1

Рефакторинг и качество кода Тестирование QA Разработчик 1С 8.3 Абонемент ($m)

Скрипт, который должен был проверять код 1С в Docker, на деле проверял только, что файл не пустой: из 11 модулей с ошибками он пропустил все. Я переписала проверку и сравнила её с самой 1С на тех же 11 модулях из нашей конфигурации «Нано-УТ». Новый скрипт нашёл незакрытые «Если», процедуры и скобки в 10 случаях из 11. Вызов несуществующей процедуры находит только сама 1С. В архиве скрипт, файлы для Docker, примеры с ошибками и журналы проверки.

5 стартмани

23.10.2026    491    Ninel_S    4    

0
Для отправки сообщения требуется регистрация/авторизация