helpf.pro
Регистрация

Необходимо выбрать элементы справочника по реквизиту в 1C 7.7

olika
16.03.2010 16:44Прочитано: 5384
Предисловие: 1С 7.7, конфигурация самописная, в справочнике, который необходимо обработать более 1 млн. записей (почистить его нельзя, потому что он постоянно обновляется, все записи используются, а так же добавляются новые)

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

Каким образом еще можно реализовать выборку? Может есть какие-то внешние приложения, которые могут помочь?
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
16.03.2010 17:00Ответ № 1
хм, надо подумать, первое что лезет в голову это отбирать сразу по SQL, но это сложновато!
Подумаю, отпишусь *09
IKSparrow
17.03.2010 09:01Ответ № 2
А вот я, кстати, не увидел - база файловая или крутится на SQL'е? Какой объём базы?
E_Migachev
17.03.2010 09:07Ответ № 3
более 1 млн. записей - DBF не потянула бы *11

Стандартными средствами ни как не ускорите, только использовать T-SQL.
olika
17.03.2010 10:03Ответ № 4
sql база, но прямые запросы не хотелось бы использовать, таблица постоянно обновляется, чтобы не происходило зависание базы
E_Migachev
17.03.2010 10:29Ответ № 5
А, так к ней еще и постоянно обращаются...
Тогда боюсь, что вариантов нет, только прямые запросы, иначе ни как *11
IKSparrow
17.03.2010 10:39Ответ № 6
Кстати, про "внешние приложения, которые могут помочь" - в подобной ситуации в одной конторе ребята наваяли приблуду на Дельфи, которая делала выборку данных по определённым критериям из базы, а потом передавала всё это через COM в 1С, которая уже их обрабатывала. Изврат, но работало достойно по скорости.
Ещё вариант видится мне (но я не знаю как он будет в 1С работать - у меня с ней практики мало) - создать кэш частоиспользуемых записей. В справочнике, в регистре. Какие там ещё в 1С есть объекты подходящие для такой задачи? У меня на FoxPro подобный механизм тоже помогал здорово в плане скорости.
olika
17.03.2010 10:45Ответ № 7
хм... Спасибо за повод для размышлений. Буду работать. Как найду достойное решение - отпишусь.
E_Migachev
17.03.2010 10:57Ответ № 8
Приблуда на Делфи 100% работает на прямых SQL запросах, тоже можно получить сразу и из 1С.
С большим интересом ждем варианта решения...)
olika
19.03.2010 12:15Ответ № 9
Итоги такие: перепробовала много разных вариантов... Самым быстро действенный оказался прямой запрос с несколькими условиями и с ограничением количества записей для вывода. При этом выборка производится только кода, а потом по этому коду ищутся записи в справочнике.

Вот такое решение))
Всем спасибо)
E_Migachev
19.03.2010 12:32Ответ № 10
) Хорошее решение!
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.