|
Вопрос про восстановление последовательности... | ☑ | ||
---|---|---|---|---|
0
mikecool
24.08.11
✎
15:43
|
Собираюсь рисовать свою обработку по восстановлению последовательностей.
посмотрел типовую про восстановлению посл-ти для усн возник вопрос: раз для восстановления происходит выборка всех документов последовательности с границы последовательности, то нафига тогда хранятся данные о документах в самой последовательности? может их очищать дабы не плодить лишние данные в базе? или я чего не досмотрел? |
|||
1
Axel2009
24.08.11
✎
15:44
|
(0) а границу двигать будешь по каким данным? каждый раз анализировать всю БД?
|
|||
2
mikecool
24.08.11
✎
15:45
|
(1) да также, как и в усн
Результат = ОбработатьДвижения(ТаблицаДокументов,ПоследовательностьДляРегистрации.СоздатьНаборЗаписей()); Если Результат.Ошибка тогда ОбщегоНазначения.СообщитьОбОшибке("Обнаружена ошибка при проведении документа """+Результат.ДокументОшибки+""". | Граница последовательности налогового учета по УСН установлена на "+Строка(ПериодГраницы)+"("+Строка(ДокументГраницы)+")",,"Восстановление последовательности по налоговому учету УСН"); ПоследовательностьДляРегистрации.УстановитьГраницу(Новый МоментВремени(ПериодГраницы,ДокументГраницы),Новый Структура("Организация",Организация)); Иначе Состояние("Восстановление последовательности документов по налоговому учету УСН успешно завершено."); ПоследовательностьДляРегистрации.УстановитьГраницу(Новый МоментВремени(ПериодГраницы,ДокументГраницы),Новый Структура("Организация",Организация)); КонецЕсли; провелся док без ошибок - установил на него границу |
|||
3
Axel2009
24.08.11
✎
15:45
|
(1)+ этих данных порядка на 2 меньше, чем данных в регистрах и самом документе
|
|||
4
mikecool
24.08.11
✎
15:46
|
(3) ясен пень, но 180 тыщ записей - нафига их хранить?
может проще чистить |
|||
5
Axel2009
24.08.11
✎
15:47
|
(2) рисовал восстановление последовательности по каждой номенклатуре/складу. в последовательности хранятся только нужные ссылки на документы по данному набору измерений. соответственно считывал следующую запись и устанавливал границу.
|
|||
6
mikecool
24.08.11
✎
15:47
|
(5) нужные - те, которые нужно провести?
|
|||
7
Axel2009
24.08.11
✎
15:48
|
(6) нужные - те которые участвуют в последовательности для данного конкретного измерения
|
|||
8
mikecool
24.08.11
✎
15:48
|
(7) хорошо, это так
а что происходит с записями последовательности при восстановлении? они удаляются? |
|||
9
mikecool
24.08.11
✎
15:49
|
+8 или хранятся на случай, если она откатится?
|
|||
10
Axel2009
24.08.11
✎
15:49
|
(8) нет, все записи хранятся. ведь границу могут подвинуть назад при проведении задним числом.
|
|||
11
Axel2009
24.08.11
✎
15:50
|
(10)+а если записей не будет, то и граница не сдвинется назад. восстанавливать будет нечего
|
|||
12
mikecool
24.08.11
✎
15:51
|
(10) вот и печаль в моих глазах
разрабы типовых почему то не пользуются этими данными, что меня и смущает (11) оО, разве? надо проверить будет |
|||
13
Axel2009
24.08.11
✎
15:54
|
(12) точнее так. у тебя 3 документа
поступление перемещение реализация. последовательность восстановлена удалили записи про поступление и перемещение. теперь вдруг заходим в поступление и меняем количество +1. запись в последовательности появится и граница установится. однако записи по перемещению нету, откуда будет взята информация, что нужно провести перемещение? в последовательности только поступление и реализация. |
|||
14
mikecool
24.08.11
✎
15:56
|
(13) да как откуда? запросом выбираются все документы последовательности от даты границы и вперед
так разрабы предлагают |
|||
15
Hipernate
24.08.11
✎
15:56
|
Наднях сделал регламентное задание и каждую ночь восстанавливается основная последовательность документов БП2.0.. каждое утро актуальные данные, прощай неверные курсовые разницы, и незачтенные авансы
|
|||
16
Axel2009
24.08.11
✎
15:57
|
(14) через объединить все?
|
|||
17
mikecool
24.08.11
✎
15:58
|
(16) ага
|
|||
18
mikecool
24.08.11
✎
15:58
|
типа так
|
|||
19
Axel2009
24.08.11
✎
15:59
|
(17) для меня это равнозначно в запросе сделать выборку
номенклатура.ссылка как номенклатура.. |
|||
20
Axel2009
24.08.11
✎
16:00
|
(18) здрасьте тормоза, до свидания индексы? ну разрабы тоже не идеальны.
|
|||
21
mikecool
24.08.11
✎
16:00
|
(20) а че с индексами не так?
|
|||
22
Axel2009
24.08.11
✎
16:01
|
(21) ну индекс по полям дата и организация быть не может в рамках 1с. а в последовательности индекс стоит составной из период+измерения все
|
|||
23
mikecool
24.08.11
✎
16:04
|
(22) имхо, при нормальном восстановлении последовательность не должна особо скатываться - кажется мне - месяца на 2 максимум назад
так что выборкой по индексу тут можно пренебречь ибо производиться будет разово при старте задания |
|||
24
Axel2009
24.08.11
✎
16:09
|
(22) хотя неправильно. если поставить индекс с доп упорядочиванием, создастся индекс реквизит+дата+ссылка.
только по организации такого нигде не видел. в целом да, если тебе нужна последовательность только по организации, тогда можешь не писать записи в таблицу последовательности, только в границу последовательности. скорее всего так сделано в силу того, чтобы не блочить таблицу последовательности в автоматических блокировках при записи. |
|||
25
mikecool
24.08.11
✎
16:15
|
если я правильно понял - в случае использования метода из (18) можно записи последовательностей удалять нафик?
|
|||
26
Axel2009
24.08.11
✎
16:15
|
(24)+
возможно это было сделано, чтобы не заморачиваться с регистрацией в последовательности при добавлении новых документов в последовательность.. |
|||
27
Axel2009
24.08.11
✎
16:17
|
(25) их можно изначально не хранить и не записывать..
|
|||
28
mikecool
24.08.11
✎
16:24
|
(27) а что влияет в настройках на это?
|
|||
29
mikecool
24.08.11
✎
16:25
|
+28 в пофигураторе не нашел ничего (
|
|||
30
Axel2009
24.08.11
✎
16:25
|
(28) мм не понял вопроса..
|
|||
31
mikecool
24.08.11
✎
16:26
|
(30) "их можно изначально не хранить и не записывать.." каким образом? система же их автоматом пишет или нет?
|
|||
32
Axel2009
24.08.11
✎
16:29
|
(31) запись в них такая же как и движения в регистре..
создатьнаборзаписей() новая строка записать() |
|||
33
Axel2009
24.08.11
✎
16:30
|
(32)+ в конфигураторе скорее всего в подписках есть. глобальный поиск по имени последовательности запускал?
|
|||
34
mikecool
24.08.11
✎
16:31
|
(33) не, еще нет, спс за наводку ))
|
|||
35
mikecool
24.08.11
✎
16:31
|
блин, отбор по Периоду нельзя сделать ))
придется запрос кружить с регистратором |
|||
36
Axel2009
24.08.11
✎
16:36
|
(35) где отбор по периоду??
|
|||
37
mikecool
24.08.11
✎
16:40
|
(36) в наборе записей последовательности
доступен только регистратор |
|||
38
Axel2009
24.08.11
✎
16:49
|
(37) в запросе?
|
|||
39
mikecool
24.08.11
✎
17:03
|
(38) не, в доступных полях для отбора
|
|||
40
Axel2009
24.08.11
✎
17:05
|
(39) для какого метода? там я так понял только измерение можно указать. а не регистратор или период.. не?
|
|||
41
mikecool
24.08.11
✎
17:08
|
да хотел нахрапом
Набор = Последовательности[ЭлементПоследовательность.Значение].СоздатьНаборЗаписей(); Набор.Отбор.Период.ВидСравнения = ВидСравнения.МеньшеИлиРавно; Набор.Отбор.Период.Установить(ПоДату, Истина); а в отладке в отборе есть только поле Регистратор |
|||
42
Axel2009
24.08.11
✎
17:17
|
(41) а в наборе записей =) ну дак он же подчинен регистратору =))) РН так не напишешь ведь тоже
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |