#0
by profik777
В цикле проверяю документы на соответсвие условию.Те документы, которые соответсвуют условию перепровожу. Вопрос: если я по результатам проверки составлю список документов, которые нужно перепровести и потом, по этому списку перепроведу их - ускорит ли это работу обработки? есть ли смысл применять транзакцию (по аналогии с записью большого кол-ва элементов в справочник). Спасибо
#1
by SMakcik
Перепроведение и так выполняется в транзакции, зачем она еще? Составлять список можно, но зачем лишние действия. Войди монопольно, для ускорения.
#2
by profik777
я хотел в цикле перебирать список документов, а сам цикл заключить в транзакцию. Наверное таки не стоит.
#5
by dimzh
- не ускорит по причине приведенной SMakcik в . Ускорит, если ты будешь в транзакции удалять, а потом ее отменишь
#6
by Chai Nic
На sql2000 может реально ускорить выполнение реконнекта через каждый десяток документов. Для этого документы как раз и есть смысл предварительно поместить в список, так как выборка при реконнекте слетает.
#8
by Chai Nic
В sql2000 есть баг с неочисткой временных таблиц, который на 1с влияет таким образом, что каждый последующий документ проводится дольше предыдущего. И так до реконнекта. В 1с++ у объекта ODBCRecordSet есть метод ReconnectNative, который разрывает соединение с sql-сервером и сразу же его восстанавливает. При этом все открытые курсоры (выборки 1с) естественно закрываются. Так что нельзя внутри цикла ВыбратьДокументы делать реконнекты. Для перепроведения в цикле с реконнектами используют список значений(или таблицу значений), который предварительно заполняют ссылками на нужные документы. Поскольку список значений - это объект в памяти, а не на сервере, то разрыв sql-соединения на него не влияет.
#9
by Mikeware
Через десяток - смысла не имеет. (ну разве что это документы с офигительными временными расчетами и т.п.) Как показала практика, 20-30-50-70-100 (в стандартных пофигурациях) отличаются ненамного. У меня - 60 РеконнектНатив - не у ОДБСРекордсет, а у ДатаБэйс.. И курсоры открытые закрывать надо... :-)
#10
by Злопчинский
Считаю, что - неверно. Неужели 10 ударов молотком по гвоздю будут занимать то же самое время что и ударил по гвоздю, положил молоток, взял гвоздь, взял молоток, ударил по гвоздю... ????
#12
by IOL
Для ускорения, если документы одного вида и есть алгоритм как именно надо править движения, есть смысл задуматься что бы не перепроводить, а именно править движения/проводки, но это не всегда возможно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- перепроведение задним числом
- Можно ли ускорить вывод таблицы на экран?
- Перепроведение всех докуменов при обновлении на УПП 1.2.3
- как ускорить перепроведение документов в 1с77
- Помогите идеей - перепроведение только по одному регистру
- Массовое прекращение действия надбавок в ЗИК
- Перепроведение
- v7: Инфокрафт - Расчет квартплаты ред. 1.0 массовое закрытие договоров
- v7: Массовое перепроведение документов 1С 7.7. Какой SQL сервер лучше ?
В этой группе 1С
- Зависает при поиске документа в журнале по номеру.
- Список работающих сотрудников запросом в ЗУП
- Фискальник анулирует чеки
- дополнительные отпуска - УПП
- v7: Нет проводок по НУ при переоценке расчетов в у.е. (УПП)
- В номере докумета поставили дробь. Надо убрать.
- как сложить две строки в запросе?
- несовместимые типы
- Как в запросе сравнить строки с точностью до регистра?
- поступление в торговле и склад
- v8: Как прочитать текстовый файл начиная с конца?
- a timeout was reached при РИБ обмене по FTP
- Как перевести приложение на управляемые блокировки?
- Отрицательный НДФЛ начисленный
- УПП. Нумерация кадровых приказов.
- Выводит ошибку на RG328.DBF файл,при открытии периода.
- Практика в ЗУП
- Обмен данными с внешней (не 1с) базой PostgreSQL.
- Ндфл удержанный не равен исчисленному
- Нарастающий итог в запросе