Имя: Пароль:
1C
1С v8
Отобрать все документы по регистру
,
0 Extrim88
 
27.11.12
15:55
Вопрос: как отобрать все документы, сделавшие движения по определенному регистру за определенный интервал времени?
1 shuhard
 
27.11.12
15:56
(0) ответ: запросом
2 lxndr
 
27.11.12
15:56
(0) регистратора тяни!
3 samozvanec
 
27.11.12
15:56
(1) я бы даже сказал определенным запросом
4 Besometr
 
27.11.12
15:59
определенным запросом вытащить регистратора - это беспроигрышный вариант.
5 Extrim88
 
27.11.12
16:01
что за определенный запрос?
6 Besometr
 
27.11.12
16:01
ВЫБРАТЬ
   Продажи.Регистратор
ИЗ
   РегистрНакопления.Продажи КАК Продажи
ГДЕ
   Продажи.Период МЕЖДУ &ПериодС И &ПериодПо
7 Maxus43
 
27.11.12
16:02
(6) не очень, но сойдёт
8 Rovan
 
гуру
27.11.12
16:02
(+6) ВЫБРАТЬ РАЗЛИЧНЫЕ
9 Maxus43
 
27.11.12
16:03
ВЫБРАТЬ
   ПродажиОбороты.Регистратор
ИЗ
   РегистрНакопления.Продажи.Обороты(&Нач, &Кон, Регистратор, ) КАК ПродажиОбороты
10 Besometr
 
27.11.12
16:03
(7) Варианты в студию :)
11 shuhard
 
27.11.12
16:04
(9) и тут ТС из-за угла с регистром сведений =)
12 Besometr
 
27.11.12
16:06
(9) Каюсь
13 mikecool
 
27.11.12
16:07
(12) слушаю, сын мой...
14 Нуф-Нуф
 
27.11.12
16:08
чем виртуальная таблица лучше физической из (6)?
15 Maxus43
 
27.11.12
16:08
(14) ты сам знаешь
16 Serg_1960
 
27.11.12
16:08
Телепатам Мисты посвящается: у ТС независимый регистр сведений - отсюда и все его проблемы :))
17 shuhard
 
27.11.12
16:09
(14) если продано 1000 товарных позиций одним документом, то в 1000 раз медленнее
18 Maxus43
 
27.11.12
16:09
(16) это да, трабл)
19 shuhard
 
27.11.12
16:09
(16) да лан см. (11)
20 Нуф-Нуф
 
27.11.12
16:09
(15) нам нужен только регистратор. нафига виртуальная таблица?
21 Maxus43
 
27.11.12
16:10
(20) ограничение дат, период - регистратор, никаких РАЗЛИЧНЫЕ не надо, всё и так свёрнуто и т.д.
22 mikecool
 
27.11.12
16:10
(20) +1
23 Maxus43
 
27.11.12
16:10
(19) у тебя подчинённый регистратору РС был, я протелепатировал
24 mikecool
 
27.11.12
16:11
(21) прямо по регистратору и свернуто? )
25 Нуф-Нуф
 
27.11.12
16:11
(21) а ты думаешь у 1с уже все лежит в свернутом виде? один фиг 1с сначала получит обороты а потом выберет различные
26 Нуф-Нуф
 
27.11.12
16:13
(17) танунах?
27 Maxus43
 
27.11.12
16:13
(24)(25) Минимум чем лучше - ограничение дат сразу.
Когда тянем из вирт таблицы оборотов - если измерений несколько а мы тянем одно - в результате будет уже свёрнутый результат, без доп группировок. с регистратором ИМХО так же. Надо смотреть план запроса что сказать точно, но (9) православней имхо
28 Extrim88
 
27.11.12
16:14
С запросом все понятно.Но это собственно только часть задачи.Сама задача:отобрать все документы, которые делают движения по регистру за определенный промежуток времени, далее отображается список этих документов и необходимо перепровести эти документы, наподобие механизма группового перепроведения только для данного списка
29 mikecool
 
27.11.12
16:15
(28) классная задача, можно выполнять
30 shuhard
 
27.11.12
16:18
(28) досвидос
31 Нуф-Нуф
 
27.11.12
16:19
абассака
32 Maxus43
 
27.11.12
16:21
НачатьТранзакцию();
ПроводитьПорциямиПо = 500;
   Счетчик = 0;
   ИтерацияНомер = 0;
   ЕстьОшибки = Ложь;
   Для Каждого Док Из СписокСсылокНаДоки Цикл
       Счетчик = Счетчик + 1;
       Состояние("Проведение " + Строка(Счетчик));
       ОбработкаПрерыванияПользователя();
       
       Попытка
           ДокОбъект = Док.Документ.ПолучитьОбъект();
           ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
       Исключение
           ЕстьОшибки = Истина;
           Сообщить(ОписаниеОшибки());
       КонецПопытки;
       
       Если ЕстьОшибки Тогда
           ОтменитьТранзакцию();
           Прервать;
       КонецЕсли;    
       
       Если Счетчик = ПроводитьПорциямиПо Тогда
           ЗафиксироватьТранзакцию();
           Счетчик = 0;
           ИтерацияНомер = ИтерацияНомер + 1;
           Сообщить("Итерация " + Строка(ИтерацияНомер) + " завершена");
           НачатьТранзакцию();
       КонецЕсли;
       
   КонецЦикла;
   
   Если ТранзакцияАктивна() Тогда
       ЗафиксироватьТранзакцию();
   КонецЕсли;

(с) дарю)
33 Extrim88
 
27.11.12
16:21
Кто что может подсказать?
34 Serg_1960
 
27.11.12
16:21
(28) В поиск - классика жанра - не первый раз уже спрашивали и не один раз уже решали...

PS: тут всего только за один запрос по регистраторам могут запинать до смерти - я не садомозахист, не буду предлагать/выкладывать решение :))
35 Balonbl4
 
27.11.12
16:36
Я считаю,что по запросу (9) кошернее (6)
36 Maxus43
 
27.11.12
16:39
(35) да им лишь бы поспорить
37 Serg_1960
 
27.11.12
16:43
(36) Есть об чём поспорить. Например: собрав регистраторы даже по порядку сортирунув их - по моменту времени (что, кстати забыли сделать) - всё равно неоперативное проведение получите и как результат - документы могут сделать уже "не те" движения, что были ранее.
38 samozvanec
 
27.11.12
16:45
(37) предлагаю копировать движения, очищать и вставлять обратно
39 samozvanec
 
27.11.12
16:45
(38) чорт еще ж не пятница
40 Maxus43
 
27.11.12
16:48
(37) тут это, как оптимальней собрать, нафиг сортировку и т.д.)
41 Serg_1960
 
27.11.12
16:48
(38) НеЗачёт :) А если, например,- РАУЗ, а регистр - учет затрат --> "привет" расчету себестоимости :(

Я бы посоветовал ТС поискать на форуме "проведение документов только по одному регистру".
42 samozvanec
 
27.11.12
17:06
(40) вобще сортировку по сумме дока
(41) а если рауз - то сортировку по разности даты дока и суммы дока 8)
Программист всегда исправляет последнюю ошибку.