|
|
|
Отмена проведения | ☑ | ||
|---|---|---|---|---|
|
0
Alex7771
06.11.25
✎
08:21
|
Конфа ЗУП, программно отменяю проведение документов.
в цикле стоит : ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения); и на некоторых документах ( в частности на больничных ) иногда спотыкается - пишет, что документ был исправлен другим документом, не могу отменить проведение... главное, что вылезает при этом диалоговое окно и обработка останавливается. Как это обойти, не подскажите ? |
|||
|
1
maxab72
06.11.25
✎
08:26
|
ну, я бы ЗУП не трогал... но если очень уж руки чешутся, то расширением блокируется проверка связанных документов.
|
|||
|
2
Alex7771
06.11.25
✎
08:30
|
(1) а через попытку исключение не сработает ? все равно диалог выведет ?
|
|||
|
3
Chai Nic
06.11.25
✎
08:38
|
Можно попробовать отменять проведения в режиме ОбменДанными.Загрузка=Истина, но за последствия ручаться сложно. Там проблема в том, что на многих документах в типовых отключено автоматическое удаление движений при отмене проведения. И это делается программно или обработчиком, или подпиской на событие. То есть, может что-то при этом остаться в регистрах, при том что документ будет как бы не проведенным.
|
|||
|
4
Мультук
гуру
06.11.25
✎
08:42
|
(3)
Ой. А можно код ? Так хочется это увидеть - кушать не могу. |
|||
|
5
Alex7771
06.11.25
✎
08:52
|
там в зупе куча документов, которые так просто не распроводятся, на что-то ругаются. я бегаю по метаданным и пытаюсь распровести все документы, которые есть. Если какие-то не распроведутся, то и бог с ними - главное, чтобы обработка не прерывалась. а вот с эти пока затык.
|
|||
|
6
Гена
гуру
06.11.25
✎
08:56
|
(0) Я бы стрелу времени поменял, т.е. начал бы с сегодня распроводить, и в прошлое. Тогда неизбежно сначала в каждом дереве доки исправлений (крона деревьев) распроведутся и не помешают распровестись корням.
|
|||
|
7
Chai Nic
06.11.25
✎
09:03
|
ДокументОбъект.ОбменДанными.Загрузка = Истина;
ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения); Кушайте. |
|||
|
8
Мультук
гуру
06.11.25
✎
09:06
|
(7)
Это работает? |
|||
|
9
Kigo_Kigo
06.11.25
✎
09:11
|
(8) А че нет то?
|
|||
|
10
d4rkmesa
06.11.25
✎
09:45
|
(9) Скорее всего, будет ошибка "Действие не может выполняться в режиме загрузки данных". Лень проверять.
|
|||
|
11
Kigo_Kigo
06.11.25
✎
09:47
|
(10) скорее всего нет, я этим приёмчиком пользовался, вроде все прокатывало
|
|||
|
12
d4rkmesa
06.11.25
✎
09:50
|
(0) "пишет, что документ был исправлен другим документом" А как это происходит, из-за вашей обработки или пользователи работают? Может просто блокировать для редактирования?
ps: Код религия мешает показать? |
|||
|
13
1cVandal
06.11.25
✎
09:51
|
мдя, а ничего что там зп расчитана и начислена на основании этих данных и стоит проверка на отмену проведения
|
|||
|
14
d4rkmesa
06.11.25
✎
09:51
|
(11) Забавно, если так (багофича?), проверю вечером.
|
|||
|
15
Alex7771
06.11.25
✎
10:09
|
(12) пользователей нет, все на копии
|
|||
|
16
craxx
06.11.25
✎
10:15
|
(0) обычной групповой обработкой, при сортировке по дате по убыванию все легко распроводится.
|
|||
|
17
Гена
гуру
06.11.25
✎
10:15
|
(12) В ЗУПе работает такая методика. Чтобы не править напрямую доки прошлых периодов - на их основании вводятся такие же доки, но с маркировкой испр. При этом родительский док запрещается к правке/распроведению. Это сделано для того, чтобы править прошлые ошибки в текущем периоде.
Причём док исправления заносит все движения родителя в регистры испр. Если по какой-то причине отменить или распровести док исправления, то алгоритм ЗУПа не формирует заново движения родителя, а тупо копипастит из этих регистров испр. |
|||
|
18
SleepyHead
гуру
06.11.25
✎
10:37
|
(17) Отменить больничные, на основании которых есть продление отпуска.. круто, конечно.
(0) Автор, какую проблему решаете путем отмены проведения документов? |
|||
|
19
Alex7771
06.11.25
✎
10:47
|
(18) выделить одну организацию в отдельную базу. В базе куча организаций, база здоровая, через распределенку выделение виснет пока не уменьшишь размер, идея распровести документы по остальным организациям, почикать их (какие смогу ) ( помечать на удаление - те же проблеммы ) - база уменьшится - потом выделить оставшуюся базу. можно конечно непосредственно удалять документы, но хз.
|
|||
|
20
Kigo_Kigo
06.11.25
✎
10:50
|
(19) Грохаешь их непосредственно, потом ТиИ с очисткой битых ссылок
|
|||
|
21
d4rkmesa
06.11.25
✎
11:28
|
(19) Есть обработки удаления данных по организации на том же ИС, но да, работать будут долго в любом случае. И можно что-то случайно прихватить, тех же физлиц.
|
|||
|
22
d4rkmesa
06.11.25
✎
11:31
|
(21) Я бы чем-то подобным https://infostart.ru/1c/tools/1797858/ воспользовался (правда, правила от 2023 года, но в КД2 доработать несложно).
|
|||
|
23
d4rkmesa
06.11.25
✎
11:34
|
(20) На ИС еще был скрипт SQL для этих целей, для тех, кто не боится битых ссылок.
|
|||
|
24
Serg_1960
06.11.25
✎
11:44
|
(7) Азбука: "Действие не может выполняться в режиме загрузки данных"(с)
PS: у автора, имхо, совсем другая проблема. (17) +1 в данном конкретном случае что-то типа этого: ИсправленИлиСторнирован = ИсправлениеДокументовЗарплатаКадры.СведенияОбИсправленииДокумента(СсылкаНаОбъект, Истина); Если ИсправленИлиСторнирован.Исправлен Или ИсправленИлиСторнирован.Сторнирован Тогда ... |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |