Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Горячая тема (более 10 ответов) Перенос ТА в оперативном учете (число прочтений - 4892 )
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Перенос ТА в оперативном учете
07. Марта 2008 :: 07:41
Печать  
Кто-нить заморачивался переносом ТА прямыми запросами?
Мне вот пришлось решать проблему резки базы прямыми запросами (но я делал это через ОЛЕ, которая не работает в монопольном режиме), но в одной обработке этого не удалось сделать. А ведь после обрезки надо было дважды (на дату обрезки и затем - обратно) переносить ТА.
Да и щас юзвери не довольны, что ТА переносится почти час, а они в это время курят бамбук.
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #1 - 07. Марта 2008 :: 07:42
Печать  
Если база формата SQL
тогда тебе вот сюда http://dev.citykirov.ru/

поиск на странице по ключевому слову "УстановкаТА"
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #2 - 07. Марта 2008 :: 08:46
Печать  
sml писал(а) 07. Марта 2008 :: 07:41:
резки базы прямыми запросами (но я делал это через ОЛЕ, которая не работает в монопольном режиме)


Можно пояснить зачем ОЛЕ?  Ужас
Зачем переносить ТА если режешь напрямую?  Озадачен
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #3 - 07. Марта 2008 :: 08:48
Печать  
(0) см ветку
http://www.1cpp.ru/forum/YaBB.pl?num=1200398366/
но мое ихмо надо заниматься оптимизацией базы а не subj
  
Наверх
 
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Перенос ТА в оперативном учете
Ответ #4 - 07. Марта 2008 :: 10:44
Печать  
Цитата:
sml писал(а) 07. Марта 2008 :: 07:41:
резки базы прямыми запросами (но я делал это через ОЛЕ, которая не работает в монопольном режиме)


Можно пояснить зачем ОЛЕ?  Ужас
Зачем переносить ТА если режешь напрямую?  Озадачен


1. Эт я пока не юзал 1С++, изощрялся через ОЛЕ.
2. Там такая метода:
- создаются документы ввода начальных остатков по регистрам учета на дату ТА, но остатки в них считаются по дате обрезки.
- проводятся эти документы ввода остатков.
- удаляются все документы, движения и история периодики до даты обрезки. (прямыми запросами естественно)
- для документов ввода остатков меняется дата на дату обрезки (прямым запросом)
- завершение обработки по обрезке.
- старт скриптом по переносу ТА на дату обрезки, пересчету итогов в конфигураторе и удалению помеченных объедков, и наконец переносу ТА на рабочую дату
  
Наверх
 
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Перенос ТА в оперативном учете
Ответ #5 - 07. Марта 2008 :: 11:01
Печать  
Z1 писал(а) 07. Марта 2008 :: 08:48:

огромное спасибо. Надеюсь, что избавлен изобретать лисапед.

Z1 писал(а) 07. Марта 2008 :: 08:48:
но мое ихмо надо заниматься оптимизацией базы а не subj

полностью согласен и намерен в ближайшее будущее этим заняться
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #6 - 07. Марта 2008 :: 12:59
Печать  
Так и непонятно зачем переносить ТА если движения удаляются напрямую
И зачем ОЛЕ...
Кстати, не забудь провести ТиИ
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Перенос ТА в оперативном учете
Ответ #7 - 07. Марта 2008 :: 13:31
Печать  
Цитата:
Так и непонятно зачем переносить ТА если движения удаляются напрямую

потому что документы ввода остатков проводятся на ТА (так быстрее, поскольку нет временного расчета итогов при проведении), а должны быть на дату обрезки.
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #8 - 07. Марта 2008 :: 22:41
Печать  
Документы ввода остатков обычно просто кладут те движения которые указаны в ТЧ и все... странно все это...
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Перенос ТА в оперативном учете
Ответ #9 - 08. Марта 2008 :: 10:17
Печать  
Имхо - изврат, лучше оптимизировать проведение.
  
Наверх
 
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Перенос ТА в оперативном учете
Ответ #10 - 26. Марта 2008 :: 12:54
Печать  
Цитата:
Документы ввода остатков обычно просто кладут те движения которые указаны в ТЧ и все... странно все это...

не просто кладут, а еще и прописывают итоги во все следующие открытые периоды. Например, если режем в мае месяце базу с датой обрезки = 01.01.2008, то при проведении документов ввода остатков на 01.01.2008 регистры итогов будут перезаписываться на периоды: январь, февраль, март, апрель и май. А при проведении документов на дату ТА - только май. Почуствуйте разницу!!!


Кстати, потестил предлагаемую обработку и нашел ее хуже 1Совской по производительности и оптимальности (во всяком случае при переносе ТА вперед) обработка зачем-то пересчитывает итоги за предыдущий период (1Совская же только удаляет записи предыдущего периода, где нулевыми являются все ресурсы регистра, а затем копирует данные предыдущего периода для следующего без всяких временных таблиц вложенным запросом) Еще заметил, что удаление записей за расчетный период и записей с нулевыми ресурсами предыдущего периода выполняются в одном сеансе (профайлер показывает 2 блока Delete через ; ).
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #11 - 26. Марта 2008 :: 15:10
Печать  
sml писал(а) 26. Марта 2008 :: 12:54:
заметил, что удаление записей за расчетный период и записей с нулевыми ресурсами предыдущего периода выполняются в одном сеансе (профайлер показывает 2 блока Delete через ; ).

А подробнее.
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #12 - 26. Марта 2008 :: 21:56
Печать  
sml писал(а) 26. Марта 2008 :: 12:54:
не просто кладут, а еще и прописывают итоги во все следующие открытые периоды.


Мдя... это несоизмеримо быстрее чем ТиИ  Смех

Принимая во внимание то что у тебя период открывается целый час (!) можно сделать вывод:
1. Либо регистры тупо не закрыты и раздуты
2. Либо база просто огромна

Поэтому не парься с переносом ТА для ввода остатков
Ты меня заинтриговал просто написав "поскольку нет временного расчета итогов при проведении"... согласись, несколько другой смысл Улыбка
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Перенос ТА в оперативном учете
Ответ #13 - 27. Марта 2008 :: 06:01
Печать  
spock писал(а) 26. Марта 2008 :: 15:10:
sml писал(а) 26. Марта 2008 :: 12:54:
заметил, что удаление записей за расчетный период и записей с нулевыми ресурсами предыдущего периода выполняются в одном сеансе (профайлер показывает 2 блока Delete через ; ).

А подробнее.


На одном и том же процессе SQL сервера под пользователем 1С профайлер показывает:
Код
Выбрать все
Delete from rgXXX where period = {d 2008-04-01}; Delete from rgXXX where period = {d 2008-03-01} and spxx1 = 0 and spxx2 = 0 and spxx3 = 0 



Может быть это скуль разбивает на 2 запроса, а может 1С выдает 2 запроса в блоке, а скуль их последовательно отрабатывает - это не ясно. Но 1Сный перенос ТА вперед оптимальнее и быстрее.
  
Наверх
 
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Перенос ТА в оперативном учете
Ответ #14 - 27. Марта 2008 :: 06:08
Печать  
Цитата:
2. Либо база просто огромна


Так оно и есть - база 36Гигов (период с января 2007г), а в ней лишь 3 основных регистра
Резал ее в июле 2007. До обрезки - 57Гиг (с октября 2004), после обрезки - 16 Гиг (с января по июль 2007)
Кстати, после обрезки ТА переносилась 20-30мин. А щас уже около часа.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Перенос ТА в оперативном учете
Ответ #15 - 27. Марта 2008 :: 06:11
Печать  
sml писал(а) 27. Марта 2008 :: 06:01:
Может быть это скуль разбивает на 2 запроса, а может 1С выдает 2 запроса в блоке, а скуль их последовательно отрабатывает - это не ясно.

Как это не ясно? Все ясно. 1С отдает серверу батч с несколькими командами, а сервер их выполняет последовательно. И если до выполнения этого батча не была открыта транзакция, то каждая команда выполняется в своей транзакции.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать