vanessa-automation icon indicating copy to clipboard operation
vanessa-automation copied to clipboard

Ошибка проведения при запрете проведения при исполнении шагов сформированных Подготовкой и загрузкой данных

Open TABWorkGit opened this issue 2 years ago • 4 comments

Укажите:

  1. Версия Vanessa Automation 1.2.040.9
  2. Версия платформы 8.3.20
  3. Режим совместимости базы, где запускается Vanessa Automation
  4. Операционная система W10

Шаги формирует обработка Подготовка и загрузка данных для документа. У документа стоит статус Проведен True. В конфигурации у документа стоит запрет на проведение, но в процедуре объекта ПередЗапись устанавливается режим записи Проведение. Получается документ проводить нельзя, но он имеет статус проведенного. В итоге когда шаги создания документа начинают выполнятся, происходит попытка записи объекта в режиме првоедение, что влечет за собой исключение в виде ошибки, что документ провести нельзя т.к. стоит запрет на проведение. Я думаю стоит в код добавить проверку запрета проведения и если она установлена, то просто записывать без проведения.

Сейчас я у себя сделал так в модуле формы ПодготовкаИЗагрузкаДанных обработки vanessa-automation:


Если Метаданные.НайтиПоТипу(ТипЗнч(Obj)).Проведение = Метаданные.СвойстваОбъектов.Проведение.Запретить Тогда     
	Obj.Write();
Иначе	
	Obj.Write(DocumentWriteMode.Posting);
КонецЕсли;

TABWorkGit avatar Apr 21 '23 02:04 TABWorkGit

А в подготовленных данных - галочка Проведен стоит? Если да, то просто измените ее на Ложь.

DitriXNew avatar Apr 21 '23 08:04 DitriXNew

А в подготовленных данных - галочка Проведен стоит? Если да, то просто измените ее на Ложь.

Не понял, где такая галочка. Я могу в подготовленной фиче поставить вручную False, ошибки конечно не будет. Может это как то при выгрузке учитывать тогда.

TABWorkGit avatar Apr 21 '23 15:04 TABWorkGit

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

DitriXNew avatar Apr 21 '23 21:04 DitriXNew

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

Там суть простая, именно в процедуре перед записью, у которой есть параметр РежимЗаписи, его можно переопределить на проведение, и самое прикольно почему то тогда документ получает статус проведен, хотя по факту стоит запрет, но я так понял, проверка запрета работает только при вызове метода записать у самого объекта. Баг это не баг, или так надо хз. В итоге документ получает статус проведен. И вот получаются такие нестыковки, движений нет, но статус стоит, зачем, никто не знает.

TABWorkGit avatar Apr 23 '23 05:04 TABWorkGit