Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) СформироватьПозициюДокумента (число прочтений - 4184 )
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
СформироватьПозициюДокумента
30. Июля 2008 :: 09:57
Печать  
Если использовать в качестве начальной даты СформироватьПозициюДокумента - то в запросе она игнорируется и выводятся все документы с самого первого. Каким каком можно получить документы после текущего?

мент(), 1))
РС.УстановитьТекстовыйПараметр("Дата02",ТекущаяДата());


  |SELECT
  | Док.IdDoc as [Док $Документ."+ВидДок+"]
  |FROM
  |        _1SJourn as Жур (NOLOCK),
  |        $Документ."+ВидДок+" as Док (NOLOCK)
  |WHERE
  |   (Жур.IDDoc = Док.IDDoc)
  |   AND (Жур.IDDocDef = $ВидДокумента."+ВидДок+")
  |   AND (Жур.Date_Time_IDDoc BETWEEN :Дата01 AND :Дата02~)
  ...


  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: СформироватьПозициюДокумента
Ответ #1 - 30. Июля 2008 :: 10:45
Печать  
А оттранслированый запрос покажи...
  
Наверх
ICQ  
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: СформироватьПозициюДокумента
Ответ #2 - 30. Июля 2008 :: 10:54
Печать  
SELECT
Ж.IdDoc as  [Док $Документ.Возврат]
FROM
       _1SJourn as Ж (NOLOCK),
       dh265 as Д (NOLOCK)
WHERE
   (Ж.IDDoc = Д.IDDoc)
   AND (Ж.IDDocDef = 265)
   AND (Ж.Date_Time_IDDoc BETWEEN '#20080101 242600000    305325  0' AND '20080730Z')
   AND (Ж.IsMark  = 0) AND (Ж.Closed & 1 =1)
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: СформироватьПозициюДокумента
Ответ #3 - 30. Июля 2008 :: 10:58
Печать  
RuporAbsurda писал(а) 30. Июля 2008 :: 10:54:
  AND (Ж.Date_Time_IDDoc BETWEEN '#20080101 242600000    305325  0' AND '20080730Z')

Заметил?
  
Наверх
ICQ  
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: СформироватьПозициюДокумента
Ответ #4 - 30. Июля 2008 :: 11:05
Печать  
Конечно, давно уже заметил. Вопрос вот только остался Каким каком можно получить документы после текущего?
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: СформироватьПозициюДокумента
Ответ #5 - 30. Июля 2008 :: 11:15
Печать  
Просто убирай решетку (#) в начале, и все...
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СформироватьПозициюДокумента
Ответ #6 - 30. Июля 2008 :: 11:19
Печать  
Вообще-то правильно будет так:
Код
Выбрать все
МД.ПолучитьДатуВремяИдДок(СформироватьПозициюДокумента(ТекущийДоку
мент(), 1)); 


МД - объект класса MetaDataWork или свойство "мд/md" класса ODBCRecordSet

или 4-й модификатор:
Цитата:
Документ

4: Позиция переданного объекта в формате date_time_iddoc.
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: СформироватьПозициюДокумента
Ответ #7 - 30. Июля 2008 :: 11:23
Печать  
А если # убрать это черевато глюками?
Во втором случае строка другая
2008010140FRCW  6JL9  0
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СформироватьПозициюДокумента
Ответ #8 - 30. Июля 2008 :: 11:40
Печать  
А ты сравни строку, которая получится от:
Код
Выбрать все
МД.ПолучитьДатуВремяИдДок(СформироватьПозициюДокумента(ТекущийДокумент(), 1)); 


и от:
Код
Выбрать все
СформироватьПозициюДокумента(ТекущийДокумент(), 1); 


Сам ответишь на свой вопрос.  Подмигивание
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: СформироватьПозициюДокумента
Ответ #9 - 30. Июля 2008 :: 11:55
Печать  
Самое смешное, что результат получается одинаковый.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СформироватьПозициюДокумента
Ответ #10 - 30. Июля 2008 :: 12:02
Печать  
RuporAbsurda писал(а) 30. Июля 2008 :: 11:55:
Самое смешное, что результат получается одинаковый.

А как тогда понимать вот это:
RuporAbsurda писал(а) 30. Июля 2008 :: 11:23:
А если # убрать это черевато глюками?
Во втором случае строка другая
2008010140FRCW  6JL9  0

Не обломался и посмотрел у себя ещё раз:
Цитата:
Стандартно: #20080102 433000000      7103  0
МД: 2008010275SOXS   5HB  0
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: СформироватьПозициюДокумента
Ответ #11 - 30. Июля 2008 :: 12:15
Печать  
Нет строки разные не спорю, я имею ввиду выборка получается та же при разных строках. Согласен, что это часный случай и может сглючить, правильно конечно через md.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: СформироватьПозициюДокумента
Ответ #12 - 30. Июля 2008 :: 12:16
Печать  
Просто повезло  Подмигивание
  
Наверх
 
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: СформироватьПозициюДокумента
Ответ #13 - 30. Июля 2008 :: 12:17
Печать  
Спасибо.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать