|
Проведение одного документа при проведении другого | ☑ | ||
---|---|---|---|---|
0
МеталлКор
27.05.14
✎
13:08
|
Коллеги. Вопрос в следующем:
1.Доработанная УПП. 2. В системе есть документы адресного хранения (нетиповые) 3. Каждому из документу адресного хранения сопоставляются определенные типовые документу БУ (поступление, реализация, перемещение и т.д.) ВОзникла необходимость при проведении документов п.2 проводить АВТОМАТИЧЕСКИ документы п.3. При этом, если возникает ошибка проведения документов п.3, документ п.2 все равно должен провестись. Вызов проведения документов п.3 у меня осуществляется в обработчике проведения документов п.2. |
|||
1
censored
27.05.14
✎
13:11
|
Вызов проведения документов п.3 у меня осуществляется в обработчике проведения документов п.2.
Это нехорошо |
|||
2
butterbean
27.05.14
✎
13:12
|
ппц
|
|||
3
Kamas
27.05.14
✎
13:12
|
(0) жесть, а в чем вопрос?
|
|||
4
Kamas
27.05.14
✎
13:13
|
(0) или это так похвастаться??
|
|||
5
МеталлКор
27.05.14
✎
13:13
|
ПРоцедура проведения документов адресного хранения
Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если НЕ Отказ Тогда ДвиженияПоРегистрам(Отказ); Если не Отказ Тогда ТК_КонтрольПравДоступа.ПроведениеСвязанныхДокументовБУ(Ссылка) ///тут проводится документ БУ КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
6
МеталлКор
27.05.14
✎
13:14
|
вопрос: как организовать правильно процедуры, что бы я смог провести документ адресного хранения, независимо от результатов проведения документа БУ
|
|||
7
iamnub
27.05.14
✎
13:14
|
А потом эти люди пишут в резюме "Программист" и шлют кому ни попадя.
|
|||
8
МеталлКор
27.05.14
✎
13:15
|
я смотрю, тут форум народных умников и умниц)))
|
|||
9
Kamas
27.05.14
✎
13:17
|
(6) А Зачем тогда вообще записывать проведение в обработку проведения?
|
|||
10
Kamas
27.05.14
✎
13:18
|
(9) если нас вообще не колышит провели мы док или нет??
|
|||
11
censored
27.05.14
✎
13:18
|
(6) первое что в голову приходит:
- запустить проведение бух. дока в фоне - отложенное проведение - регистрируешь где угодно данные о том, что провелся адресный док, потом регл. заданием анализируешь изменения и проводишь бух доки |
|||
12
МеталлКор
27.05.14
✎
13:22
|
Это нужно, сугубо в информационных целях. Начальник склада провел документ адресного хранения, если при проведении документа БУ выявились какие -либо ошибки, система отобразила их в окне сообщений. он сообщает их бухгалтеру для исправления. При этом проводимый документ адресного хранения должен провестись, независимо от состояния проведения документа БУ,
|
|||
13
МеталлКор
27.05.14
✎
13:23
|
Да, мысль с регл. заданием понял. Кроме него, есть какие -то еще варианты?
|
|||
14
Azverin
27.05.14
✎
13:23
|
(12) убери условие "Если не Отказ Тогда" и радуйся)
|
|||
15
butterbean
27.05.14
✎
13:24
|
(12) запихни проведение подчиненных документов в Попытка Исключение
|
|||
16
МеталлКор
27.05.14
✎
13:26
|
Не катит. Документ БУ не проводится, но при этом документ адресного хранения не проводися.
вот код процедуры проведения подчиненного документа Процедура ПроведениеСвязанныхДокументовБУ(СсылкаАдресноеХранение) Экспорт Попытка НачатьТранзакцию(); ДокументБУ =СсылкаАдресноеХранение.ДокументОснования.ПолучитьОБъект(); ДокументБУ.мРежимАдресногоХранения = истина; ДокументБУ.Записать(РежимЗаписиДокумента.Проведение); ЗафиксироватьТранзакцию(); Исключение ОтменитьТранзакцию(); КонецПопытки; //Попытка КонецПроцедуры |
|||
17
censored
27.05.14
✎
13:26
|
(12) ошибки при проведении высылай сразу на почту буху, коль нужно :).
|
|||
18
censored
27.05.14
✎
13:28
|
(16) Забудь про проведение бух. документа из обработки проведения другого документа. Так делать нельзя.
|
|||
19
wade25
27.05.14
✎
13:28
|
(0) Уже сказали нехорошо, но делать нада так:
Сначала провести документы адресного хранения перед записью, а потом сам документ. Т.к. если проводить во 2ую очередь, будет отмена т.к. уже пошла транзакция, а вложенных транзакций в 1с нет (точнее приоритета по ним). |
|||
20
Azverin
27.05.14
✎
13:29
|
(18) критикуешь? - объясни почему и предложи свой вариант
|
|||
21
Kamas
27.05.14
✎
13:30
|
подписка на событие не??
|
|||
22
МеталлКор
27.05.14
✎
13:31
|
(19) Можно подробнее, пример кода? что значит провести документ адресного хранения перед записью?
|
|||
23
Kamas
27.05.14
✎
13:32
|
(19) оп не прочитал собственно к этому и был задан вопрос (9)
|
|||
24
Kamas
27.05.14
✎
13:34
|
(22) делаеш подписку после записи документов так как нам абсолютно фиолетово повелись доки или нет. И формируеш свои доки.
|
|||
25
wade25
27.05.14
✎
13:35
|
(22) ПередЗаписью >> Документ.(какие хошь).Записать(Режим.Проведение). Условие на режим записи еще добавь.
|
|||
26
Kamas
27.05.14
✎
13:36
|
(25) перед записью у дока ссылки нет
|
|||
27
censored
27.05.14
✎
13:38
|
(20) как минимум время проведения дока увеличивается в разы. А глубже может появиться масса проблем с блокировками. И будут у вас кладовщики ждать пока бух. документы проанализируют остатки по бух. регистрам, спишут партии и т.д.
свой вариант предложил в (11) |
|||
28
2mugik
27.05.14
✎
13:47
|
(0)И как это будет? Бух не провелся - провелись адресные. Потом бух провелся - адресные изменились?
|
|||
29
МеталлКор
27.05.14
✎
13:52
|
(25) все верно. но есть одно но. при проведении документа БУ выполняется корректность данных регистров документа адресного хранения и регистров бухгалтерского документа. То есть:
1. Провелся документ адресного хранения и добавил записи в регистры свои. 2. Проводится документ БУ, анализирует данные регистра 1, сообщает об их соответствии. Предлагаемый вами вариант это не учитывает, впрочем я об этом изначально не указал)) |
|||
30
МеталлКор
27.05.14
✎
13:55
|
(28) Все дело в том, что одному документу БУ может соответствовать несколько документов адресного хранения.
То есть, проведен документ БУ на 400 штук, а адресное только на 200. При первом проведении адресного хранения на 200, система провела документ АХ и рыгнулась, что документ БУ не проведен. Потом когда будет проведено второе АХ на 200, документ БУ проведется окончательно. |
|||
31
Enders
27.05.14
✎
15:07
|
(30) сделай так как предложили в (11)
При проведении АХ, пиши данные в регистр(какие документы должны быть проведены). Допустим состав регистра такой. "ДокБУ"(ссылка), "НадоПровести"(булево), "Ошибка"(текст) Потом в фоне проводи все документы из регистра, где НадоПровести=Истина. Если при проведении возникает ошибка, снимаешь галочку с "НадоПровести" и пишешь текст ошибки в "Ошибка". Если проведение прошло успешно удаляешь запись из регистра. |
|||
32
МеталлКор
27.05.14
✎
15:24
|
Вообщем понял, что при проведении это сделать нельзя.
регл. задание - некий обходной путь. все спасибо. |
|||
33
ignorant
27.05.14
✎
15:25
|
Не совсем в теме что есть документ АХ.
Но если он проводится интерактивно из открытой формы документа, то аналогичную задачу создания/проведения дочрнего документа выполняем в обработчике ПриЗакрытии Если мОбъектЗаписан Тогда Если Проведен Тогда срОбработка ( Ссылка, ВидОперации, РежимЗаписиДокумента.Проведение); Иначе срОбработка ( Ссылка, ВидОперации, РежимЗаписиДокумента.ОтменаПроведения); КонецЕсли; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |