Имя: Пароль:
1C
1C 7.7
v7: Движение документа
, ,
0 DeMi4
 
22.12.11
09:07
Движение документа происходит на его дату, а можно ли задать определенную дату движения документа. А именно в документе есть строки с указанными датами вот на эти бы даты сделать движение.
1 Ёпрст
 
22.12.11
09:09
неа.

Разве что руками прописать в табличку движений.
2 andrewks
 
22.12.11
09:09
нет
3 povar
 
22.12.11
09:09
штатно нет
4 DeMi4
 
22.12.11
09:13
Хорошо, а тогда как задать условие правильно для запроса.
В регистр пишется дата совершенного звонка как выбрать за определенный период по ней.
В 8ке есть МЕЖДУ а в 7 как можно поступить.
5 andrewks
 
22.12.11
09:15
Условие((ДатаЗвонка<=Дата1)И(ДатаЗвонка>=Дата2))
6 Ёпрст
 
22.12.11
09:15
|Условие ((РеквизитСДатой>=НачПозиция)И(РеквизитСДато<=КонПозиция));
7 andrewks
 
22.12.11
09:16
+(5)
* Условие((ДатаЗвонка>=Дата1)И(ДатаЗвонка<=Дата2)) , ессесно :)
8 DeMi4
 
22.12.11
09:24
В запросе приосходит выборка за период а можно выбрать все записи в этом регистре
Я так полагая просто убрать Период с ДатаНач по ДатаКон и все или он у меня тогда ни чего не выиберет
9 andrewks
 
22.12.11
09:27
убирай. выберет
10 Ёпрст
 
22.12.11
09:32
(8) можно, увеличивай период с начала всех времён до ТА

(9) наивный какой - без периода будет запрос на ТА
11 DeMi4
 
22.12.11
09:39
Спасибо сделал так правда когда будет много данных будет наверняка тормозить
ДатаНач=Дата("01.01.10");
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ДатаНач;
12 andrewks
 
22.12.11
09:40
(10) 2. блин, точно. запамятовал
13 andrewks
 
22.12.11
09:42
+(12) вроде, если в запросе по докам не указать - тогда так, как я сказал
14 Ёпрст
 
22.12.11
09:48
(13) нет, если есть оперучет в базе - на датуТА, при его отсутствии - на РабочаяДата().
Без периода никуда.
15 Ёпрст
 
22.12.11
09:48
+14 в СП  - прямое указание на это, на практике - аналогично.
16 andrewks
 
22.12.11
09:50
(14) щас специально проверил - в запросе по докам выбирает за весь период
17 Ёпрст
 
22.12.11
09:50
(16) врешь ведь :)
18 povar
 
22.12.11
09:53
(14) по докам будет за всю историю
19 andrewks
 
22.12.11
09:55
(17) не-а :) хошь - сам проверь
20 Ёпрст
 
22.12.11
09:56
(19) проверил - не работает.
27 релиз
21 andrewks
 
22.12.11
09:56
(20) скуль или дбв?
22 Guk
 
22.12.11
09:58
проверил. не работает. скуль, 27 релиз...
23 andrewks
 
22.12.11
09:58
на 27-м на дбф проверяю вот таким кодом:

//*******************************************
Процедура Сформировать()

   Запрос = СоздатьОбъект("Запрос");
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Обрабатывать НеПомеченныеНаУдаление;
   |Фирма =Документ.ВозвратПоставщику.Фирма;
   |Контрагент = Документ.ВозвратПоставщику.Контрагент;
   |Склад = Документ.ВозвратПоставщику.Склад;
   |Группировка Документ;";

   
   // Если ошибка в запросе, то выход из процедуры  
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;
   
   Пока Запрос.Группировка()=1 Цикл
       Док=Запрос.Документ;
       Сообщить(Док);
   КонецЦикла;
       
КонецПроцедуры


работает.

скуля, извините, нет под рукой, проверить не могу
24 Ёпрст
 
22.12.11
09:59
пилять, а на другой базе заработало, странно.
25 Guk
 
22.12.11
10:00
делаем вывод: лучше так не писать ;)...
26 PZh
 
22.12.11
10:02
Вероятно зависит от настройки сеттингов, как с округлением
27 povar
 
22.12.11
10:14
делаем вывод, ничего обломного в указании периода нет, и лучше его указывать всегда
28 medved_kot
 
22.12.11
11:07
Если нужно выбрать например реквизит типа дата (не датадок) из всех документов заданного типа и наложить условие, чтобы эта дата входила в заданный период, то перебираться будут все документы в базе (это видно в дбф версии в строке состояния, в скл период не показывает). При этом в скл работает быстрее.
Если задать "Период с ВыбНачПериода по ВыбКонПериода", то выбор производится только документов с датадок в этом интервале.
29 PZh
 
22.12.11
11:43
(27) Вообще-то нет.
Если запрос по остаткам на ТА делается, то без указания периода запрос будет чисто по таблице итогов, а с указанием периода в 1 день = дате ТА - будет бессмысленное лапанье таблицы движений, что скажется на скорости.

Т.е. указание периода по регистру бывает вредно.
А по журналу документов - конечно всегда надо.
30 medved_kot
 
22.12.11
11:57
(29) "А по журналу документов - конечно всегда надо."
Вот код:

ТекстЗапроса = "
   |ОбрабатыватьДокументы Все;
   |Обрабатывать НеПомеченныеНаУдаление;
   |ДокПрием    = Документ.ПриемТовара.ТекущийДокумент;
   |ДатаНачРем    = Документ.ПриемТовара.ДатаПоступленияНаРемонт;
   |Группировка ДокПрием;
   |Условие ((ДатаНачРем >= ВыбНачПериода) и (ДатаНачРем <= ВыбКонПериода));";

В скл версии результат выдает быстро, в дбф тормозит.
Документы с 2008 года, порядка 100-150 док./день.
31 PZh
 
22.12.11
12:32
(30) Это к чему? ДБФ медленнее по определению, но какое отношение это к теме имеет?
Основная теорема систематики: Новые системы плодят новые проблемы.