Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Типизация субконто (число прочтений - 4691 )
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Типизация субконто
17. Декабря 2007 :: 10:12
Печать  
Есть запрос, который выбирает проводки по 62.1 счёту за определённый период. Хочу ещё что бы кроме самих документов выводилось и субконто этих документов. Пишу:

     ТекстЗапроса = "
                 |SELECT Проводки.DOCID [Документ $Документ]
                 |      , Журнал.IDDocDef as Документ_вид
                 |      , Проводки.ACCDTID [ДтСчет $Счет.Основной]
                 |      , Проводки.ACCKTID [КтСчет $Счет.Основной]
                 |      , Проводки.SUM_ Сумма
                 |      , Проводки.AMOUNT Количество
                 |      , Проводки.DATE_TIME_DOCID ДатаВремяИдДок
                 |      , Проводки.DTSC0 [ДтСубконто1 $Субконто]
                 |FROM _1SENTRY AS Проводки
                 |      INNER JOIN _1SJOURN AS Журнал ON Проводки.DOCID = Журнал.IDDOC AND Проводки.DATE_TIME_DOCID = Журнал.DATE_TIME_IDDOC
                 |";
Первое субконто должно являтся сравочником контрагенты, как его связать? А то мне выводится ошибка, "Не найдено дополнительное типизирующее поле".
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Типизация субконто
Ответ #1 - 17. Декабря 2007 :: 10:24
Печать  
Код
Выбрать все
	, Проводки.DTSC0 [ДтСубконто1 $Субконто]
	, Проводки.VDTSC0 ДтСубконто1_вид 

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Типизация субконто
Ответ #2 - 17. Декабря 2007 :: 10:48
Печать  
Спасибо. Всё как всегда зпрпботало, после твоей подсказки.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Типизация субконто
Ответ #3 - 18. Декабря 2007 :: 05:34
Печать  
Пытаюсь сделать отбор по субконто. На форме есть три элемента с типом «неопределённый», при выборе счёта они соответственно программно задаются теми типами которыми обладает субконто этого счёта. Пишу:

СЗ = СоздатьОбъект("СписокЗначений");
РС = СоздатьОбъект("ODBCRecordset");

                    ТекстЗапроса = "
                 |SELECT Проводки.DOCID [Документ $Документ]
                 |      , Журнал.IDDocDef as Документ_вид
                 |      , Проводки.ACCDTID [ДтСчет $Счет.Основной]
                 |      , Проводки.ACCKTID [КтСчет $Счет.Основной]
                 |      , Проводки.SUM_ Сумма
                 |   , Проводки.DATE_TIME_DOCID ДатаВремяИдДок
                 |      , Проводки.DTSC0 [ДтСубконто1 $Субконто]
                 |      , Проводки.VDTSC0 ДтСубконто1_вид
                 |      , Проводки.DTSC1 [ДтСубконто2 $Субконто]
                 |      , Проводки.VDTSC1 ДтСубконто2_вид
                 |      , Проводки.DTSC2 [ДтСубконто3 $Субконто]
                 |      , Проводки.VDTSC2 ДтСубконто3_вид
                 |FROM _1SENTRY AS Проводки
                 |      INNER JOIN _1SJOURN AS Журнал ON Проводки.DOCID = Журнал.IDDOC AND Проводки.DATE_TIME_DOCID = Журнал.DATE_TIME_IDDOC
                 |WHERE
                 |   Проводки.ACCDTID IN (Select val From #СС) AND
                 |   Проводки.DTSC0 IN (Select val From #Sub1) AND
               |      Журнал.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ AND
                 |      Журнал.Closed & 1 = 1
                 |";
              КонецЕсли;
     СЗ.ДобавитьЗначение(Суб1);
     РС.УложитьСписокОбъектов13(СЗ, "#Sub1");
                    
     РС.УложитьСписокОбъектов(СчетДт, "#СС", "Основной");
     РС.УстановитьТекстовыйПараметр("НачДата", НачДата);
     РС.УстановитьТекстовыйПараметр("КонДата", КонДата);

     
     ТЗ = РС.ВыполнитьИнструкцию(ТекстЗапроса);

В итоге ни одна строка не выбирается. К примеру по счёту 62 выбираю субконто одного контрагента у которого точно были проводки за выбранный период. В итоге выводит пустую ТЗ. Если убираю это условие то выводит все проводки за данный период, в том числе и по выбранному до этого контрагенту. Что делаю не правильно?
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Типизация субконто
Ответ #4 - 18. Декабря 2007 :: 06:29
Печать  
тут надо запросом дополнить DTS0 до вида неопределенного и потом уже накладывать условия... щас попробую найти - trad где-то показывал как
вот - нашел:
http://www.1cpp.ru/forum/YaBB.pl?num=1196253795/4#4
  
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Типизация субконто
Ответ #5 - 18. Декабря 2007 :: 06:53
Печать  
leshik писал(а) 18. Декабря 2007 :: 06:29:
тут надо запросом дополнить DTS0 до вида неопределенного и потом уже накладывать условия... щас попробую найти - trad где-то показывал как
вот - нашел:
http://www.1cpp.ru/forum/YaBB.pl?num=1196253795/4#4

А как это сделать в моём случае? Ведь в зависимости от счёта это могут быть различные справочники. А когда добавлю условие отбора по второму субконто, то там уже отбор по документам.
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Типизация субконто
Ответ #6 - 18. Декабря 2007 :: 08:44
Печать  
Aswed писал(а) 18. Декабря 2007 :: 05:34:
     РС.УложитьСписокОбъектов13(СЗ, "#Sub1");
                   
     РС.УложитьСписокОбъектов(СчетДт, "#СС", "Основной");
     РС.УстановитьТекстовыйПараметр("НачДата", НачДата);
     РС.УстановитьТекстовыйПараметр("КонДата", КонДата);

     
     ТЗ = РС.ВыполнитьИнструкцию(ТекстЗапроса);

В итоге ни одна строка не выбирается. К примеру по счёту 62 выбираю субконто одного контрагента у которого точно были проводки за выбранный период. В итоге выводит пустую ТЗ. Если убираю это условие то выводит все проводки за данный период, в том числе и по выбранному до этого контрагенту. Что делаю не правильно?

А тип субконто у тебя "Справочник" или "Справочник.Контрагенты"?
Если второе, то УложитьСписокОбъектов13 здесь не подходит.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Типизация субконто
Ответ #7 - 18. Декабря 2007 :: 08:46
Печать  
berezdetsky писал(а) 18. Декабря 2007 :: 08:44:
А тип субконто у тебя "Справочник" или "Справочник.Контрагенты"?
Если второе, то УложитьСписокОбъектов13 здесь не подходит.

В том то и дело, что хотел сделать запрос универсальным, для любого счёта. А там естественно для каждого счёта свои виды субконтоПечаль Но раз уж это так проблематично оказывается, то хотя бы для 62 хочу сделать.
Да субконто Справочник.Контрагенты. Использовать УлосжитьСписокОбъектов?
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Типизация субконто
Ответ #8 - 18. Декабря 2007 :: 08:58
Печать  
Aswed писал(а) 18. Декабря 2007 :: 08:46:
В том то и дело, что хотел сделать запрос универсальным, для любого счёта. А там естественно для каждого счёта свои виды субконтоПечаль Но раз уж это так проблематично оказывается, то хотя бы для 62 хочу сделать.

Не особо проблематично - там вариантов меньше, чем видов субконто.  Подмигивание

Aswed писал(а) 18. Декабря 2007 :: 08:46:
Да субконто Справочник.Контрагенты. Использовать УлосжитьСписокОбъектов?

Да, если отбор по группе. Для одного контрагента достаточно УстановитьТекстовыйПараметр.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Aswed
Junior Member
**
Отсутствует


Не навижу 1С

Сообщений: 76
Зарегистрирован: 13. Ноября 2007
Пол: Мужской
Re: Типизация субконто
Ответ #9 - 18. Декабря 2007 :: 09:35
Печать  
[quote author=berezdetsky link=1197886369/0#8 date=1197968320]Не особо проблематично - там вариантов меньше, чем видов субконто.  Подмигивание

Можешь показать как на примере?
ЗЫ А лучше на моём запросеПодмигиваниеУлыбка
  

Я вообще то парень хоть куда, но туда не все девушки соглашаются...
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Типизация субконто
Ответ #10 - 24. Января 2008 :: 11:40
Печать  
Сравнение даты со строкой получится как раз в варианте с Convert.  Подмигивание

hint: увидеть текст запроса, отправляемый на сервер, можно, если включить отладку.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
tishina
YaBB Newbies
*
Отсутствует



Сообщений: 1
Местоположение: Сургут
Зарегистрирован: 24. Января 2008
Пол: Женский
Re: Типизация субконто
Ответ #11 - 24. Января 2008 :: 12:02
Печать  
Сравнение даты со строкой получится как раз в варианте с Convert.  Подмигивание  

нет, с Convert всё работает, правда в первом варианте тоже работает, это компонента 1с++ обеспечивает, что ли?    Ужас  через ADO такой номер не проходит
  

хочет напиться, хочется убиться, ведь не светит мне никогда жениться
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Типизация субконто
Ответ #12 - 24. Января 2008 :: 12:11
Печать  
tishina писал(а) 24. Января 2008 :: 12:02:
Сравнение даты со строкой получится как раз в варианте с Convert.  Подмигивание  

нет, с Convert всё работает, правда в первом варианте тоже работает, это компонента 1с++ обеспечивает, что ли?    Ужас  

А кто говорил, что работать не будет?  Смех
Я говорил о том, что будет два лишних преобразования типов.

И с ADO всё получится, если передавать даты так, как их передаёт 1С++.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать