Переключение на Главную Страницу Страницы: 1 ... 20 21 [22] 23 24 ... 51 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПрямойЗапрос" - обсуждения. Часть № 2. (число прочтений - 258712 )
Dolly_EV
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 152
Местоположение: Чита
Зарегистрирован: 22. Октября 2009
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #315 - 18. Апреля 2012 :: 00:01
Печать  
vandalsvq писал(а) 17. Апреля 2012 :: 10:34:
Используй
Код
Выбрать все
Прав(_IdToStr(ИДОбъекта),4) 


у меня везде так подставляется и никакие СОКР-ы не используются


Это в случае с Ссылкой, а тут - ВидДокумента (глМетаДата.ИДДокумента("ПриходныйОрдер"))

"_IdToStr()" - сама создается? или создавать надо? помню раньше в ДОКе было, что создается, щас не нашел...
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #316 - 18. Апреля 2012 :: 04:33
Печать  
Ну елки... открой текст класса, процедуру подстановки параметров, текст там...


Код
Выбрать все
			ИДОбъекта = МетаДата.ИДДокумента(ВтораяЧасть);
			Если ЭтоSQL = 1 Тогда
				ТекстПодстановки = ?(Модификатор = 1,"'"+Прав(_IdToStr(ИДОбъекта),4)+"'",ИДОбъекта);
			ИначеЕсли ЭтоSQL = 0 Тогда
				ТекстПодстановки = "'"+Прав(_IdToStr(ИДОбъекта),4)+"'";
			КонецЕсли; 


  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #317 - 28. Апреля 2012 :: 16:27
Печать  
Недавно заметил одну вещь. Сделал отчет по оборотам за период НачДата - КонДата. В обороты попадает все, кроме оборотов документа, стоящего на ТА. в запросе стоит ~КонДата. все равно если документ стоит на позиции ТА, т.е. последний в базе например, то его движения не попадают. Как только провести другой лубой. ТА смещается, и все ок. В чем может быть причина?
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #318 - 28. Апреля 2012 :: 18:01
Печать  
:КонДата~
  
Наверх
IP записан
 
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #319 - 02. Мая 2012 :: 16:41
Печать  
Все равно не дает

вот текст

     рс.УложитьСписокОбъектов(ВыбНоменклатура,"#ТабНом","Номенклатура");
     рс.УложитьСписокОбъектов(ВыбСклад,"#ТабСклад","Склады");

     ТекстЗапроса = "-- qryMaker:Отчет1.2011.10.24.18.26.22
     |   SELECT  Движения.Номенклатура [Номенклатура $Справочник.Номенклатура]
     |       , NullIf(Движения.МесяцПриход, '17530101') МесяцПриход
     |            ,(Движения.КолвоПриход) КолвоПриход
     |         ,(Движения.КолвоРасход) КолвоРасход
     |            , Движения.ВидДокументаП ВидДокументаПриход
     |            , Движения.ВидДокументаР ВидДокументаРасход
     |From(
     |      SELECT ОстаткиТМЦПриход.Номенклатура
     |            ,$НачалоПериода.Месяц(ОстаткиТМЦПриход.ПозицияДокумента) МесяцПриход
     |            ,(ОстаткиТМЦПриход.КоличествоПриход) КолвоПриход
     |         ,(ОстаткиТМЦРасход.КоличествоРасход) КолвоРасход
     |            , ОстаткиТМЦПриход.ВидДокумента ВидДокументаП
     |            , ОстаткиТМЦРасход.ВидДокумента ВидДокументаР
     |      FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата,
     |                  :КонДата~,
     |                  Документ,
     |                  ДвиженияИГраницыПериода,
     |                  (Склад IN (SELECT val FROM #ТабСклад)) AND (Номенклатура IN (SELECT val FROM #ТабНом)),
     |                  (Номенклатура, Склад),) AS ОстаткиТМЦПриход
     |            Full outer JOIN $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата,
     |                  :КонДата~,
     |                  Документ,
     |                  ДвиженияИГраницыПериода,
     |                  (Склад IN (SELECT val FROM #ТабСклад)) AND (Номенклатура IN (SELECT val FROM #ТабНом)),
     |                  (Номенклатура, Склад),) AS ОстаткиТМЦРасход ON ОстаткиТМЦПриход.Номенклатура = ОстаткиТМЦРасход.Номенклатура AND ОстаткиТМЦПриход.Склад = ОстаткиТМЦРасход.Склад AND ОстаткиТМЦПриход.ПозицияДокумента = ОстаткиТМЦРасход.ПозицияДокумента ) as Движения
     |";                                                       
     
     рс.УстановитьТекстовыйПараметр("НачДата", НачДата);
     рс.УстановитьТекстовыйПараметр("КонДата", КонДата);
     тз = рс.Выполнить(,ТекстЗапроса);
     тз.ВыбратьСтроку();

Отдельно берутся таблицы т.к. мне надо из приходов и расходов определенные доки убрать, ну это не важно вообщем.
Вопрос в том что остатки и движения не берут показателей ПО ТА
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #320 - 02. Мая 2012 :: 16:57
Печать  
ziflex писал(а) 17. Апреля 2012 :: 23:10:
А как все таки быть с http://www.1cpp.ru/forum/YaBB.pl?num=1285352210/298#298


Третий параметр какой указал?
  
Наверх
wwwICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #321 - 02. Мая 2012 :: 17:25
Печать  
temrmal писал(а) 28. Апреля 2012 :: 16:27:
Недавно заметил одну вещь. Сделал отчет по оборотам за период НачДата - КонДата. В обороты попадает все, кроме оборотов документа, стоящего на ТА. в запросе стоит ~КонДата. все равно если документ стоит на позиции ТА, т.е. последний в базе например, то его движения не попадают. Как только провести другой лубой. ТА смещается, и все ок. В чем может быть причина?


Запрос поди в дбф базе с использованием 1sqlite 26 версии ?
а увидел уже, что в скуле..
Печаль

ЗЫ: не вкурил тока, что за бредовость делать full  join к двум одинаковым виртуальным табличкам одного регистра ?

Нафига ?
  
Наверх
 
IP записан
 
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #322 - 03. Мая 2012 :: 09:21
Печать  
Насчет соединений - отчет попросили сделать следующий: Нач ост, Приход, расход, кон ост. Причем в расход не должны попадать перемещения, переоценка и списания, а в приход - переоценка. Поэтому беру остатки, потомберу отдельно приход, очищаю его, потом расход - очищаю и соединяю. Математика в итоге не сходится, т.е. нач ост+приход-расход<>кон ост. Сам дурел от заказа. Ну вот сделал.
Вообще-то сам запрос выглядит по другому (приход и расход беру из оборотов, ну там еще всякие условия, наложения и тд). Он очень большой и не стал сюда выкладывать.
Сама суть в ТА. Могу сделать просто нач ост приход, расход и кон ост. - то же самое получится. Даже кон ост по ТА не показывает. Вчера скачал послежнюю версию - все без изменений.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #323 - 03. Мая 2012 :: 10:27
Печать  
В том коде что есть - не видно , где ты там остатки смотришь вообще + бредовое соединение двух одинаковых виртуальных таблиц .
Покажи весь код вместе с параметрами и всеми условиями.
  
Наверх
 
IP записан
 
ziflex
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 76
Местоположение: Владивосток
Зарегистрирован: 05. Мая 2011
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #324 - 04. Мая 2012 :: 02:19
Печать  
Anatol писал(а) 02. Мая 2012 :: 16:57:
ziflex писал(а) 17. Апреля 2012 :: 23:10:
А как все таки быть с http://www.1cpp.ru/forum/YaBB.pl?num=1285352210/298#298


Третий параметр какой указал?

И "Справочник.Контрагенты", и просто "Справочник", и вообще не указывал ничего - не работает.
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #325 - 04. Мая 2012 :: 09:25
Печать  
ziflex писал(а) 04. Мая 2012 :: 02:19:
Anatol писал(а) 02. Мая 2012 :: 16:57:
ziflex писал(а) 17. Апреля 2012 :: 23:10:
А как все таки быть с http://www.1cpp.ru/forum/YaBB.pl?num=1285352210/298#298


Третий параметр какой указал?

И "Справочник.Контрагенты", и просто "Справочник", и вообще не указывал ничего - не работает.


а нужно "Контрагенты"
  
Наверх
wwwICQ  
IP записан
 
ziflex
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 76
Местоположение: Владивосток
Зарегистрирован: 05. Мая 2011
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #326 - 07. Мая 2012 :: 04:22
Печать  
Anatol писал(а) 04. Мая 2012 :: 09:25:
ziflex писал(а) 04. Мая 2012 :: 02:19:
Anatol писал(а) 02. Мая 2012 :: 16:57:
ziflex писал(а) 17. Апреля 2012 :: 23:10:
А как все таки быть с http://www.1cpp.ru/forum/YaBB.pl?num=1285352210/298#298


Третий параметр какой указал?

И "Справочник.Контрагенты", и просто "Справочник", и вообще не указывал ничего - не работает.


а нужно "Контрагенты"


Все равно ничего Печаль

(ВЫБРАТЬ id ИЗ #Контрагент) или (ВЫБРАТЬ val ИЗ #Контрагент) ?
правда ни один из вариантов не работает. :\
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #327 - 07. Мая 2012 :: 09:29
Печать  
Однозначно
Код
Выбрать все
ВЫБРАТЬ val ИЗ #Контрагент 



В тхт выложи текст инициализации и выполнения запроса (в языке 1С) + включи режим отладки = 1 и добавь туда то что сообщит 1С при выполнении.
Посмотрим.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
ziflex
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 76
Местоположение: Владивосток
Зарегистрирован: 05. Мая 2011
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #328 - 08. Мая 2012 :: 03:37
Печать  
vandalsvq писал(а) 07. Мая 2012 :: 09:29:
Однозначно
Код
Выбрать все
ВЫБРАТЬ val ИЗ #Контрагент 



В тхт выложи текст инициализации и выполнения запроса (в языке 1С) + включи режим отладки = 1 и добавь туда то что сообщит 1С при выполнении.
Посмотрим.


Вот.
  

Query.txt ( 5 KB | Загрузки )
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #329 - 08. Мая 2012 :: 21:07
Печать  
Почему ты используешь "УложитьСписокГрупп"??? При этом потом сравнение делаешь поля контрагент, которое почти наверняка ссылка, а в таблице у тебя уложены группы.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 20 21 [22] 23 24 ... 51
ОтправитьПечать