Настройка курсоров на триггерах для 1C 7.7+Selta+Postgresql
Разработка - Инструментарий разработчика
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Selta - один из самых необычных и неоднозначных проектов компании Etersoft под 1С 7.7 (и не только), позволяет перевести базы 1C 7.7 c MS SQL на Linux + postgresql при существенной экономии средств.
Несмотря на то, что скорость отчетов и проведения документов 1С в разделенном режиме в 1С 7.7+Selta+Postgresql, уже начиная с первых версий Selta, была сравнима с MS SQL, до версии Selta 1.0.6 существовал существенный недостаток - чрезвычайно медленная работа обновляемых курсоров (дикие тормоза в журналах и справочниках).
К сожалению, в postgresql обновляемые курсоры отсутствуют совсем, такого режима работы просто нет, поэтому до версии Selta 1.0.6 курсоры приходилось пересоздавать каждый раз когда происходило перемещение от одной записи к другой в курсоре, что и приводило к тормозам.
Новый вариант Selta позволяет пересоздавать курсоры только в случае изменения данных в таблицах участвующих в запросе для курсора.
Регистрация изменений ведется через триггеры, но как всегда существуют подводные камушки: слишком много триггеров это замедление работы базы (10% (и выше) потери производительности на перепроведении документов на ТиС(Демо) при установке триггеров на все таблицы без исключения).
Компромиссным решением стала возможность создания служебной таблицы, в которой указываются таблицы 1С (по маске или точно), для которых будут использованы триггеры: http://wiki.etersoft.ru/SELTA/cursorstriggers?v=1d19
А поскольку копаться в 1Cv7.DDS неинтересно, а задавать реальные имена таблиц ручками вообще не наш метод, была создана данная обработка.
Использует 1С++ 3й версии, ее надо кинуть в BIN или в каталог ИБ.
Управление основано на "табличном поле" 1С++, поэтому почти никаких кнопок, только перетаскивание и галочки.
Ограничение: запускается только на версии баз под Selta 1.0.6 (на всякий пожарный, но это можно изменить в коде обработки). На MS SQL запуститься не должна и для этого не предназначена!!!
Не забывайте нажать кнопку "Пересоздать", при этом будут внесены все изменения и пересозданы триггеры, таблица изменений выбранных таблиц и обновлено правильное/текущее состояние триггеров в самой форме.
P.S. Разработки etersoft выдаются на тестирование по заявке на e-mail (на 60 дней, насколько я знаю), должно хватить и на предварительные и на боевые тесты.
P.P.S. Разработчики wine@etersoft и selta в основном появляются тут: http://linuxforum.ru/index.php?showforum=58
Вступайте в нашу телеграмм-группу Инфостарт