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

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

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

Лучшие комментарии
24. Rustig 1203 09.11.20 22:39 Сейчас в теме
Коллеги, для УТ 11, КА 2.4 и ЕРП используйте механизм отключения контроля остатков - описание тут На время отключаем контроль остатков и проверку документов
30. Rustig 1203 28.08.21 16:43 Сейчас в теме
Обновление от 28-08-2021г:

1. Оптимизирован алгоритм обхода списка документов - теперь обход документов происходит намного быстрее.

2. Решены "детские" проблемы: например, была ошибка запроса для документа ПоказателиЕНВД программы УНФ (подробности смотрите в комментариях).

3. Изменен алгоритм распроведения документов - теперь никакие проверки при распроведении не срабатывают - а значит не надо дополнительно включать/отключать какие-либо параметры или настройки в программах, и, как дополнение, теперь распроведение работает на многих конфигурациях корректно - протестировано на УТ 11 Демо.

4. Порядок обработки документов (распроведение или удаление) происходит так: если вы задали список видов документов, значит по тому порядку как он задан, если не задали, то по порядку имен объектов метаданных (по возрастанию от А до Я - см. скрин и обратите внимание на документ ПрочиеДоходыРасходы)
Прикрепленные файлы:
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Rustig 1203 22.09.19 06:10 Сейчас в теме
2. born85 57 30.10.19 11:17 Сейчас в теме
Не все документы удаляет. Например в ут 11.4 (можно в демо базе посмотреть) документы по которым были отгрузки - не удаляет.
3. Rustig 1203 30.10.19 15:58 Сейчас в теме
(2) ок, посмотрю.

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

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

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

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

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

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

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

Смысл фразы какой?
10. born85 57 30.10.19 17:39 Сейчас в теме
(8) Возможно не правильно сформулирован, но суть же понятна Вам, для примера так же привел конфигурацию - т.е. повторить ситуацию - возможность есть. В данных условиях обработка не работает. Если устраните - будет здорово.
12. Rustig 1203 30.10.19 17:44 Сейчас в теме
(10) Ладно, посмотрю УТ 11.4.
Только не понял какую ситуацию моделировать, и на каких документах проверять.
14. born85 57 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 57 30.10.19 17:49 Сейчас в теме
(14) Здесь посмотрите - после всех манипуляций - останутся документы не "распроведенные", так же с удалением.
17. Rustig 1203 12.11.19 10:53 Сейчас в теме
(14) Расследование причин не закончено. Но вот, что уже выявлено:

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

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

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

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

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

Покамест отложу процесс поиска причин....
18. Rustig 1203 12.11.19 11:36 Сейчас в теме
(14) собственно ни один документ нельзя распровести интерактивно (то есть вручную)... надо разбираться с функционалом... искать точки обхода блокировок распроведения...
Прикрепленные файлы:
19. Rustig 1203 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 57 12.11.19 19:33 Сейчас в теме
(19) По сути проблемы есть по функционалу обработки в приведенной мной базе, не так как "изначально подразумевался функционал работает", свою проблему я решил быстро переписав часть функционала под клиента, Вам как автору сообщил о не доработках, т.к. так же как и все скачивал за старт мани и обидно что то дописывать в таких случаях (читай как лениво) - точнее о поведении обработки в конкретной базе, далее на ваше усмотрение - поправите хорошо, нет так нет ).

Хорошего вечера.
21. Rustig 1203 13.11.19 12:52 Сейчас в теме
22. user1347514 14.08.20 22:40 Сейчас в теме
ошибка и не распроводит документы .
Управление нашей фирмой, редакция 1.6 (1.6.20.178)
Прикрепленные файлы:
23. Rustig 1203 15.08.20 15:05 Сейчас в теме
(22)
Удаление работает, но к примеру, Распроведение еще не отлажено на конфигурациях (но следите за изменениями):

- Управление нашей фирмой, редакция 1.6 (1.6.13.54) (ошибка в документе ПоказателиЕНВД)

- Розница, редакция 2.2 (2.2.11.29) (есть нюансы с Чеками ККМ, пример тут //infostart.ru/public/1115171/)

Данные ограничения можно обойти с помощью списков из п.7.
29. Rustig 1203 28.08.21 16:35 Сейчас в теме
(22) Коллеги, доработал обработку - теперь для УНФ такой "детской" ошибки не возникает. :)

ПС. Ошибка могла случиться на любых конфигурациях, на которых название документа и название табличной части совпадает (см. скрин). Теперь такого недоразумения не будет.
Прикрепленные файлы:
24. Rustig 1203 09.11.20 22:39 Сейчас в теме
Коллеги, для УТ 11, КА 2.4 и ЕРП используйте механизм отключения контроля остатков - описание тут На время отключаем контроль остатков и проверку документов
25. Scroudge 29.07.21 16:26 Сейчас в теме
унф 1,6,25,166 вылезло при удалении:

{(6, 2)}: Неоднозначное поле "ПоказателиЕНВД.Дата"
<<?>>ПоказателиЕНВД.Дата < &Период
{ВнешняяОбработка.УдалитьВсеДокументыБезПроверки.Форма.Форма.Форма(173)}: Результат = Запрос.Выполнить();
{ВнешняяОбработка.УдалитьВсеДокументыБезПроверки.Форма.Форма.Форма(191)}: УдалитьДокументыНаСервере();

по причине:
{(6, 2)}: Неоднозначное поле "ПоказателиЕНВД.Дата"
<<?>>ПоказателиЕНВД.Дата < &Период
26. Rustig 1203 29.07.21 18:13 Сейчас в теме
(25) в статье и комментах предупреждал, совет - исключить документ из обработки
Scroudge; +1 Ответить
27. Scroudge 30.07.21 09:33 Сейчас в теме
(26) пардон. сейчас увидел. спасибо за обработку!
28. Rustig 1203 30.07.21 09:47 Сейчас в теме
(27) если есть возможность, напиши в техподдержку УНФ.
некорректно они настроили справочник....
30. Rustig 1203 28.08.21 16:43 Сейчас в теме
Обновление от 28-08-2021г:

1. Оптимизирован алгоритм обхода списка документов - теперь обход документов происходит намного быстрее.

2. Решены "детские" проблемы: например, была ошибка запроса для документа ПоказателиЕНВД программы УНФ (подробности смотрите в комментариях).

3. Изменен алгоритм распроведения документов - теперь никакие проверки при распроведении не срабатывают - а значит не надо дополнительно включать/отключать какие-либо параметры или настройки в программах, и, как дополнение, теперь распроведение работает на многих конфигурациях корректно - протестировано на УТ 11 Демо.

4. Порядок обработки документов (распроведение или удаление) происходит так: если вы задали список видов документов, значит по тому порядку как он задан, если не задали, то по порядку имен объектов метаданных (по возрастанию от А до Я - см. скрин и обратите внимание на документ ПрочиеДоходыРасходы)
Прикрепленные файлы:
31. user882105 31.08.21 12:05 Сейчас в теме
Подскажите удаление документов происходит и в том числе, если у документа имеются ссылки
32. Rustig 1203 31.08.21 13:47 Сейчас в теме
(31) Алексей, да, удаление не проверяет связанные ссылки.

Иначе это будет типовая консоль.

Сделайте копию - любые удаления надо тестировать на копии.

Если удаляете документы, их следует распровести предварительно.
О причинах написано в публикации.

И да, у вас не получится, не прочитав и не вникнув в статью, корректно использовать мою и подобные обработки.
33. primat 2704 22.10.21 09:01 Сейчас в теме
Если скорость удаления данной обработкой не устроит, можете рассмотреть наше решение: https://forum.infostart.ru/forum34/topic127062/

Мы его оптимизировали именно для задачи, когда нужно удалять много данных и нет возможности ждать, например, неделю.

Поэтому этап проверки делается отдельно, а потом уже само удаление выполняется без контроля ссылочной целостности базы (непосредственное удаление).
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Консультант-аналитик 1С
Нижний Новгород
зарплата от 55 000 руб. до 100 000 руб.
Полный день

Аналитик 1С ERP
Санкт-Петербург
зарплата до 200 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Бизнес-аналитик 1С
Москва
зарплата от 100 000 руб.
Полный день