0. zzz_natali 59 02.06.16 15:44 Сейчас в теме

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

Обработка предназначена для ускорения процедуры удаления объектов

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

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

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

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

Вакансии

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

Консультант-аналитик 1С (ЗУП)
Санкт-Петербург
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

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

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