Имя: Пароль:
1C
 
как из процедуры ОбработкаПРоведения одного документа провести другой?
0 колодина
 
16.01.06
13:07
коллеги, возникла необходимость из процедуры проведения одного документа создать и провести другой документ. конечно, напрямую этого сделать не дает 1С. как бы мне извернуться? заранее благодарна за подсказки.
1 Волшебник
 
модератор
16.01.06
13:07
2 Песец
 
16.01.06
13:09
Изложи свое понимание почему 1С не дает это сделать, тогда скажу.
3 Rovan
 
гуру
16.01.06
13:10
(0) а не догадалась в форме провести дочерний док, а уж потом основной ?
4 Песец
 
16.01.06
13:10
(2+) Точнее, почему в 1С так задумано.
5 Rovan
 
гуру
16.01.06
13:20
(4) ибо нефиг - проведение это в 1С самая "святая транзакция"
6 lisss
 
16.01.06
13:30
(4)в один момент времени один документ, чтобы они друг другу не мешали.....
(0)новая процедура, записываешь состояние документа, проводишь, если состояние изменилось, фигачишь дочерний....
7 колодина
 
16.01.06
13:36
(6) типа при за(крытии документа проверять? это мне уже тоже пришло в голову...
(3) нельзя сначала дочерний.... там при проведении все рассчитывается, очень большой модуль, не хочу переписывать много - я очень ленива...
8 ЦиклоБот
 
16.01.06
13:37
(0) Не делай этого!
Я так красиво как Джинн не смогу сказать - поищи такие ветки в архиве Кубани или тут
9 Rovan
 
гуру
16.01.06
13:40
(7) можно и внутри и после - например при помощи алгоритма ДОПРОВЕДЕНИЯ документа (опять же из формы)....но есть 1 минус - проводить такой док программно опять придется через открытие формы
10 lisss
 
16.01.06
13:41
(7)просто в формуле кнопки вместо Провести напиши свою процедуру, как в (6)....
11 колодина
 
16.01.06
13:42
я пробовала убедить сегодня, что не надо этого делать, но бухгалтеру лениво нажимать еще одну кнопку.... ее можно понять.
12 lisss
 
16.01.06
13:42
+(10)ну только вот с перепроведением.....
13 колодина
 
16.01.06
13:45
с перепроведением - противненько получается.... поговорю еще с ней, попробую убедить.
14 Казел Поганный
 
16.01.06
13:46
0 гусь свинье не товарисч
15 КонецЦикла
 
16.01.06
13:47
(13) Да, да... поговори обязательно... это изврат, фпринципе
Попробуй во впомогательном просто хранить данные для проведения их в основном
16 Anton R
 
16.01.06
13:53
17 колодина
 
16.01.06
14:17
(16) вот за это спасибо... получается хорошо.
хотя поговорю все равно - мне не нравятся такие желания. потом автоматом такого напроведут - никто не разберется.
18 Песец
 
16.01.06
14:33
(17) Надо будет предусмотреть такие ситуации:
Отмена проведения (пометка удаления) одного из доков.
Юзер поменял дату|время дочернего документа (раньше основного).
-Доки оказались по разные стороны ТА.  
Доки входят в разные последовательности.
-Восстановили последовательности где дочерний док.
-Восстановили последовательности где основной док.
Если знаешь ответы на эти вопросы, - делай.
19 Песец
 
16.01.06
14:37
(1) Гы, это что было, бот-автоответчик?
Кста, неплохая идея - все одинэсники со всех форумов
сбегутся поприкалываться:)
20 ws_mason
 
16.01.06
14:41
аффтар талпаёп. убей сибя тапуредкой ап голаву.
21 romix
 
модератор
16.01.06
14:48
Вообще-то ситуация подозрительная - из модуля одного документа НЕ НУЖНО проводить другой.

А если все-таки очень хочешь обойти те или иные ограничения 1С, используй события (и это, пожалуй, не единственное возможное решение).
Асинхронная работа с регистром остатков 1С: полезные алгоритмы
22 колодина
 
16.01.06
15:00
(21) согласна и попробую убедить, что, скажем в конце дня проводить созданные автоматом документы. а с другой стороны - хозяин барин, кто деньги платит, тот и музыку заказывает.
23 колодина
 
17.01.06
07:31
(16) еще раз спасибо - отлично получилось. я даже слегка облегчила алгоритм.
Основная теорема систематики: Новые системы плодят новые проблемы.