Переключение на Главную Страницу Страницы: [1] 2 3 4 ОтправитьПечать
Очень популярная тема (более 25 ответов) Ускорение работы документа с большой ТЗ при помощи 1С++ (число прочтений - 11190 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Ускорение работы документа с большой ТЗ при помощи 1С++
19. Августа 2010 :: 10:16
Печать  
Есть большой документ - 25тыс.строк. В каждой строке ТЧ есть строковые реквизиты длиной 200 символов. Работать с таким документов - одно мучение - записывается/читается очень долго.
Можно ли как-то ускорить этот документ при помощи 1С++?
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #1 - 19. Августа 2010 :: 10:22
Печать  
Можно переделать на ТабличноеПоле.. вот только нафига столько строк хранить в документе ? - не ясно, нафига строковое поле в 200 символов - тоже.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #2 - 19. Августа 2010 :: 10:40
Печать  
Eprst писал(а) 19. Августа 2010 :: 10:22:
вот только нафига столько строк хранить в документе ? - не ясно, нафига строковое поле в 200 символов - тоже.

не буду вдаваться в подробности,
надо...

Eprst писал(а) 19. Августа 2010 :: 10:22:
Можно переделать на ТабличноеПоле..

А что даст табличное поле?
Оно на запись и чтение документа не влияет.
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #3 - 19. Августа 2010 :: 10:44
Печать  
Даст то, что форма будет открываться без тормозов вообще.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #4 - 19. Августа 2010 :: 10:46
Печать  
А так, еслм у тебя скуль, можешь проведение такого документа прописать прямиком в таблички, делая инсерт/апдейт и пересчет итогов..
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #5 - 19. Августа 2010 :: 11:01
Печать  
Eprst писал(а) 19. Августа 2010 :: 10:44:
Даст то, что форма будет открываться без тормозов вообще.

дело-то не только в открытии...
запись длительнее

Eprst писал(а) 19. Августа 2010 :: 10:46:
А так, еслм у тебя скуль, можешь проведение такого документа прописать прямиком в таблички, делая инсерт/апдейт и пересчет итогов..


это хорошо!
а можно ссылку на какой-нибудь примерчик?

а то я как-то пробовал записать документ напрямую, но не получилось Печаль
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #6 - 19. Августа 2010 :: 11:12
Печать  
Спроси у Олега Садовникова.. у него есть готовые классы.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #7 - 19. Августа 2010 :: 11:17
Печать  
Eprst писал(а) 19. Августа 2010 :: 11:12:
Спроси у Олега Садовникова.. у него есть готовые классы.


а это кто? где его искать?
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #8 - 19. Августа 2010 :: 11:19
Печать  
Вообще-то мне итоги не нужны, документ не делает никаких движений.
То есть задача упрощается, нужны только быстрая запись и чтение.
На крайняк - просто ускорить запись, а со чтением можно смириться
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #9 - 19. Августа 2010 :: 11:40
Печать  
es3000 писал(а) 19. Августа 2010 :: 11:17:
Eprst писал(а) 19. Августа 2010 :: 11:12:
Спроси у Олега Садовникова.. у него есть готовые классы.


а это кто? где его искать?


нашел его эл.почту
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #10 - 19. Августа 2010 :: 13:22
Печать  
(0)  Опиши задачу полностью.
Ничего быстрее чем update не придумаешь
Но возникают вопросы по графы отбора, общие реквизиты,
ссылки документов,УРБД и.т.д.
и если этого  нет сейчас то не факт что не появиться завтра
и тогда снова это придеться переписывать.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #11 - 19. Августа 2010 :: 16:03
Печать  
Z1 писал(а) 19. Августа 2010 :: 13:22:
(0)  Опиши задачу полностью.

Задача очень простая.

Необходимо реализовать обмен данными с другой организацией.
Она нам присылает список контрагентов, мы его заполняем данными по этим контрагентам.
Решили сделать это документом. В табличную часть документа загружаются эти контрагенты. Затем наш сотрудник заполняет недостающие данные, и нажимает кнопку "выгрузить".

Технически проблем никаких, только вопрос быстродействия.
Внести данные по всем сразу нереально. Поэтому с этим документом работают в течение нескольких дней пока не заполнят до конца. И каждый день (а то и несколько раз в день) приходится открывать\записывать этот документ.

Про UPDATE я понимаю что это лучший способ записи в плане быстродействия. Но в помощи не нашел как это сделать.

Помогите для примера простенький запрос сделать: предположим что в ТЧ есть только одно поле - "Контрагент". Как будет выглядеть запрос, который записывает ТЧ в базу? И как сделать, чтобы стандартная запись табличной части не срабатывала?
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #12 - 19. Августа 2010 :: 17:15
Печать  
Мне кажется, что в данном случае всё лучше сделать справочником (или подчиненным справочником). В таком случае одна запись (которая сейчас является строкой документа) соответствует одному элементу справочника, т.е. проблемы тормозов при записи/обновлении данных вообще не будет.
Всё ИМХО и на основании того, как я понял задачу.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #13 - 20. Августа 2010 :: 04:35
Печать  
(es3000) Урбд есть или нет ?
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Ускорение работы документа с большой ТЗ при помощи 1С++
Ответ #14 - 20. Августа 2010 :: 04:35
Печать  
Обмен выполняется ежемесячно,

По каждому факту обмена надо хранить некоторую информацию: сколько строк загружено, сколько выгружено, дата и время загрузки, и т.д. Распечатка акта по этому обмену.

Короче очевидно что сам факт обмена должен быть оформлен документом. Ссылки в табличных частях - на справочник контрагентов. Но кроме ссылки в ТЧ есть и строковые реквизиты, которые имеют отношение только к конкретному обмену и не нужны в справочнике.

Но это вопрос больше архитектурного плана. Мы (в смысле я со своими коллегами на работе) его уже обсуждали и решили сделать документом.
Сейчас на повестке конкретно стоит чисто технический вопрос: как реализовать работу такого документа с большим количеством строк с приемлемой производительностью. Говорят, что это возможно при помощи 1С++.

Как?
Олег Садовников по электронке не отвечает
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 4
ОтправитьПечать