Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Горячая тема (более 10 ответов) Выборка документов произвольного вида из журнала (число прочтений - 23961 )
orakool
Junior Member
**
Отсутствует



Сообщений: 30
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Выборка документов произвольного вида из журнала
09. Июня 2006 :: 07:34
Печать  
Есть запрос след. вида:
Код
Выбрать все
SELECT
  РезервыТМЦ.IDDoc as [Док $Документ],
  Жур.IDDocDef as Док_вид,
  $РезервыТМЦ.ЗаявкаПокупателя as [ЗаявкаПокупателя $Документ.ЗаявкаПокупателя],
  РезервыТМЦ.DEBKRED as ФлагДвижения,
  $РезервыТМЦ.Количество as Количество
FROM
  $Регистр.РезервыТМЦ as РезервыТМЦ
|NNER JOIN
  _1Sjourn as Жур ON Жур.IDDoc = РезервыТМЦ.IDDoc AND ???????????
WHERE
  $РезервыТМЦ.Склад = :ВыбСклад AND
  $РезервыТМЦ.Номенклатура = :ВыбНоменклатура 



Какое условие нужно написать вместо вопросительных знаков, чтобы выбрать документы движения, начиная с позиции известного в модуле обработки документа ?
Проблема в том, что СформироватьПозициюДокумента(ВыбДокумент, 0) возвращает строку, где время указано в иной системе счисления, чем в поле журнала Date_Time_IDDoc.
  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #1 - 09. Июня 2006 :: 07:42
Печать  
Код
Выбрать все
_1Sjourn as Жур ON Жур.IDDoc = РезервыТМЦ.IDDoc AND Жур.Date_Time_IDDoc >= :ПозицияДока 


умент, 0))
  
Наверх
 
IP записан
 
orakool
Junior Member
**
Отсутствует



Сообщений: 30
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #2 - 09. Июня 2006 :: 07:49
Печать  
И в результате вылезают документы с более ранней датой, чем ВыбДокумент.
Ничего не понимаю...
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #3 - 09. Июня 2006 :: 07:54
Печать  
для того чтобы парсер узнал что переданная строка есть позиция документа и её надо переварить в date_time_iddoc, ему нужно об этом сказать.
для этого существует первый модификатор для типа Строка.
:ПозицияДока~
  

1&&2&&3
Наверх
 
IP записан
 
orakool
Junior Member
**
Отсутствует



Сообщений: 30
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #4 - 09. Июня 2006 :: 07:58
Печать  
Получилось. Спасибо !  Улыбка
  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #5 - 09. Июня 2006 :: 08:05
Печать  
trad писал(а) 09. Июня 2006 :: 07:54:
для того чтобы парсер узнал что переданная строка есть позиция документа и её надо переварить в date_time_iddoc, ему нужно об этом сказать.
для этого существует первый модификатор для типа Строка.
:ПозицияДока~

я же помню, что должно быть так... а вот модификаторы для позиции я в доке плохо переварил - я все пытался непосредственно к доку можификатор прикрутить, а надо было к строковой позиции - неплохо бы в доке примерчик именно про позицию документа
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #6 - 09. Июня 2006 :: 08:18
Печать  
из документации, Приложение А - Правила обозначения модификаторов
Цитата:
Модификаторы определены для следующих типов 1С:
Строка:
0: char() - строка как есть;
1: char(23) - должна быть передана позиция документа, из которой будет сформирована строка в формате date_time_iddoc.
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #7 - 09. Июня 2006 :: 08:20
Печать  
справка:
можно получить позицию и из параметра типа Документ. Для этого есть четвертый модификатор
  

1&&2&&3
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #8 - 09. Июня 2006 :: 08:24
Печать  
тогда уж полностью выдержка:
Цитата:
В тексте запроса модификаторы обозначаются символами "~" или "*" после имени параметра. Количество символов "~" после имени параметра определяет номер модификатора. Если после имени параметра не указан модификатор, то номер модификатора равен 0. Так как типом "Неопределенный" (char(23)) можно выразить любой тип 1С, для этого существует специальный модификатор, обозначаемый символом "*", который определен для любого передаваемого типа 1С. Его номер 20.

Модификаторы определены для следующих типов 1С:

Строка:
0: char() - строка как есть;
1: char(23) - должна быть передана позиция документа, из которой будет сформирована строка в формате date_time_iddoc.

...

Документ
4: Позиция переданного объекта в формате date_time_iddoc.


если честно, если бы я искал модификатор для Позиции документа, то я бы полез в секцию Документ и долго тупил над этой загадочной фразой(что я и делал), не подкрепленной примером, а всего-то добавить надо примерчик:
Цитата:
Передано значение типа Строка (Позиция документа):
:ПозицияДокумента ~ = '20060203A25C4W  3FOXЯЯЯ'
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #9 - 09. Июня 2006 :: 08:24
Печать  
trad писал(а) 09. Июня 2006 :: 08:20:
справка:
можно получить позицию и из параметра типа Документ. Для этого есть четвертый модификатор

что это за модификатор? ваот это ооо-чень интересно!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #10 - 09. Июня 2006 :: 08:27
Печать  
ссылку на доку дать или сам найдешь  Подмигивание
  

1&&2&&3
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #11 - 09. Июня 2006 :: 08:31
Печать  
trad писал(а) 09. Июня 2006 :: 08:20:
справка:
можно получить позицию и из параметра типа Документ. Для этого есть четвертый модификатор


я понял!  Улыбка

:ПозицияДока~~~~
RS.УстановитьТекстовыйПараметр("ПозицияДока",ВыбДокумент);

тем более - надо примерчик, особенно для таких тупых, как я!
Цитата:
Передано значение типа Строка (Позиция документа):
:ПозицияДокумента ~ = '20060203A25C4W  3FOXЯЯЯ'

Передано значение типа Документ:
:ПозицияДокумента ~~~~ = '20060203A25C4W  3FOXЯЯЯ'
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #12 - 09. Июня 2006 :: 08:34
Печать  
а еще есть третий модификатор для некоторых типов
  

1&&2&&3
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #13 - 09. Июня 2006 :: 08:42
Печать  
trad писал(а) 09. Июня 2006 :: 08:34:
а еще есть третий модификатор для некоторых типов


надеюсь имеется ввиду вот это?
Цитата:
Справочник, Документ, Счет

3: Зависит от формата ИБ. SQL: int - идентификатор вида объекта; DBF: char(4) - 36-й идентификатор вида объекта.

или еще что-то? Ужас
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #14 - 09. Июня 2006 :: 08:48
Печать  
пока все
  

1&&2&&3
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #15 - 09. Июня 2006 :: 08:51
Печать  
Я сильно заблуждаюсь?

Цитата:
УстановитьТекстовыйПараметр("ВидСправочника",ЭлементСправочника)
:ВидСправочника~~~ = $ВидСправочника36 (по идее тут должно быть $ВидСправочника, чтобы получился int для SQL)

УстановитьТекстовыйПараметр("ВидДокумента",Документ)
:ВидДокумента~~~ = $ВидДокумента

УстановитьТекстовыйПараметр("Счет",Счет)
:Счет~~~ = вот тут не понятно (видимо тут принадлежность к ПлануСчетов, тогда второй альтернативы точно не знаю  Озадачен)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #16 - 09. Июня 2006 :: 09:17
Печать  
что то я не совсем понял вопроса.
короче.
Если база SQL то ~~~ даст int, так же как $ВидДокумента
Если база DBF то ~~~ даст char(4), так же как $ВидДокумента36
  

1&&2&&3
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Выборка документов произвольного вида из журна
Ответ #17 - 09. Июня 2006 :: 09:31
Печать  
1) Для ВидаДокумента все очень даже понятно!

2) Для ВидаСправочника - тоже понятно, это альтернатива отсутствующему ныне виртуальному идентификатору $ВидСправочника (для SQL, так как для dbf будет $ВидСправочника36)

3) Для Счета - это будет идентификатор ПланаСчетов, тут уж альтернативы в виде виртуальных идентификаторов просто нет

Если я прав в вышеизложенном, то Всю ветку можно в FAQ или в Доку в качестве примера!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать