![]() |
|
Модераторы: stron |
![]()
|
|
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
Привет!
В 1с мне нужно сохранять лог изменения док-та, ну а потом его и выводит в отчет. Для этого разработал структуру справочника, казалось бы все, но сохранение данных в него идет не очень быстро, когда записей много, а все это делается при нажатии кнопки пользователем (очень медленно сохраняется на учебной, пустой базе 10 сек., код без сохранения в БД работает быстро) Так вот вопрос, есть ли альтернативный вариант сохранения данных, если не в справоччник, то еще куда-нить, но чтоб их можно было вывести в отчет-таблицу (напомню, что в справочнике есть ряд методов для извлечения данных! ) -------------------- A good design always pays off. |
|||
|
||||
| AkelaSQL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
Платформа?
|
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
1c v7.7 dbf база данных
-------------------- A good design always pays off. |
|||
|
||||
| AkelaSQL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
1. Убери все лишние индексы с реквизитов справочника (галочки сортировка, отбор по реквизиту), это замедлит выборку, но ускорит запись.
2. Процедуру записи в справочник - в студию... 3. Переведи базу на SQL 4. Используй 1С++ |
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
Спасибо за советы AkelaSQL!
1 - сделаю 2 - вот код, если закоментить строки где создается эл-т в справочнке и пишется в бд, то код работает быстро!
3 - невозможно, задача небольшая и из-за неё переводить на sql затратно 4 - 1с++ никогда не слышал, я недавно работаю с 1с -------------------- A good design always pays off. |
|||
|
||||
| AkelaSQL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
2. Ну тут всё понятно, куча вложенных циклов быстро никогда работать не будет, тем более с таким содержимым. Как вариант можно посоветовать:
а) собирай все нужные для записи данные в ТЗ и только в конце процедуры проходи по ТЗ циклом и пиши данные в справочник. б) делай всё это в транзакции (НачатьТранзакцию - ЗафиксироватьТранзакцию) 3. SQL сервер можно поднять 2005 Express - это быстро и не затратно. 4. http://www.script-coding.info/1cpp.html http://www.script-coding.info/Direct_queries.html и вообще гугли, инфы по 1С++ много, у меня торговля на 7.7 переписана на 50% в твоём случае возникнет проблемка, если используешь УРБД, но при желании она легко решаема |
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
не тут и так уже все собрано в кучу, а цикл лишь обходит ТЗ и пишет в базу, дело в том что писать приходться сразу много, не 1-2 записи а 15-20 за раз. Не охота напрягать пользователей (бухгалтеров)
Ну и конечно я еще просмотрю и подправлю код, это сырой вариант Это сообщение отредактировал(а) sergey_85 - 7.8.2009, 11:48 -------------------- A good design always pays off. |
|||
|
||||
| AkelaSQL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
всё равно вставь всю эту процедуру внутрь 1 транзакции и сделай замер
|
|||
|
||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
о чудо!!!! слушай, стала почти летать!
я так понимаю, что сейчас создается 1 транзакция на сохранение всех записей, а раньше каждое сохранение порождало новую транзакцию - отсюда и тормоза!!!!
-------------------- A good design always pays off. |
|||
|
||||
| AkelaSQL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 14.9.2007 Где: Москва Репутация: 6 Всего: 7 |
Твоё узкое звено - дисковая подсистема.
|
|||
|
||||
![]()
|
| Правила форума "1C: Предприятие, SAP, ERP и учётные системы" | |
|
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |