Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Получение документа из регистра. (число прочтений - 1971 )
VitGun
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 06. Июня 2006
Получение документа из регистра.
22. Июля 2008 :: 06:05
Печать  
Типовая ТиС 9.2. Делаю запрос к регистру "Касса" (остатковый). Нужно получить документ из этого регистра. Галка "быстрая обрабока движений" не стоит. Делал так:

Код
Выбрать все
	|SELECT
	| $Рег.Фирма as [Фирма $Справочник.Фирмы],
	| $Рег.Касса as [Касса $Справочник.Кассы],
	| $Рег.ФормаОплаты as [ФормаОплаты $Перечисление.ФормыОплаты],
	| $Рег.СуммаРуб as СуммаРуб,
	|  Рег.IDDoc as [Док $Документ],
		    |  Жур.IDDocDef as Док_вид
	| FROM
	| $РегистрИтоги.Касса as Рег
	| INNER JOIN
		    |  1Sjourn as Жур ON Жур.IDDoc = Рег.IDDoc
	| WHERE
	|  (Рег.period = :ПредМесяц~~) AND
	|   ($Рег.Фирма=:ВыбФирма) AND ($Рег.Касса = :ВыбКасса)";

 



ругается FAILED! ICommandText::Execute(): SQL: Column 'IDDOC' is not found.

если РегистрИтоги.Касса заменить на Регистр.Касса, то все нормально, но тогда я не могу получить остатки по кассе на ТА, т.е что 22.07 выбираю, что 21.07 он всеравно выводит мне все остатки. Подскажите как решить вопрос?

Забыл добавить. База DBF.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Получение документа из регистра.
Ответ #1 - 22. Июля 2008 :: 06:45
Печать  
Рег.IDDOC - это поле таблицы движений просто $Регистр
и добавь отбор по журналу документов по периоду. Поля Period в таблице движений нету
  
Наверх
IP записан
 
VitGun
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 19
Зарегистрирован: 06. Июня 2006
Re: Получение документа из регистра.
Ответ #2 - 22. Июля 2008 :: 07:01
Печать  
Я тут еще по форуму порылся и доку еще раз скурил....в итоге включил галку "быстрая обработка движений" и сделал вот такой запрос:

Код
Выбрать все
	|SELECT
	| $Рег.Фирма as [Фирма $Справочник.Фирмы],
	| $Рег.Касса as [Касса $Справочник.Кассы],
	| $Рег.ФормаОплаты as [ФормаОплаты $Перечисление.ФормыОплаты],
	| $Рег.СуммаРуб as СуммаРуб,
	|  Рег.IDDoc as [Док $Документ],
                |  Рег.IDDocDef as Док_вид
	| FROM
	| $Регистр.Касса as Рег
	| WHERE
	|  (Рег.date = :ТекДата~~) AND
	|   ($Рег.Фирма=:ВыбФирма) AND ($Рег.Касса = :ВыбКасса)";

 



и собственно получил то что требовалось. Улыбка
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Получение документа из регистра.
Ответ #3 - 22. Июля 2008 :: 07:56
Печать  
Замени
Код
Выбрать все
(Рег.date = :ТекДата~~)  


На
Код
Выбрать все
( DTOS(Рег.date)+Рег.time+Рег.iddoc+STR(Рег.lineno,4)+STR(Рег.actno,6)
BETWEEN  DTOS(:ТекДата~~)+'                           ' AND
         DTOS(:ТекДата~~)+'zzzzzzzzzzzzzzzzzzzzzzzzzzz') 


27 пробелов, 27 символов z.

Должно быть быстрее раз в 10.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Получение документа из регистра.
Ответ #4 - 22. Июля 2008 :: 08:03
Печать  
добавлю к вышесказанному - прочитай
http://www.1cpp.ru/forum/YaBB.pl?num=1184317705
а то еще не поймешь зачем тебе kiruha порекомендовал  Смех
  
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Получение документа из регистра.
Ответ #5 - 22. Июля 2008 :: 08:09
Печать  
kiruha писал(а) 22. Июля 2008 :: 07:56:
Замени
Код
Выбрать все
(Рег.date = :ТекДата~~)  


На
Код
Выбрать все
( DTOS(Рег.date)+Рег.time+Рег.iddoc+STR(Рег.lineno,4)+STR(Рег.actno,6)
BETWEEN  DTOS(:ТекДата~~)+'                           ' AND
         DTOS(:ТекДата~~)+'zzzzzzzzzzzzzzzzzzzzzzzzzzz') 


27 пробелов, 27 символов z.

Должно быть быстрее раз в 10.

Можно даже немного проще:
Код
Выбрать все
( DTOS(Рег.date)+Рег.time+Рег.iddoc+STR(Рег.lineno,4)+STR(Рег.actno,6)
BETWEEN  :ТекДата AND :ТекДата~ 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать