Вход | Регистрация



УФ. Получить форму, выполнить команду, провести, отменить транзакцию. Как?

УФ. Получить форму, выполнить команду, провести, отменить транзакцию. Как?
Я
   bolobol
 
07.06.18 - 16:43
День добрый!

Нужен авто-тест. УФ.

Требуется получить документ, получить его форму, выполнить её команду, провести документ и отменить эту транзакцию. Как?

Прошу, спасибо!
 
 
   D3O
 
1 - 07.06.18 - 16:52
никак. Транзакция создается на сервере, а форма открывается на клиенте.
только последующей отменой проведения.
   lodger
 
2 - 07.06.18 - 16:53
(1) а если обработка отмены проведения написана через жпо и есть последствия из-за отмененного и помеченного на удаления тестируемого документа?
   bolobol
 
3 - 07.06.18 - 17:00
(1) Отмена проведения - это далеко не отмена транзакции, так-то. Но даже шут с ней, как программно отработать команду формы объекта? И сохранить, хотя бы, в базу. Но сохранение с проведением - это тоже команда формы... Но, по идее, если я имею ссылку на объект с открытой формой, то её можно отправить на сервер и там с транзакцией поработать, разве нет?
   spiller26
 
4 - 07.06.18 - 17:08
(3) Я чёт не догоняю, зачем тебе программно отрабатывать команду формы [Сохранение  с проведением] - Это же и есть метод записи объекта?
Синтаксис:
Записать(<РежимЗаписи>, <РежимПроведения>)
   spiller26
 
5 - 07.06.18 - 17:09
Вот тебе про транзакцию
http://programmist1s.ru/1s-ekspert-tranzaktsii-subd-1s/
   Вафель
 
6 - 07.06.18 - 17:10
зачем транзакцию отменять?
просто почисть за собой потом
   bolobol
 
7 - 07.06.18 - 17:11
(4) Ну так - вперёд, покажите как его выполнить на клиенте, я ж не против!
   spiller26
 
8 - 07.06.18 - 17:12
(7) Что значит на клиенте?
   bolobol
 
9 - 07.06.18 - 17:12
(5) Я не "определение слова транзакция" спрашивал. Или что я должен был почерпнуть в ссылке?
   bolobol
 
10 - 07.06.18 - 17:13
(6) Это и называется "отменить транзакцию".
(8) Ну, слушайте, я ж за ответом пришёл, а не на вопросы детские отвечать)
 
 Рекламное место пустует
   bolobol
 
11 - 07.06.18 - 17:14
(8) Заведите отдельную тему - вам ответов насыпят, и я присоединюсь, в том числе.
   Cyberhawk
 
12 - 07.06.18 - 17:15
Автор хочет сэкономить походу: и объект БД программно не создавать (а чтобы форма за него все возможные алгоритмы заполнения связанных данных отработала), и работу формы проверить
   Cyberhawk
 
13 - 07.06.18 - 17:16
Но никто вроде не мешает открыть форму нового объекта, передав в нее спец. параметр (маркер теста), в самой форме этот маркер проанализировать и вызвать записать и закрыть, а в подписке на событие посмотреть на Отказ, зафиксировать успех и уже транзакцию откатить Отказом
   bolobol
 
14 - 07.06.18 - 17:18
(12) Не все, а вполне определённые команды. Работу объекта проверить. Что тут сэкономить можно, электричество? Объект, кстати... не подумал, что и новый создавать не плохо бы. Спасибо за наводку!
   bolobol
 
15 - 07.06.18 - 17:19
(13) Подписка, в этом случае, не отработает после подписок на регистры, т.о. - проверка наличия корректных движений не сработает.
   bolobol
 
16 - 07.06.18 - 17:20
(13) Идея такая приходила в голову, но, опять же - не отменить действие, или не понимаю - как отменить.
   Cyberhawk
 
17 - 07.06.18 - 17:22
Отказ в подписке регистра, который двигается документом-регистратором, по идее вызовет отказ и в подписке на твой документ.
У тебя проблема, как распознать в подписке на регистр, что это последний двигаемый регистр что ли, чтобы только после этого начать проверку корректности и отменить?
   Cyberhawk
 
18 - 07.06.18 - 17:25
В подписке регистра в регистратор доп. данные не запихнешь, так что без какого-то внешнего хранилища (где отпечать, какая из подписок сработала) и грязного чтения оного не обойтись, вероятно
   bolobol
 
19 - 07.06.18 - 17:25
(17) Точно так. Потому и рассматриваю именно работу с объектом.
   bolobol
 
20 - 07.06.18 - 17:26
Ну и с формой, ибо команды на форме вызывают методы формы...
   bolobol
 
21 - 07.06.18 - 17:27
Как объединить сие - не понимаю. Готов уже даже сохранять объект и откатывать его потом программно. Но тоже прозрачного пути не вижу, чтоб с движениями.
   Cyberhawk
 
22 - 07.06.18 - 17:27
А почему именно хочешь транзакцию откатывать, а не просто удалять объект-регистратор (ну, или если у него очистка движений только при отмене проведения в свойствах, то отменять проведение соответственно)?
   bolobol
 
23 - 07.06.18 - 17:29
База исходная меняться не должна - один и тот же тест десятки раз запускается над одним и тем же существующим объектом.
   Cyberhawk
 
24 - 07.06.18 - 17:29
Кстати, ПриЗаписи в модуле формы по идее - последнее звено перед фиксацией транзакции, оттуда может тебе вызывать твои проверки (и откатывать транзакцию)?
   bolobol
 
25 - 07.06.18 - 17:31
Не уверен, что оно всё ещё в транзакции. Но направление я понял, обновлю сведения, спасибо!

Апну утром тему. Хорошего вечера!
   Cyberhawk
 
26 - 07.06.18 - 17:38
"Не уверен, что оно всё ещё в транзакции" // Кто "оно", "ПриЗаписи" в модуле формы? Стопудово в транзакции. А вот "ПослеЗаписи" - уже нет.
   bolobol
 
27 - 08.06.18 - 09:12
А, ну да -я про ПослеЗаписи прочитал...


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует