Переключение на Главную Страницу Страницы: 1 ... 13 14 [15] 16 17  ОтправитьПечать
Очень популярная тема (более 25 ответов) Прямые запросы к бухгалтерским итогам (число прочтений - 124016 )
korvet33
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 16. Ноября 2010
Re: Прямые запросы к бухгалтерским итогам
Ответ #210 - 18. Ноября 2010 :: 14:50
Печать  
Спасибо ! Я , был невнимателен,забыл отделить запятыми пропущенные параметры...
  
Наверх
 
IP записан
 
korvet33
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 16. Ноября 2010
Re: Прямые запросы к бухгалтерским итогам
Ответ #211 - 22. Ноября 2010 :: 17:11
Печать  
Вопрос ...
Можно ли в запросе получить характкристки субконто
|SELECT   ОборотыДт.СчетКт [КоррСчет $Счет.Основной]
|            , ОборотыДт.СубконтоДт1 [Номенклатура $Субконто]
|            , ОборотыДт.СубконтоДт1_вид Номенклатура_вид   
|            , ОборотыДт.СубконтоДт2 [МестаХранения $Субконто]
|            , ОборотыДт.СубконтоДт2_вид МестаХранения_вид
|            , ОборотыДт.КоличествоОборот Количество 
|            , 0 СуммаОборотКт 
|FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,Документ,,
|      (СчетДт = :ВыбСчет)
|      ) AS ОборотыДт
|
|";

К примеру СубконтоДт1.ЕдиницаИзмерений и т.
Если можно,то с маленьким примером.
Пробовал INNER JOIN  но неудачно.
Спасибо
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #212 - 22. Ноября 2010 :: 19:20
Печать  
[code]|SELECT ОборотыДт.СчетКт [КоррСчет $Счет.Основной]
|      , ОборотыДт.СубконтоДт1 [Номенклатура $Субконто]
|      , ОборотыДт.СубконтоДт1_вид Номенклатура_вид
|      , ОборотыДт.СубконтоДт2 [МестаХранения $Субконто]
|      , ОборотыДт.СубконтоДт2_вид МестаХранения_вид
|      , ОборотыДт.КоличествоОборот Количество
|      , 0 СуммаОборотКт
|      , $Номенклатура.ЕдиницаИзмерения [ЕдиницаИзмерения $Справочник.ЕдиницыИзмерений]
|FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,Документ,,
|            (СчетДт = :ВыбСчет)
|      ) AS ОборотыДт
|      left join $Справочник.Номенклатура as Номенклатура with (nolock) on ОборотыДт.СубконтоДт1 = Номенклатура.id[/code]
  

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


1C++ rocks!

Сообщений: 17
Зарегистрирован: 17. Сентября 2010
Re: Прямые запросы к бухгалтерским итогам
Ответ #213 - 20. Мая 2011 :: 12:18
Печать  
           ТекстЗапроса = "
           |SELECT  Субконто1 [Субконто1 $Субконто]
           |      , Субконто1_вид
           |      , Субконто2 [Субконто2 $Субконто]
           |      , Субконто2_вид
           |      , Sum(СуммаОстатокДт) СуммаОстатокДт
           |      , Sum(СуммаОстатокКт) СуммаОстатокКт
           |FROM $БИОстатки.Основной(:ВыбДата ~,,
           |            Счет = :ВыбСчет,
           |            (Субконто1,Субконто2)) БИОстатки
           |GROUP BY Субконто1
           |      , Субконто1_вид
           |      , Субконто2
           |      , Субконто2_вид
           |";
           ар = СоздатьОбъект("AccountsRecordset");
           ар.УстановитьТекстовыйПараметр("ВыбДата", РабочаяДата());
           ар.УстановитьТекстовыйПараметр("ВыбСчет", СчетПоКоду("62.1"));
           тз = ар.ВыполнитьИнструкцию(ТекстЗапроса);

Как можно здесь задействовать разделитель учета???
Мне надо выбрать по одной из фирм
  
Наверх
 
IP записан
 
SpiritBad
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 17. Сентября 2010
Re: Прямые запросы к бухгалтерским итогам
Ответ #214 - 20. Мая 2011 :: 12:30
Печать  
           ТекстЗапроса = "
           |SELECT  Субконто1 [Субконто1 $Субконто]
           |      , Субконто1_вид
           |      , Субконто2 [Субконто2 $Субконто]
           |      , Субконто2_вид
           |      , РазделительУчета [РазделительУчета $Справочник.Города]
           |      , Sum(СуммаОстатокДт) СуммаОстатокДт
           |      , Sum(СуммаОстатокКт) СуммаОстатокКт
           |FROM $БИОстатки.Основной(:ВыбДата ~,,
           |            (Счет = :ВыбСчет), (РазделительУчета =:ВыбФирма),
           |            (Субконто1,Субконто2)) БИОстатки
           |GROUP BY Субконто1
           |      , Субконто1_вид
           |      , Субконто2
           |      , Субконто2_вид
           |";
           ар = СоздатьОбъект("AccountsRecordset");
           ар.УстановитьТекстовыйПараметр("ВыбДата", РабочаяДата());
           ар.УстановитьТекстовыйПараметр("ВыбФирма", ВыбГород);
           ар.УстановитьТекстовыйПараметр("ВыбСчет", СчетПоКоду("62.1"));
           тз = ар.ВыполнитьИнструкцию(ТекстЗапроса);
не работает Плачущий
  
Наверх
 
IP записан
 
SpiritBad
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 17. Сентября 2010
Re: Прямые запросы к бухгалтерским итогам
Ответ #215 - 20. Мая 2011 :: 12:50
Печать  
Все понял!!! НЕ НАДО СПС!!!
  
Наверх
 
IP записан
 
Настенок
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 14. Февраля 2011
Re: Прямые запросы к бухгалтерским итогам
Ответ #216 - 31. Мая 2011 :: 08:14
Печать  
Добрый день
использую класс AccountsRecordSet
не получается добавить колонки

счет 1(ДТ) СуммаНачальныйОстаток1 СуммаКонечныйОстаток1
и для счет 2(Кт) СуммаНачальныйОстаток2 СуммаКонечныйОстаток2

и счет1.субконто1=счет2.субконто1


запрос
|SELECT
           |ОС.Code ИнвНом
           |,Период
           |,Счет [Счет $Счет.Основной]
           |,Субконто1 [Субконто1 $Субконто]
           |,Субконто1_вид
           |,Субконто2 [Субконто2 $Субконто]
           |,Субконто2_вид
           |,КоличествоНачальныйОстаток
           |,СуммаНачальныйОстаток
     //      |,КоличествоОборот
     //      |,СуммаОборот
     //      |,КоличествоКонечныйОстаток
           |,СуммаКонечныйОстаток
           |FROM $БИОстаткиОбороты.Основной(:НачДата,:КонДата ~,
           |День,
           |ДвиженияИГраницыПериода,,
           //|(Счет =:ВыбСчетАморт),,
           |(Счет =:ВыбСчет or Счет =:ВыбСчетАморт),,
           | ) БИОстаткиОборотыОсновной
           |LEFT JOIN $Справочник.ОС ОС With (NOLOCK) ON БИОстаткиОборотыОсновной.Субконто1 = ОС.ID

нашла такой способ:

..........
|,СуммаНачальныйОстаток
           |,СуммаНачальныйОстатокДт
           |,СуммаНачальныйОстатокКт
           |,СуммаКонечныйОстаток
           |,СуммаКонечныйОстатокДт
           |,СуммаКонечныйОстатокКт


.....

правильно???
« Последняя редакция: 31. Мая 2011 :: 11:49 - Настенок »  
Наверх
 
IP записан
 
MegaDimich
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Местоположение: Киев
Зарегистрирован: 26. Июня 2011
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #217 - 26. Июня 2011 :: 18:16
Печать  
При выполнении текста запроса:
                 ТекстЗапроса =  "
                 |SELECT ОсновнойОборотыДт.СчетДт [СчетДт $Счет.Новый]
                 |     , ОсновнойОборотыДт.СубконтоДт1 [СубконтоДт1 $Субконто]
                 |     , ОсновнойОборотыДт.СубконтоДт1_вид
                 |     , ОсновнойОборотыДт.СубконтоДт2 [СубконтоДт2 $Субконто]
                 |     , ОсновнойОборотыДт.СубконтоДт2_вид
                 |     , ОсновнойОборотыДт.СуммаОборот
                 |FROM $БИОборотыДтКт.Новый(
                 |            :начДата,
                 |            :конДата ~,
                 |            Документ,
                 |            ,
                 |       (СчетДт = :выбСчет),
                 |       (СубконтоДт1,СубконтоДт2),
                 |       ,
                 |       ,
                 |            ((РазделительУчета = :РазделительУчета) AND (СубконтоДт1 = :Суб1))
                 |       ) AS ОсновнойОборотыДт
                 |";
Все отрабатывается отлично.
Ежели делаю так:
                 ТекстЗапроса =  "
                 |SELECT ОсновнойОборотыДт.СчетДт [СчетДт $Счет.Новый]
                 |     , ОсновнойОборотыДт.СубконтоДт1 [СубконтоДт1 $Субконто]
                 |     , ОсновнойОборотыДт.СубконтоДт1_вид
                 |     , ОсновнойОборотыДт.СубконтоДт2 [СубконтоДт2 $Субконто]
                 |     , ОсновнойОборотыДт.СубконтоДт2_вид
                 |     , ОсновнойОборотыДт.СуммаОборот
                 |FROM $БИОборотыДтКт.Новый(
                 |            :начДата,
                 |            :конДата ~,
                 |            Документ,
                 |            ,
                 |       (СчетДт = :выбСчет),
                 |       (СубконтоДт1,СубконтоДт2),
                 |       ,
                 |       ,
                 |            ((РазделительУчета = :РазделительУчета) AND (СубконтоДт1 = :Суб1) AND (СубконтоДт2 = :Суб2))
                 |       ) AS ОсновнойОборотыДт
                 |";
Результат нулевой. Такое впечатление, что второе субконто вообще не отрабатывается.
  
Наверх
 
IP записан
 
vinogradoff
Full Member
***
Отсутствует



Сообщений: 107
Зарегистрирован: 06. Февраля 2010
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #218 - 27. Июня 2011 :: 05:23
Печать  
попробуй для проверки
Код
Выбрать все
((РазделительУчета = :РазделительУчета) AND (СубконтоДт2 = :Суб2)) 


и проверь что в :Суб2
  
Наверх
 
IP записан
 
MegaDimich
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Местоположение: Киев
Зарегистрирован: 26. Июня 2011
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #219 - 27. Июня 2011 :: 18:27
Печать  
vinogradoff писал(а) 27. Июня 2011 :: 05:23:
попробуй для проверки
Код
Выбрать все
((РазделительУчета = :РазделительУчета) AND (СубконтоДт2 = :Суб2)) 


и проверь что в :Суб2

Не работает.
Если что у меня версия 1С++ 3.2.3.15, а AccountsRecordset v3.13
Уже извратился так, после выполнения запроса (привожу весь текст функции):
Функция глОборотДОСумма(ВыбЭлемент, ВыбДокумент, ВыбФирма, ВыбСчет) Экспорт  
     Если Константа.ВидРасчетаОстатков = 1 Тогда
           Если ТекущаяИБЦентральная()=1 Тогда                      
                 _запрос.УстановитьТекстовыйПараметр("начДата", ВыбДокумент.ДатаДок);
                 _запрос.УстановитьТекстовыйПараметр("конДата", РабочаяДата());
                 _запрос.УстановитьТекстовыйПараметр("РазделительУчета", ВыбФирма);
                 _запрос.УстановитьТекстовыйПараметр("Суб1", ВыбЭлемент);  
                 _запрос.УстановитьТекстовыйПараметр("Суб2", ВыбДокумент);
                 _запрос.УстановитьТекстовыйПараметр("выбСчет", ВыбСчет);  
                                     
                 ТекстЗапроса =  "
                 |SELECT ОсновнойОборотыДт.СчетДт [СчетДт $Счет.Новый]
                 |     , ОсновнойОборотыДт.СубконтоДт1 [СубконтоДт1 $Субконто]
                 |     , ОсновнойОборотыДт.СубконтоДт1_вид
                 |     , ОсновнойОборотыДт.СубконтоДт2 [СубконтоДт2 $Субконто]
                 |     , ОсновнойОборотыДт.СубконтоДт2_вид
                 |     , ОсновнойОборотыДт.СуммаОборот
                 |FROM $БИОборотыДтКт.Новый(
                 |            :начДата,
                 |            :конДата ~,
                 |            Документ,
                 |            ,
                 |       (СчетДт = :выбСчет),
                 |       (СубконтоДт1,СубконтоДт2),
                 |       ,
                 |       ,
                 |            ((РазделительУчета = :РазделительУчета) AND (СубконтоДт1 = :Суб1))
                 |       ) AS ОсновнойОборотыДт
                 |";
                     
                 глТЗ.УдалитьСтроки();
                 _запрос.ВыполнитьИнструкцию(ТекстЗапроса, глТЗ);
                 Если глТЗ.КоличествоСтрок() <>0 Тогда  
                       ОборотСумма = 0;
                       глТЗ.ВыбратьСтроки();
                       Пока глТЗ.ПолучитьСтроку()=1 Цикл  
                             Если глТЗ.СубконтоДт2 = ВыбДокумент Тогда
                                   ОборотСумма = глТЗ.СуммаОборот;
                                   Прервать;
                             КонецЕсли;      
                       КонецЦикла;      
                                   Иначе  
                       ОборотСумма = 0;
                 КонецЕсли;      
                 Возврат ОборотСумма;
           КонецЕсли;
     КонецЕсли;      
КонецФункции              
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #220 - 27. Июня 2011 :: 19:05
Печать  
Тильду добавить было бы проще.  Подмигивание
  

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


1C++ rocks!

Сообщений: 6
Местоположение: Киев
Зарегистрирован: 26. Июня 2011
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #221 - 28. Июня 2011 :: 07:22
Печать  
berezdetsky писал(а) 27. Июня 2011 :: 19:05:
Тильду добавить было бы проще.  Подмигивание

Куда добавить тильду?
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Прямые запросы к бухгалтерским итогам
Ответ #222 - 28. Июня 2011 :: 08:02
Печать  
во втором субконто документ?

Код
Выбрать все
 _запрос.УстановитьТекстовыйПараметр("Суб2", ВыбДокумент); 

  
Наверх
wwwICQ  
IP записан
 
MegaDimich
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 6
Местоположение: Киев
Зарегистрирован: 26. Июня 2011
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #223 - 28. Июня 2011 :: 09:03
Печать  
Anatol писал(а) 28. Июня 2011 :: 08:02:
во втором субконто документ?

Код
Выбрать все
 _запрос.УстановитьТекстовыйПараметр("Суб2", ВыбДокумент); 


Да - документ.
Не работает, если указать:
|            ((РазделительУчета = :РазделительУчета) AND (СубконтоДт2 = :Суб2))
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


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

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Прямые запросы к бухгалтерским итогам
Ответ #224 - 28. Июня 2011 :: 09:23
Печать  
см
Код
Выбрать все
|		((РазделительУчета = :РазделительУчета) AND (СубконтоДт2 = :Суб2~)) 

  
Наверх
wwwICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 13 14 [15] 16 17 
ОтправитьПечать