Многопоточное удаление объектов

0. Наталия Мастербатова (zzz_natali) 57 02.06.16 15:44 Сейчас в теме
Обработка предназначена для ускорения процедуры удаления объектов

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

Комментарии
1. aspirator 23 (aspirator23) 311 11.06.16 15:32 Сейчас в теме
Странно, что только в 2 раза. Аналогично делал на SQL - ускорение в количество фоновых процессов. Не точно, но почти. Т.е. на 10 примерно получалось в 7-8 раз.
2. Наталия Мастербатова (zzz_natali) 57 13.06.16 15:29 Сейчас в теме
(1) aspirator23, Ну, если по-чесноку, то статистику не собирала. Субъективно прикинула ... к носу - вроде в 2 с небольшим раза быстрее.
17. Sergey Andreev (starik-2005) 1291 22.07.17 10:30 Сейчас в теме
(1)
Аналогично делал на SQL - ускорение в количество фоновых процессов.
Имеется ввиду на клиент-серверной архитектуре? На скуле это делается в 1 поток раз в 1000000000 быстрее, чем на 1С.
Тут что-то есть об этом. Если UPDATE поменять на DELETE, а в WHERE прописать _Marked = 1, то удалится только в путь )))
19. Наталия Мастербатова (zzz_natali) 57 24.07.17 11:21 Сейчас в теме
(17)
У вас есть готовый универсальный T-SQL скрипт по непосредственному удалению помеченных на удаление объектов? Была бы очень признательна.
20. Sergey Andreev (starik-2005) 1291 24.07.17 14:54 Сейчас в теме
(19)
У вас есть готовый универсальный T-SQL скрипт
Т.к. имена в разных базах разные, то универсальный скрипт достаточно проблематично запилить (но можно). Основная проблема - удаление движений в регистрах по удаленным объектам. Ну и 1С может поменять структуру БД, что может привести к неработоспособности скрипта.

Если данные нужно удалить из небольшого количества связанных таблиц, то скрипт написать будет весьма простой задачей. получаете имена таблиц и имена табличных частей. Удаляете данные основной таблицы по признаку _Marked = 1, удаляете табличные части по NULL в соединении с основной таблицей, удаляете данные регистров по NULL в соединении с регистратором. Если регистраторов много, то поле типа "RTRef " содержит номер таблицы, т.е. добавляете условие по этому полю и номеру документа. 10 минут скрипт писать.
3. Slava Admin (Sl@v@) 20.06.16 01:21 Сейчас в теме
На УТ 3.0 для Украины 1С 8.3.4 выдает -
{Форма.Форма.Форма(141)}: Получение элемента по индексу для значения не определено
МассивФорма[Сч-1][ИмяРеквизита] = ЭтотОбъект[ИмяРеквизита];
Как можно побороть?
4. Наталия Мастербатова (zzz_natali) 57 20.06.16 06:07 Сейчас в теме
(3) Sl@v@,
КАк надыбаю УТшку для Украины, гляну. Вы точно уверены, что ваша конфигурация запускается в толстом клиенте?
5. Slava Admin (Sl@v@) 20.06.16 22:38 Сейчас в теме
ДД.
Да, в Толстом клиенте обычные формы.
Инсталляция конфигурации - https://yadi.sk/d/T-ypcOGosVFzc
Cf конфигурации - https://yadi.sk/d/F8J9CpDSsVJQ8
6. Наталия Мастербатова (zzz_natali) 57 21.06.16 11:03 Сейчас в теме
(5) Sl@v@,
К сожалению у вас всё равно режим запуска Управляемый:

У меня не стояло задачи писать под управляемые формы. Возможно в обозримом будущем допишу, если будет свободное время.
как выход из ситуации для вас вижу следующий порядок действий:
1. Снимаете конфу с поддержки
2. Меняете основной режим запуска на Обычный.
3. Производите необходимое удаление объектов с помощью моей обработки
4. Снова меняете основной режим запуска на Управляемый(или оставляете в обычном режиме)
5. При желании можно снова поставить конфигурацию на поддержку
7. Александр Крынецкий (echo77) 785 09.07.17 10:35 Сейчас в теме
(6) Не надо снимать с поддержки. Надо просто в параметрах запуска 1С дописать /RunModeOrdinaryApplication
https://helpf.pro/faq83/view/1735.html
8. Максим Б (Xershi) 295 09.07.17 12:30 Сейчас в теме
(7) или же в режиме отладки выбрать запуск обычное приложение, но не факт что взлетит.
zzz_natali; +1 Ответить
9. Наталия Мастербатова (zzz_natali) 57 09.07.17 17:58 Сейчас в теме
(7) У него какая-то хитромудрая конфа. У мя не получилось её толкнуть в режиме ранмодеординари
10. Александр Крынецкий (echo77) 785 10.07.17 15:23 Сейчас в теме
У меня все запускается
Прикрепленные файлы:
11. Наталия Мастербатова (zzz_natali) 57 10.07.17 16:03 Сейчас в теме
(10) Х.з. на тот момент может мне какую другую редакцию конфы пихнули.
Больше года уже прошло...
"Не жнаю, вопчем: само приползло" (с) из анека
12. Slava Admin (Sl@v@) 15.07.17 08:00 Сейчас в теме
Доброе время суток.
У меня тоже запускается в обычном режиме из конфигуратора, но после выполнить выдает старую ошибку -
"{Форма.Форма.Форма(141)}: Получение элемента по индексу для значения не определено
МассивФорма[Сч-1][ИмяРеквизита] = ЭтотОбъект[ИмяРеквизита];
"
Прикрепленные файлы:
13. Наталия Мастербатова (zzz_natali) 57 20.07.17 15:44 Сейчас в теме
(12) Попробуйте заремить 141ю строчку - должно заработать.
14. Slava Admin (Sl@v@) 21.07.17 01:14 Сейчас в теме
Заремил, но не сильно продвинулся в многопоточном удалении -
"Ошибка разделенного доступа к информационной базе"
Прикрепленные файлы:
15. Наталия Мастербатова (zzz_natali) 57 21.07.17 07:01 Сейчас в теме
(14) Давайте с самого начала. Ошибка проявляется только на одной базе или на всех(даже если взять обычную бухню-демку)?
ЗЫ. Уехала поливать огурцы. На след неделе продолжим...
16. Slava Admin (Sl@v@) 21.07.17 21:30 Сейчас в теме
Я только на этой пробовал.
18. Наталия Мастербатова (zzz_natali) 57 23.07.17 19:55 Сейчас в теме
(16) Может конфа базовая? Не дает несколько подключений к базе...
Оставьте свое сообщение