|
|
|
как решать парадоксы? (использование несуществующих данных) | ☑ | ||
|---|---|---|---|---|
|
0
vde69
01.09.14
✎
12:07
|
есть документ, документ может иметь много статусов, статусы определяются БП подписание. На основания статуса делаются движения.
порядок такой 1. документ без БП - статус "создан", никаких движений 2. документ с открытым БП - статус "На согласовании" есть движения 3. Документ с исполненым БП статус или "Отказан" или "Исполнен" движения могут быть а могут и нет. мне нужно ДО создания БП получить движения которых еще нет и которые зависят от БП |
|||
|
1
zulu_mix
01.09.14
✎
12:09
|
намути регистр в который пиши всевозможную движку со статусами
|
|||
|
2
XLife
01.09.14
✎
12:09
|
сделать фейковую транзакцию?
|
|||
|
3
DrZombi
гуру
01.09.14
✎
12:16
|
Что такое БП и ДО? :)
|
|||
|
4
piter3
01.09.14
✎
12:17
|
(3) бизнес процессы и просто до.не?
|
|||
|
5
DrZombi
гуру
01.09.14
✎
12:18
|
Что такое Статус и как он определяется?
Какой статус у Проведенного документа? Какой статус у Не проведенного? А если его удалили? :) |
|||
|
6
DrZombi
гуру
01.09.14
✎
12:19
|
(4) И чем БП отличается от "состояния" документа?
|
|||
|
7
DrZombi
гуру
01.09.14
✎
12:19
|
Что в БП такого особенного?
|
|||
|
8
DrZombi
гуру
01.09.14
✎
12:20
|
+ У Регистров есть поле "Активный"
|
|||
|
9
Garykom
гуру
01.09.14
✎
12:21
|
(0) Т.е. не зная какой БП хочешь узнать движения которые от выбранного БП зависят?
Это не сюда а к Кассандре )) |
|||
|
10
ptiz
01.09.14
✎
13:10
|
(0) Зачем именно движения?
А вообще, должна быть какая-то общая функция, которая вызывается при проведении для формирования движений, её же вызывать при смене статуса. |
|||
|
11
Maxus43
01.09.14
✎
13:11
|
фейковая транзакция вариант, даже в типовых применялось раньше. Это чтоб меньше писать
|
|||
|
12
Garykom
гуру
01.09.14
✎
13:20
|
(11) млин какой нафик фейк, в лучшем случае кучу вариантов получим по кол-ву разных БП
неизвестно же какая БП выбрана |
|||
|
13
Maxus43
01.09.14
✎
13:29
|
(12) автор уверен что знает какие движения должны быть (на какой статус или ещё что ему надо), иначе тогда смысл его действий вообще непонятен (желаемый результат)
|
|||
|
14
Волшебник
модератор
01.09.14
✎
13:30
|
(0) Делай движения с признаком Активность=Ложь
|
|||
|
15
Garykom
гуру
01.09.14
✎
13:30
|
(13) если знает то сделать копию дока, провести его, получить нужные данные и грохнуть?
|
|||
|
16
Maxus43
01.09.14
✎
13:32
|
(15) да нет, этот же док провести, снять движения и Откатить транзакцию.
В типовых это для контроля остатков использовалось например |
|||
|
17
Garykom
гуру
01.09.14
✎
13:34
|
(16) а куда то надо запоминать статусы и проч временное? чтоб вернуть
а если сбой какой и полетит документа по... в моем случае просто грохнуть этот док причем автоматом если привязка идет к примеру по хитрому номеру дока |
|||
|
18
Maxus43
01.09.14
✎
13:36
|
(17)
НачатьТранзакцию(); ДокОбъект.Статус = нужныйдлядвижений; ДокОбъект.записать(режимзаписидокумента.проведение); //запрос к движениям, выгрузка их в ТЗ или ещё куда ОтменитьТранзакцию(); Всё вернётся в изначальное состояние Само |
|||
|
19
Garykom
гуру
01.09.14
✎
13:37
|
(17)+ мда сразу вспоминается 1С 7.7 и стандартный механизм УРБД
в котором чтоб обойти ограничение на передачу документа только в определенную базу из центра (а есть только миграция все базы, место создания и центр, и только место создания) сначала в периферийных базах создавали документы - пустышки определенной датой и потом эти созданные пустые доки юзали как нормальные перемещения из центра в периферию нужную... |
|||
|
20
Garykom
гуру
01.09.14
✎
13:38
|
(18) а итоги где берем?
|
|||
|
21
Maxus43
01.09.14
✎
13:39
|
(20) в рамках транзакции все данные будут, в т.ч. и итоги актуальные
|
|||
|
22
vde69
01.09.14
✎
13:40
|
Отвечу по порядку:
БП определяет статус документа в зависимости от динамически сформированого маршрута. Суть моей задачи - прочухать, что продажа идет в минус, для этого нужно анализировать проводки документа "ПартииТоваровНаСкладах" и сравнивать с регистром "Продажи", при минусовом значении хоть по одной строке нужно добавить определенную точку в маршрут БП. Про "Активность" - как-то стремно, хотя имеет право на "подумать". |
|||
|
23
vde69
01.09.14
✎
13:41
|
(21) про транзакцию - получить нужно ВНЕ транзакции, по тому как возможно придется задать вопрос "Вы действительно продаете в минус?"
|
|||
|
24
Maxus43
01.09.14
✎
13:43
|
(23)>(18)
Фраза выгружаем в ТЗ иль ещё куда - не впечатлила? После отмены транзакции она никуда не денется и циферки не пропадут |
|||
|
25
Garykom
гуру
01.09.14
✎
13:43
|
(22) тогда нет проблем вообще, снова все свелось к рекурсии ))
в процедуре проведения сделать проверку на минуса и если есть изменяем БП (добавляем эту точку) и заново запускаем процедуру проведения... |
|||
|
26
vde69
01.09.14
✎
13:48
|
(24)(25) не хочу 2 раза вызывать процедуры проведения.
(24) в принцепе ты меня натолкнул на мысль, у меня процедура проведения на 100% вынесена в модуль менеджера и позволяет делать формировать движения без записи документа индивидуально по любому регистру, просто мне придется как-то подделать статус и моя проблемма решится... |
|||
|
27
13_Mult
01.09.14
✎
13:49
|
Я бы бизнес процесс замутил.
|
|||
|
28
Garykom
гуру
01.09.14
✎
15:46
|
(26) так не надо его подделывать ты его в процедуру проведения передавай (если не передали то берем из дока)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |