Удаление документов для любых баз на управляемых формах

0. Rustig 1534 13.09.19 17:20 Сейчас в теме
Удаление и распроведение документов для любых баз на УФ.

Перейти к публикации

Лучшие комментарии
4. Rustig 1534 30.10.19 16:08 Сейчас в теме
(2) есть же стандарт разработки - когда перед записью встраивается конструкция Если ОбменДанными.Загрузка = Истина Тогда никакие проверки не делаются!

В этом случае можно удалить /загрузить/распровести / использовать групповую типовую обработку.

Если это правило игнорируется, и ставятся проверки до этой конструкции, то групповой обработкой уже не воспользуешься, ибо у вас есть связанные отгрузки.

В Рознице 2.2 с чеками ровно такая проблема.
19. Rustig 1534 12.11.19 11:48 Сейчас в теме
(14) Знаете, я попробовал Удалить документы без распроведения.
В итоге, удалилось.

Единственно, ошибка вышла:
{ВнешняяОбработка.УдалитьВсеДокументыБезПроверки.Форма.Форма.Форма(181)}: Ошибка при вызове метода контекста (Удалить)
			Док.Удалить();              
по причине:
Ошибка при выполнении обработчика - 'ПередУдалением'
по причине:
{ОбщийМодуль.ЗапасыСервер.Модуль(11222)}: По документу Передача товаров ТД00-000048 от 31.03.2017 23:59:59 есть движения в регистре РезервыТоваровОрганизаций. Удаление документа невозможно.
		ВызватьИсключение ТекстИсключения;


Собственно, перед удалением что-то там проверяется и то только для одного вида документа (в список документов не попали документы после 07.04.2017г) - возможно есть другие виды документов, перед удалением которых проверяется что-то.

...Но в целом, удалились все документы до 07.04.2017.
Уже начинаю думать, что разработчики УТ 11 правильно сделали - зачем распроводить документы, тем более связанные ?!
Если надо удалить и почистить базу - то, пож-та, удаляйте и чистите.
Но при этом не надо распроводить.... :)
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Rustig 1534 22.09.19 06:10 Сейчас в теме
2. born85 54 30.10.19 11:17 Сейчас в теме
Не все документы удаляет. Например в ут 11.4 (можно в демо базе посмотреть) документы по которым были отгрузки - не удаляет.
3. Rustig 1534 30.10.19 15:58 Сейчас в теме
(2) ок, посмотрю.

на всякий случай, напишу, что УТ 11.4 не входило в список тестируемых конфигураций.

P.S. Замечу, что запрет на удаление документов, по которым были отгрузки - это на уровне алгоритмов запреты.
Возможно стоит их обойти так: сначала помечаете на удаление все связанные
отгрузки.
Потом уже основные документы.
То есть имеет значение порядок чистки документов.
7. born85 54 30.10.19 17:07 Сейчас в теме
(3) Зачем в описании вводите в заблуждение тогда "Удаление и распроведение документов для любых баз на УФ"
9. Rustig 1534 30.10.19 17:38 Сейчас в теме
(7) В описании все честно написано - на каких конфигурациях тестировалась. Никого не ввожу в заблуждение.
Для удаления используется платформенная процедура ДокументОбъект.Удалить()
Если по каким-то причинам разработчики конфигураций блокируют удаление на уровне алгоритмов, прав доступа и т.д., то я бы посоветовал писать им в техподдержку.
Я считаю, что у полных прав должны быть права и возможности удалять документы в базах.
И этому поможет моя универсальная обработка (примитивная донельзя, но порой необходимая).
К вашему замечанию я прислушаюсь, гляну что там за проблемы удаления/распроведения в УТ 11.4.
11. born85 54 30.10.19 17:43 Сейчас в теме
(9) Я Вас понимаю, и от части разделяю Вашу точку зрения. Но в данном случае нельзя обработку считать универсальных средством и писать что работает во всех УФ - это не соответствует действительности. А так - да, обработка рабочая, но очень медленная, например при удалении движения не плохо бы в метаданных сразу проверять есть движения (проведен или нет) нежеле далее по циклу гнать в алгоритм, это бы ускорило немного ее.. В общем это придирки, по большому счету все сделано на быструю руку..
13. Rustig 1534 30.10.19 17:46 Сейчас в теме
(11) Доработаю, только спроса ведь на доработку до сих пор никто не высказывал. Спасибо что написали замечание и рекомендации дали.
Я ведь не в курсе, кому она нужна и интересна.
Обратную связь мало кто оставляет.
15. born85 54 30.10.19 17:48 Сейчас в теме
(13) Ну я например скачал за внутрисайтовые мани. И указал на замечания. На счет спроса - вам виднее статистику использования.
4. Rustig 1534 30.10.19 16:08 Сейчас в теме
(2) есть же стандарт разработки - когда перед записью встраивается конструкция Если ОбменДанными.Загрузка = Истина Тогда никакие проверки не делаются!

В этом случае можно удалить /загрузить/распровести / использовать групповую типовую обработку.

Если это правило игнорируется, и ставятся проверки до этой конструкции, то групповой обработкой уже не воспользуешься, ибо у вас есть связанные отгрузки.

В Рознице 2.2 с чеками ровно такая проблема.
5. Rustig 1534 30.10.19 16:31 Сейчас в теме
(2) что за фраза "документы по которым были отгрузки" ?
я понимаю, как связанные с реализацией документы. В этом случае, реализация - это отгрузка. И есть связанные с ней документы - счет на оплату, заказ покупателя, м.б. расходный ордер на товар.
Поясните вашу фразу пож-та.
6. born85 54 30.10.19 17:06 Сейчас в теме
(5) Документы покупателей по котором были частичные или полные отгрузки. Соответственно - эти документы ваша обработка пропускает.
8. Rustig 1534 30.10.19 17:32 Сейчас в теме
(6)
Документы покупателей по котором были частичные или полные отгрузки

опять непонятно.
"Отгрузка" это и есть документ "Реализация товаров и услуг". У вас фраза звучит как "Документы по которым были документы".

Отгрузка может быть по товарам или по покупателям. Но по документам отгрузка быть не может.

Смысл фразы какой?
10. born85 54 30.10.19 17:39 Сейчас в теме
(8) Возможно не правильно сформулирован, но суть же понятна Вам, для примера так же привел конфигурацию - т.е. повторить ситуацию - возможность есть. В данных условиях обработка не работает. Если устраните - будет здорово.
12. Rustig 1534 30.10.19 17:44 Сейчас в теме
(10) Ладно, посмотрю УТ 11.4.
Только не понял какую ситуацию моделировать, и на каких документах проверять.
14. born85 54 30.10.19 17:47 Сейчас в теме
(12) Не поленюсь и добавлю скриншот с настройкой в демо базе ут последней. Посмотрите после отработки - документы останутся с движениями.

Управление торговлей, редакция 11 (11.4.5.111) (http://v8.1c.ru/trade/)
Copyright © ООО "1С-Софт", 2003-2018. Все права защищены
(http://www.1c.ru)
Прикрепленные файлы:
16. born85 54 30.10.19 17:49 Сейчас в теме
(14) Здесь посмотрите - после всех манипуляций - останутся документы не "распроведенные", так же с удалением.
17. Rustig 1534 12.11.19 10:53 Сейчас в теме
(14) Расследование причин не закончено. Но вот, что уже выявлено:

1) В УТ 11 по-умолчанию запущено много фоновых и регламентных заданий - их надо отключить - тогда обработка отработает быстрее

2) В УТ 11 - много подписок на события, которые срабатывают ПередЗаписью документов, при этом проверяется кроме параметра ОбменДанными.Загрузка - различные параметры подобно Источник.ДополнительныеСвойства.Свойство("ПропуститьЗаписьВерсииОбъекта")
или Объект.ДополнительныеСвойства.Свойство("ЗаписатьНаборыЗначенийДоступа")
и еще что-то... Но пока особо непонятно - насколько допсвойства влияют на универсальные групповые обработки документов...

возможно для других целей это знание пригодится - то есть, чтобы реализовать универсально что-то - необходимо знать и учитывать все ДопСвойства...

3) Попробовал программно распровести Заказ ТД0000...3 от 06.04.2017 с помощью текущей обработки - вышла ошибка - смотрю Журнал регистрации - транзакция отменена на объекте РегистрСведений ГрафикПлатежей - это независимый и непериодический регистр....

Хм, попробовал распровести этот заказ интерактивно - распровелся запросто - попробовал провести снова - вышла ошибка - не проводит, то есть заложена функциональность такая - что случайно можно распровести вручную, а вернуть в исходное состояние уже нельзя.... ловушка для пользователей ?!.

Покамест отложу процесс поиска причин....
18. Rustig 1534 12.11.19 11:36 Сейчас в теме
(14) собственно ни один документ нельзя распровести интерактивно (то есть вручную)... надо разбираться с функционалом... искать точки обхода блокировок распроведения...
Прикрепленные файлы:
19. Rustig 1534 12.11.19 11:48 Сейчас в теме
(14) Знаете, я попробовал Удалить документы без распроведения.
В итоге, удалилось.

Единственно, ошибка вышла:
{ВнешняяОбработка.УдалитьВсеДокументыБезПроверки.Форма.Форма.Форма(181)}: Ошибка при вызове метода контекста (Удалить)
			Док.Удалить();              
по причине:
Ошибка при выполнении обработчика - 'ПередУдалением'
по причине:
{ОбщийМодуль.ЗапасыСервер.Модуль(11222)}: По документу Передача товаров ТД00-000048 от 31.03.2017 23:59:59 есть движения в регистре РезервыТоваровОрганизаций. Удаление документа невозможно.
		ВызватьИсключение ТекстИсключения;


Собственно, перед удалением что-то там проверяется и то только для одного вида документа (в список документов не попали документы после 07.04.2017г) - возможно есть другие виды документов, перед удалением которых проверяется что-то.

...Но в целом, удалились все документы до 07.04.2017.
Уже начинаю думать, что разработчики УТ 11 правильно сделали - зачем распроводить документы, тем более связанные ?!
Если надо удалить и почистить базу - то, пож-та, удаляйте и чистите.
Но при этом не надо распроводить.... :)
20. born85 54 12.11.19 19:33 Сейчас в теме
(19) По сути проблемы есть по функционалу обработки в приведенной мной базе, не так как "изначально подразумевался функционал работает", свою проблему я решил быстро переписав часть функционала под клиента, Вам как автору сообщил о не доработках, т.к. так же как и все скачивал за старт мани и обидно что то дописывать в таких случаях (читай как лениво) - точнее о поведении обработки в конкретной базе, далее на ваше усмотрение - поправите хорошо, нет так нет ).

Хорошего вечера.
21. Rustig 1534 13.11.19 12:52 Сейчас в теме
Оставьте свое сообщение
Вопросы с вознаграждением