Переключение на Главную Страницу Страницы: 1 [2] 3 4 ... 17 ОтправитьПечать
Очень популярная тема (более 25 ответов) Прямые запросы к бухгалтерским итогам (число прочтений - 124004 )
lEX1C
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 07. Февраля 2007
Re: Прямые запросы к бухгалтерским итогам
Ответ #15 - 09. Февраля 2007 :: 13:24
Печать  
Вот простой тестовый код:


Процедура Сформировать() 
     SQLSession = СоздатьОбъект("AccountsRecordSet");
     SQLSession.SetDatabase1C();
     SQLSession.УстановитьТекстовыйПараметр("ВыбДата", КонДата);
     
     ТекстЗапроса = "SELECT ОсновнойОстатки.Счет [Счет $Счет.Основной]
           | ОсновнойОстатки.Валюта [Валюта $Справочник.Валюты]
           | ОсновнойОстатки.СуммаОстатокДт
           | ОсновнойОстатки.СуммаОстатокКт
           | ОсновнойОстатки.ВалютнаяСуммаОстатокДт
           | ОсновнойОстатки.ВалютнаяСуммаОстатокКт
           | ОсновнойОстатки.КоличествоОстатокДт
           | ОсновнойОстатки.КоличествоОстатокКт
           |FROM $БИОстатки.Основной(:ВыбДата) AS ОсновнойОстатки
           |      INNER JOIN _1SACCS AS ПланСчетов (NOLOCK) ON ОсновнойОстатки.Счет = ПланСчетов.ID
           |ORDER BY ПланСчетов.SCHKOD";
     Если SQLSession.Открыть(ТекстЗапроса)=0 Тогда
           Ошибка=SQLSession.ПолучитьОписаниеОшибки();
           Если ПустаяСтрока(Ошибка)=0 Тогда
                 ВыполняемыйМодуль=СоздатьОбъект("ВыполняемыйМодуль");
                 ВыполняемыйМодуль.СформироватьОшибку(Ошибка);
           КонецЕсли;
     КонецЕсли;
Конецпроцедуры            

Ошибка исполнения:

ВыполняемыйМодуль.СформироватьОшибку(Ошибка);
{D:\ТЕСТ БЫСТРЫХ ИТОГОВ.ERT(27)}: Meta name parser error: неизвестное метаимя или алиас "$БИОстатки"

Что сейчас не так? Улыбка
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #16 - 09. Февраля 2007 :: 13:31
Печать  
artbear писал(а) 09. Февраля 2007 :: 13:14:
А зачем? Бросай ты ее, последние версии вроде практически совсем стабильно работают.
Да и фич много добавилось.

1.8.1.6 весьма стабильна. А фич добавилось.. Много? - Да. Нужных мне? -  Со сжатыми губами

+ IMHO, обсуждение версий - OFF этого топика.
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #17 - 09. Февраля 2007 :: 13:40
Печать  
lEX1C писал(а) 09. Февраля 2007 :: 13:24:
Что сейчас не так? Улыбка

Метод Открыть() не переопределён. Используй ВыполнитьИнструкцию() или ВыполнитьСкалярный().

Обращу внимание: отсутствие явного БезСубконто это разворот остатка по всем субконто.
И запятая между полями должна быть.
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #18 - 10. Февраля 2007 :: 11:59
Печать  
berezdetsky писал(а) 09. Февраля 2007 :: 13:40:
lEX1C писал(а) 09. Февраля 2007 :: 13:24:
Что сейчас не так? Улыбка

Метод Открыть() не переопределён. Используй ВыполнитьИнструкцию() или ВыполнитьСкалярный().

Переопределены методы Выполнить(), Подготовить(), Открыть().
Доработано описание.

файл см. ниже
« Последняя редакция: 21. Февраля 2007 :: 12:58 - berezdetsky »  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #19 - 21. Февраля 2007 :: 11:30
Печать  
Доброго время суток
делаю запрос:
     |      SELECT
     |              ОсновнойОборотыДтКт.Период
//      |            , ОсновнойОборотыДтКт.СчетДт [СчетДт $Счет.Основной]
//      |            , ОсновнойОборотыДтКт.СчетКт [СчетКт $Счет.Основной]
     |            , ОсновнойОборотыДтКт.Валюта [Валюта $Справочник.Валюты]
     |            , ОсновнойОборотыДтКт.СубконтоДт1 [СубконтоДт1 $Субконто]
     |            , ОсновнойОборотыДтКт.СубконтоДт1_вид
     |            , ОсновнойОборотыДтКт.СубконтоДт2 [СубконтоДт2 $Субконто]
     |            , ОсновнойОборотыДтКт.СуммаОборот
     |            , ОсновнойОборотыДтКт.ВалютнаяСуммаОборот
     |            , ОсновнойОборотыДтКт.КоличествоОборот
     |      FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,Квартал,,(Счет = :Счет),
     |                  (Контрагенты),) AS ОсновнойОборотыДтКт
     |            LEFT OUTER JOIN _1SACCS AS ПланСчетовДт (NOLOCK) ON ОсновнойОборотыДтКт.СчетДт = ПланСчетовДт.ID
     |            LEFT OUTER JOIN _1SACCS AS ПланСчетовКт (NOLOCK) ON ОсновнойОборотыДтКт.СчетКт = ПланСчетовКт.ID
     |      ORDER BY ОсновнойОборотыДтКт.Период
     |            , ПланСчетовДт.SCHKOD
     |            , ПланСчетовКт.SCHKOD
     |"
Вываливается ошибка:
The column prefix '_1SBKTTL_vt' does not match with a table name or alias name used in the query.
Подскажите в чем дело?

Вопрос снят!
« Последняя редакция: 22. Февраля 2007 :: 03:48 - Nick »  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #20 - 21. Февраля 2007 :: 12:09
Печать  
У этой ВТ нет поля Счет. Такое поле есть у ВТ БИОстатки а парсит поля ВТ одна процедура, вот и вылезло обращение к таблице остатков.  Смущённый
Т.е. тебе поможет условие (СчетДт = :Счет) или (СчетКт = :Счет).

Цитата:
     |            , ОсновнойОборотыДтКт.СубконтоДт2 [СубконтоДт2 $Субконто]

здесь, похоже, лишнее.

Ты разворачиваешь итоги по всем кредитовым субконто, а значения этих субконто не выбираешь. Результат получится интересный..
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #21 - 21. Февраля 2007 :: 13:01
Печать  
Исправлена неправильная нумерация субконто в ВТ БИОборотыДтКт при развороте по всем субконто.
« Последняя редакция: 23. Февраля 2007 :: 10:52 - berezdetsky »  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #22 - 22. Февраля 2007 :: 05:10
Печать  
Как получить обороты по счету со всеми счетами, и по всем субконто?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #23 - 22. Февраля 2007 :: 05:24
Печать  
berezdetsky писал(а) 21. Февраля 2007 :: 12:09:
У этой ВТ нет поля Счет. Такое поле есть у ВТ БИОстатки а парсит поля ВТ одна процедура, вот и вылезло обращение к таблице остатков.  Смущённый
Т.е. тебе поможет условие (СчетДт = :Счет) или (СчетКт = :Счет).

Цитата:
    |            , ОсновнойОборотыДтКт.СубконтоДт2 [СубконтоДт2 $Субконто]

здесь, похоже, лишнее.

Ты разворачиваешь итоги по всем кредитовым субконто, а значения этих субконто не выбираешь. Результат получится интересный..

Спасибо сам понял, но всё равно в результате выдает пустую ТЗ, в чем может быть дело?
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #24 - 22. Февраля 2007 :: 10:35
Печать  
Nick писал(а) 22. Февраля 2007 :: 05:10:
Как получить обороты по счету со всеми счетами, и по всем субконто?

Например, так:
Код
Выбрать все
|SELECT ОсновнойОборотыДтКт.СчетДт [СчетДт $Счет.Основной]
|		, ОсновнойОборотыДтКт.СчетКт [СчетКт  $Счет.Основной]
|		, ОсновнойОборотыДтКт.Валюта [Валюта $Справочник.Валюты]
|		, ОсновнойОборотыДтКт.СубконтоДт1 [СубконтоДт1 $Субконто]
|		, ОсновнойОборотыДтКт.СубконтоДт1_вид
|		, ОсновнойОборотыДтКт.СубконтоДт2 [СубконтоДт2 $Субконто]
|		, ОсновнойОборотыДтКт.СубконтоДт2_вид
|		, ОсновнойОборотыДтКт.СубконтоДт3 [СубконтоДт3 $Субконто]
|		, ОсновнойОборотыДтКт.СубконтоДт3_вид
|		, ОсновнойОборотыДтКт.СубконтоКт1 [СубконтоКт1 $Субконто]
|		, ОсновнойОборотыДтКт.СубконтоКт1_вид
|		, ОсновнойОборотыДтКт.СубконтоКт2 [СубконтоКт2 $Субконто]
|		, ОсновнойОборотыДтКт.СубконтоКт2_вид
|		, ОсновнойОборотыДтКт.СубконтоКт3 [СубконтоКт3 $Субконто]
|		, ОсновнойОборотыДтКт.СубконтоКт3_вид
|		, ОсновнойОборотыДтКт.СуммаОборот
|		, ОсновнойОборотыДтКт.ВалютнаяСуммаОборот
|		, ОсновнойОборотыДтКт.КоличествоОборот
|FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,,,
|		((СчетДт = :ВыбСчет) OR (СчетКт = :ВыбСчет))
|		AND (РазделительУчета = :ВыбФирма)
|	) AS ОсновнойОборотыДтКт
|";
 


Напомню, ВТ БИОбороты, которая и должна возвращать обороты в разрезе Счет/КоррСчет, не реализована.

Nick писал(а) 22. Февраля 2007 :: 05:24:
Спасибо сам понял, но всё равно в результате выдает пустую ТЗ, в чем может быть дело?

Возможно, требуемых оборотов нет. Или где-то не хватает модификатора.  Нерешительный У меня твой запрос вернул результат. Выложи обработку, в которой это воспроизводится.
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #25 - 23. Февраля 2007 :: 03:38
Печать  
Ещё такой вопрос: как получить обороты по счету (дебетовые и кредитовые), в разрезе одного субконто, например получить обороты по 62 счету в разрезе контрагентов
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #26 - 23. Февраля 2007 :: 09:25
Печать  
Nick писал(а) 23. Февраля 2007 :: 03:38:
Ещё такой вопрос: как получить обороты по счету (дебетовые и кредитовые), в разрезе одного субконто, например получить обороты по 62 счету в разрезе контрагентов

Две ВТ + UNION ALL.
Или запрос к _1sentry.
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #27 - 23. Февраля 2007 :: 09:55
Печать  
berezdetsky писал(а) 23. Февраля 2007 :: 09:25:
Nick писал(а) 23. Февраля 2007 :: 03:38:
Ещё такой вопрос: как получить обороты по счету (дебетовые и кредитовые), в разрезе одного субконто, например получить обороты по 62 счету в разрезе контрагентов

Две ВТ + UNION ALL.
Или запрос к _1sentry.


Вот пример запроса:
     |      SELECT
     |              ОсновнойОборотыДтКт.Период
     |            , ОсновнойОборотыДтКт.СчетДт [СчетДт $Счет.Основной]
     |            , ОсновнойОборотыДтКт.СчетКт [СчетКт $Счет.Основной]
     |            , ОсновнойОборотыДтКт.СубконтоДт1 as [СубконтоДт1 $Субконто]
     |       , "             " as СубконтоКт1
     |            , ОсновнойОборотыДтКт.СуммаОборот
     |      FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,,,(СчетДт  = :Счет),Контрагенты,
     |) AS ОсновнойОборотыДтКт
     |
     |UNION ALL
     |
     |      SELECT
     |              ОсновнойОборотыДтКт.Период
     |            , ОсновнойОборотыДтКт.СчетДт [СчетДт $Счет.Основной]
     |            , ОсновнойОборотыДтКт.СчетКт [СчетКт $Счет.Основной]
     |            , "             "                  as СубконтоДт1
     |       , ОсновнойОборотыДтКт.СубконтоКт1 as [СубконтоКт1 $Субконто]
     |            , ОсновнойОборотыДтКт.СуммаОборот
     |      FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,,,(СчетКт  = :Счет),,Контрагенты
     |) AS ОсновнойОборотыДтКт

Судя по отладчику второй запрос не парсится!!! Почему?
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #28 - 23. Февраля 2007 :: 10:50
Печать  
Nick писал(а) 23. Февраля 2007 :: 09:55:
Судя по отладчику второй запрос не парсится!!! Почему?

Ошибка исправлена.

Код
Выбрать все
|SELECT   ОсновнойОборотыДт.СчетКт [КоррСчет $Счет.Основной]
|		, ОсновнойОборотыДт.СубконтоДт1 [Контрагент $Субконто]
|		, ОсновнойОборотыДт.СубконтоДт1_вид Контрагент_вид
|		, ОсновнойОборотыДт.СуммаОборот СуммаОборотДт  
|		, 0 СуммаОборотКт  
|FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,,,
|		(СчетДт = :Счет),
|		Контрагенты, БезСубконто
|	) AS ОсновнойОборотыДт  
|
|UNION ALL
|
|SELECT   ОсновнойОборотыКт.СчетДт [КоррСчет $Счет.Основной]
|		, ОсновнойОборотыКт.СубконтоКт1 [Контрагент $Субконто]
|		, ОсновнойОборотыКт.СубконтоКт1_вид Контрагент_вид
|		, 0 СуммаОборотДт  
|		, ОсновнойОборотыКт.СуммаОборот СуммаОборотКт  
|FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,,,
|		(СчетКт = :Счет),
|		БезСубконто, Контрагенты
|	) AS ОсновнойОборотыКт 



файл см. ниже
« Последняя редакция: 26. Февраля 2007 :: 15:14 - berezdetsky »  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #29 - 26. Февраля 2007 :: 11:31
Печать  
Доброго времени суток, насколько я понимаю остатки считаются следующим объразом:
Остаток_На_Начало + Обороты до даты расчета?
Если я получаю остаток на дату в начале месяца то выигрышь в скорости очень хороший, а если на дата в конеце месяца то не то что выигрыш а огромный проигрыш по времени + жрёт кучу оперативки Печаль, в чем может быть дело?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 ... 17
ОтправитьПечать