Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) AccountsRecordset v3.17. Прямые запросы к БИ. (число прочтений - 130661 )
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
AccountsRecordset v3.17. Прямые запросы к БИ.
14. Июня 2007 :: 10:33
Печать  
Класс AccountsRecordset - наследник ODBCRecordset.

Реализует ВТ БИ.Субконто, БИДвиженияССубконто, БИОстатки, БИОбороты, БИОборотыДтКт и БИОстаткиОбороты (аналоги восьмёрочных таблиц запросов). Также реализован ряд метаимен, облегчающих работу с бух. подсистемой 1С:

  • Имена полей
    $РазделительУчета
    $РеквизитСчета.<Идентификатор>
    $РеквизитОперации.<Идентификатор>
    $РеквизитПроводки.<Идентификатор>
  • Идентификаторы
    $ОсновнойПланСчетов
    $ПланСчетов.<Идентификатор>
    $ПланСчетов36.<Идентификатор>
    $ВидСубконто.<Идентификатор>
    $ПустаяДата
    $ПустаяДатаODBC
  • Виртуальные значения
    $Константы.<Идентификатор>


Подробности - в описании .ert. Только для SQL.

v3.0
Добавлены ВТ:
- БИОбороты без поддержки корреспонденции;
- БИОстаткиОбороты.

v2.6.
Добавлены:
- свойство Текст;
- методы УложитьСписокГрупп и ПолучитьПараметр.

v2.5.
Добавлена ВТ БИОбороты с поддержкой корреспонденции.

v2.4.
Метапарсер переписан с использованием регулярных выражений. Увеличена скорость парсинга.
Убрана возможность использования комментариев T-SQL внутри ВТ.

Для работы в Windows 2000 требуется обновление Windows Script


« Последняя редакция: 22. Октября 2012 :: 19:26 - berezdetsky »  

AccountsRecordset.zip ( 35 KB | Загрузки )

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


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset (прямые запросы к бух. итога
Ответ #1 - 19. Июня 2007 :: 08:42
Печать  
Неплохо бы описать свойство мд со словом Экспорт.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset (прямые запросы к бух. итога
Ответ #2 - 19. Июня 2007 :: 09:15
Печать  
steban писал(а) 19. Июня 2007 :: 08:42:
Неплохо бы описать свойство мд со словом Экспорт.

Исправлено.
  

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


I Love YaBB 2!

Сообщений: 11
Зарегистрирован: 13. Июня 2007
Re: AccountsRecordset (прямые запросы к бух. итога
Ответ #3 - 25. Июня 2007 :: 14:27
Печать  
Опишите, пожалуйста, отличия V1 от V2.
Спасибо.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset (прямые запросы к бух. итога
Ответ #4 - 25. Июня 2007 :: 14:42
Печать  
Основное отличие - в реализации механизма отбора по счетам. Реализация V1 не эффективна. Следствие этого отличия - различный синтаксис у ВТ. Детали записаны в описаниях .ert.
  

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


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.35. Прямые запросы к БИ.
Ответ #5 - 27. Июня 2008 :: 10:26
Печать  
Версия 2.32 и 2.35 выдают ошибку [quote]AccountsRecordset::СформироватьОшибку(Строка Ошибка=State 42000, native 8156, message [Microsoft][ODBC SQL Server Driver][SQL Server]The column 'НомерСтроки' was specified multiple times for 'ОборотыДебет'.) : State 42000, native 8156, message [Microsoft][ODBC SQL Server Driver][SQL Server]The column 'НомерСтроки' was specified multiple times for 'ОборотыДебет'.[/quote]

вот в таком фрагменте запроса
[code]
select
     date_time_iddoc [ДатаОперации $Дата],
     СодержаниеПроводки [СодержаниеПроводки],
     Сумма Получение,
     0 Выдача
from
     $БИДвиженияССубконто.Основной(:начДата,:конДата~,,СчетДт = :сч71 and СубконтоДт1 = :выбСотрудник and $РазделительУчета = :выбФирма) ОборотыДебет[/code]

Почему такое может быть ?
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.35. Прямые запросы к БИ.
Ответ #6 - 27. Июня 2008 :: 11:01
Печать  
Хм.. У меня в этом запросе возникает ошибка Цитата:
Invalid column name 'date_time_iddoc'

Что, в общем-то, логично Подмигивание . С полем 'ПозицияДокумента' ошибка не воспроизводится.
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.35. Прямые запросы к БИ.
Ответ #7 - 27. Июня 2008 :: 11:06
Печать  
[quote author=mash link=1181817217/0#5 date=1214562364]Версия 2.32 и 2.35 выдают ошибку [quote]AccountsRecordset::СформироватьОшибку(Строка Ошибка=State 42000, native 8156, message [Microsoft][ODBC SQL Server Driver][SQL Server]The column 'НомерСтроки' was specified multiple times for 'ОборотыДебет'.) : State 42000, native 8156, message [Microsoft][ODBC SQL Server Driver][SQL Server]The column 'НомерСтроки' was specified multiple times for 'ОборотыДебет'.[/quote]
Почему такое может быть ?[/quote]
Это может быть, если у тебя есть реквизит проводки с названием 'НомерСтроки' (или с любым другим названием, совпадающим с каким-либо предопределённым полем ВТ).
  

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


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.35. Прямые запросы к БИ.
Ответ #8 - 27. Июня 2008 :: 11:41
Печать  
И правда  Улыбка Да, такой реквизит есть. Спасибо !
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
classic
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.35. Прямые запросы к БИ.
Ответ #9 - 27. Июня 2008 :: 18:54
Печать  
Ограничения на 3 субконто есть? Т. е. будет ли нормально работать при использовании 4 субконто?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.35. Прямые запросы к БИ.
Ответ #10 - 28. Июня 2008 :: 06:58
Печать  
В классе используется настройка Метаданные.МаксимальноеКоличествоСубконто, так что ограничений на количество субконто нет.
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.00 CTP 3.
Ответ #11 - 05. Августа 2008 :: 17:45
Печать  
v3.00 Community Technology Preview 3.

Набросок ВТ БИОстаткиОбороты. Без курсоров. Просьба протестировать правильность расчёта остатков - оставлять так или переписывать на курсорах.

Запросы не оптимизированы.


$БИОстаткиОбороты.<ПланСчетов>([<НачалоПериода>], [<КонецПериода>],
     [<Периодичность>], [<МетодДополнения>], [<Соединение>],
     [<УсловиеСчета>], [<Субконто>], [<Условие>])


Поля:
     РазделительУчета
     Валюта

     Период
           Существует при установке периодичности в День | Неделя | Месяц | Квартал | Год.

     ПозицияДокумента
     ВидДокумента
           Существуют только в том случае, если указана периодичность Документ.

     <Имя Ресурса>НачальныйОстаток
     <Имя Ресурса>Оборот
     <Имя Ресурса>КонечныйОстаток
           где <Имя Ресурса> в (Количество, Сумма, ВалютнаяСумма)

     Субконто<НомерСубконто>
     Субконто<НомерСубконто>_вид
     Счет


Добавлены: атрибут Текст, методы УложитьСписокГрупп и ПолучитьПараметр. Описание инсайд.


OFF: Наконец-то до меня дошло, почему ВТ РегистрОстаткиОбороты возвращает позицию документа, а не IDDOC.

Очень довольный


Файл удалён за ненадобностью.
« Последняя редакция: 15. Августа 2008 :: 14:37 - berezdetsky »  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.50. Прямые запросы к БИ.
Ответ #12 - 08. Августа 2008 :: 20:04
Печать  
Чё, не нужно никому это счастье? Озадачен Вычёркивать?
  

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



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: AccountsRecordset v2.50. Прямые запросы к БИ.
Ответ #13 - 09. Августа 2008 :: 07:03
Печать  
Нет - не вычеркивать. Однозначно не вычеркивать
  
Наверх
IP записан
 
vlad-1c
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 09. Июля 2006
Re: AccountsRecordset v2.50. Прямые запросы к БИ.
Ответ #14 - 09. Августа 2008 :: 10:28
Печать  
berezdetsky писал(а) 08. Августа 2008 :: 20:04:
Чё, не нужно никому это счастье? Озадачен Вычёркивать?


Нужно! Уже тестирую....
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.50. Прямые запросы к БИ.
Ответ #15 - 09. Августа 2008 :: 11:25
Печать  
vlad-1c писал(а) 09. Августа 2008 :: 10:28:
Нужно! Уже тестирую....

В общем, расчёт переходящих остатков (по периодам) там основан на недокументированном поведении SQL Server, что позволило избежать использования курсоров. Я уверен, что это будет работать в SQL Server 2000 (и не уверен, что будет в 2005  Круглые глаза ), но хотелось бы увидеть результат независимого тестирования.

Есть ещё пара архитектурных вопросов, связанных с оборотными субконто, но давайте сперва разберёмся с этим.
  

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


I Love YaBB 2!

Сообщений: 1
Зарегистрирован: 11. Августа 2008
Re: AccountsRecordset v2.50. Прямые запросы к БИ.
Ответ #16 - 12. Августа 2008 :: 12:54
Печать  
Не получается выполнить запрос к БИДвиженияССубконто с соединением к  $БИ.Субконто

Пишет: "AccountsRecordset::СформироватьОшибку(Строка Ошибка=Meta name parser error: неизвестное метаимя или алиас "$БИ")".
Брал пример работы из описания класса и менял на свои параметры запроса

СтоИт задача реализовать карточку отдельного счета (список проводок), может быть можно как-нить по-другому сделать?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.50. Прямые запросы к БИ.
Ответ #17 - 12. Августа 2008 :: 14:12
Печать  
Для исправления ошибки в функции МетаПарсер замени строку

ПарситьБИСубконто(ТекстЗапроса);

на

ТекстЗапроса = ПарситьБИСубконто(ТекстЗапроса);


UPD: Исправленная версия лежит здесь.
« Последняя редакция: 12. Августа 2008 :: 17:06 - berezdetsky »  

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


Ламер - вансист

Сообщений: 262
Местоположение: Ukraine, Kyiv
Зарегистрирован: 27. Декабря 2006
Пол: Мужской
Re: AccountsRecordset v2.63. Прямые запросы к БИ.
Ответ #18 - 29. Сентября 2008 :: 13:25
Печать  
Почему у меня такое происходит?:

Если в файле defcls.prm я баню определения функций класса:
Код
Выбрать все
класс AccountsRecordset = AccountsRecordsetV2.ert : ODBCRecordset
{
  //Неопределенный ВыполнитьИнструкцию(...);
  //Число Открыть(...);
  //Строка ОбрМетаСКЛ(Строка ТекстЗапроса, Число bOnOff = 1);
  //void Отладка(Число bOnOff = 1);
  //Неопределенный ВыполнитьСкалярный(Строка ТекстЗапроса = "");
  //void УложитьСписокГрупп(Неопределенный СписокОбъектов, Строка ИмяТаблицы, Строка ВидОбъектов = "");
}; 


то такая конструкция работает нормально:
Код
Выбрать все
NameOfFunction="fn_getrestsoftmz";
_DeleteFunction(NameOfFunction);
	rs_acc=createobject("AccountsRecordset");
	ТекстЗапроса = "
	|select
	|		rests.Субконто1 					[Субконто1 $Субконто]
	|,		rests.Субконто1_вид
	|,		upper(rtrim(storage.descr))			[Склад]
	|,		rests.Субконто2 					[Субконто2 $Субконто]
	|,		rests.Субконто2_вид
	|,		rtrim(tmz.descr)					[ТМЦ]
	|,		rtrim($tmz.КодТНВД)					[КодТНВД]
	|,		rests.Субконто3 					[Субконто3 $Субконто]
	|,		rests.Субконто3_вид
	|,		rtrim(part.descr)					[Партия]
	|,		isnull($part.Цена_Прих,0)			[ЦенаПартии]
	|,		$part.Дата_Прих						[ДатаПартии]
	|,		isnull(rests.СуммаОстатокДт,0)		[СуммаСКД]
	|,		isnull(rests.СуммаОстатокКт,0)		[СуммаСКК]
	|,		isnull(rests.КоличествоОстатокДт,0)	[КвоСКД]
	|,		isnull(rests.КоличествоОстатокКт,0)	[КвоСКК]
	|,		0									[Обработано]
	|from
	|		$БИОстатки.Основной(:ВыбДата,,(Счет = :ВыбСчет),(МестаХранения, ТМЦ, Партии),) rests
	|		inner join $Справочник.МестаХранения storage(nolock) on storage.id = Субконто1
	|		left join $Справочник.ТМЦ tmz(nolock) on tmz.id = Субконто2
	|		left join $Справочник.Партии part(nolock) on part.id = Субконто3
	|";
	rs_acc=createobject("AccountsRecordset");
	rs_acc.УстановитьТекстовыйПараметр("ВыбДата",'30.09.2007');
	ной));
	Мета = rs_acc.ОбрМетаСКЛ(ТекстЗапроса,1);
	textQuery="create function dbo."+NameOfFunction+" ()
	|returns table
	|as
	|return
	|(
	|"+Мета+")";


	if rs.execute(textQuery)=0 then
		message("Ошибка создания функции "+NameOfFunction+"!","!!!");
		message(rs.GetLastError());
		Return;
	endif;
 


а если оставляю так как есть, т.е. такой prm как в архиве, то сыпятся ошибки:
Код
Выбрать все
Метод AccountsRecordset::ВыполнитьСкалярный - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод AccountsRecordset::ОбрМетаСКЛ - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод AccountsRecordset::ВыполнитьСкалярный - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод AccountsRecordset::ОбрМетаСКЛ - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Мета = rs_acc.ОбрМетаСКЛ(ТекстЗапроса,1);
{D:\DB1C\ACCOUNT_DB\EXTFORMS\UNIPROCS\CREATEFUNCTION.ERT(292)}: Метод  - различаются параметры в описании класса (prm-файл) и его реализации (модуль класса) 


  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.63. Прямые запросы к БИ.
Ответ #19 - 29. Сентября 2008 :: 10:52
Печать  
Kapet писал(а) 29. Сентября 2008 :: 13:25:
Почему у меня такое происходит?

Веротно, потому, что Цитата:
различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)

Я бы предпочёл, чтобы исправление было внесено в ночной билд - убрать вообще Знач из файлов описаний. Или оставить его там для обратной совместимости, сделав незначимым.
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.63. Прямые запросы к БИ.
Ответ #20 - 14. Ноября 2008 :: 08:17
Печать  
1С 7.70.020. Текстошибки:
[code]
тз_итоги = RecordSetEx.ВыполнитьИнструкцию(текст_запроса);
{D:\DOCS\РАБОТА\2008_11\ОБОРАЧИВАЕМОСТЬТОВАРНЫХЗАПАСОВ\ОБОРАЧИВАЕМОСТЬ ТОВАРНЫХ ЗАПАСОВ.ERT(127)}: AccountsRecordset::СформироватьОшибку(Строка Ошибка=State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 74: Incorrect syntax near 'МестоХранения $Субконто'.) : State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 74: Incorrect syntax near 'МестоХранения $Субконто'.
вм.СформироватьОшибку(Ошибка);
{D:\1SDB\77\TesterSTO\MyClasses\DB\AccountsRecordsetV2.ert(50) }
[/code]

Текст запроса, вызвавшего ошибку:
[code]
     текст_запроса = "
     |
     | SELECT
     |                  Счет [Счет $Счет.Основной]
     |            , Субконто1 [МестоХранения $Субконто]
     |            , Субконто1_вид МестоХранения_вид
     |            , Субконто2 [ТМЦ $Субконто]
     |            , Субконто2_вид ТМЦ_вид
     |   , 0
     |   , СуммаОборотДт
     |            , СуммаОборотКт
     |   , 0
     | FROM
     |            $БИОбороты.Основной(:НачДата, :КонДата ~, Период,,(Счет IN (SELECT Val FROM #ГруппаСчетов)), (МестаХранения, ТМЦ)) БИОборотыОсновной
     |
     | UNION ALL
     |
     | SELECT
     |                  Счет [Счет $Счет.Основной]
     |            , Субконто1 [МестоХранения $Субконто]
     |            , Субконто1_вид МестоХранения_вид
     |            , Субконто2 [ТМЦ $Субконто]
     |            , Субконто2_вид ТМЦ_вид
     |   , (СуммаОстатокДт - СуммаОстатокКт) НачОстаток
     |   , 0
     |   , 0
     |   , 0
     | FROM
     |            $БИОстатки.Основной(:НачДата,, (Счет IN (SELECT Val FROM #ГруппаСчетов)), (МестаХранения, ТМЦ),) AS НачОстатки
     |
     |";
[/code]

Если меняю местами объединяемые таблицы (сначала Остатки, потом Обороты), то работает нормально. Почему? Это так и надо?
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.63. Прямые запросы к БИ.
Ответ #21 - 14. Ноября 2008 :: 08:41
Печать  
Это ошибка. Посмотрю на выходных.
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.63. Прямые запросы к БИ.
Ответ #22 - 14. Ноября 2008 :: 09:46
Печать  
Глянул в отладчике...
Ошибки нет - надо прописывать все запятые, потаму как парсер без тормозов и проскакивает закрывающую скобку, и собирает в параметры все подряд: имя таблицы, следующий юнион, ту же закрывающую скобку...  Смех  ...в случае если эта таблица в конце, то проблем нет - просто заканчивается строка и эти параметры остаются пустыми. Потаму так и получилось.

Было б приятно, если бы класс распознавал, что параметры закончились и следует остановиться (оставшиеся забить нулями). Где это сделоть не понял - джуниор я в 1С++...

Было б максимально приятней, если бы вы сделали это моими ручками (направлять, а я буду въезжать).
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.64. Прямые запросы к БИ.
Ответ #23 - 15. Ноября 2008 :: 10:56
Печать  
Исправлено.
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.64. Прямые запросы к БИ.
Ответ #24 - 15. Ноября 2008 :: 21:12
Печать  
Улыбка где выкладывается последняя версия?  Улыбка
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.64. Прямые запросы к БИ.
Ответ #25 - 16. Ноября 2008 :: 00:19
Печать  
Roman_K писал(а) 15. Ноября 2008 :: 21:12:
Улыбка где выкладывается последняя версия?  Улыбка

ЗдесьКруглые глаза
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.65. Прямые запросы к БИ.
Ответ #26 - 17. Ноября 2008 :: 13:42
Печать  
Есть просьба расширить БИОстатки в таком виде чтобы там появилось измерение Период. чтобы получать остатки по дням из одной виртуальной таблицы

нужно для расчета периода оборачиваемости товарных запасов по формуле  = "средние продажи в день" / "средние остатки в день".

Уж очень влом плодить юнионы для каждого дня квартала  ...да и строка 1Совская не вместит столько соединений ((
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.65. Прямые запросы к БИ.
Ответ #27 - 17. Ноября 2008 :: 14:23
Печать  
Посчитай остатки на начало периода + обороты по дням. Обороты рекомендую считать ВТ БИДвиженияССубконто (ВТ БИОбороты считается с корреспонденцией).

Полноценную ВТ БИОстаткиОбороты я представляю, как сделать, но энтузиазма не хватает..
  

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


1C++ rocks!

Сообщений: 10
Зарегистрирован: 08. Декабря 2008
Re: AccountsRecordset v2.65. Прямые запросы к БИ.
Ответ #28 - 08. Декабря 2008 :: 15:30
Печать  
Подскажите, почему не работает:

     "SELECT Счет [Счет $Счет.IAS]
     |, Валюта [Валюта $Справочник.Валюты]
     |, Субконто1 [Субконто1 $Субконто]
     |, Субконто1_вид   
     |, Субконто2 [Субконто2 $Субконто]    
     |, Субконто2_вид 
     |, СуммаОборотДт
     |, СуммаОборотКт
     |FROM $БИОбороты.IAS(:НачДата, :КонДата ~,
     |,,
     |      (Счет = :ВыбГруппаСчетов),
     |      ,((РазделительУчета = :ВыбФирма) and (Субконто1 in (select val from #СписЦФУ))),,) AS БИОбороты
     |ORDER BY Счет"   

Причем если убрать and (Субконто1 in (select val from #СписЦФУ)) - работает на ура.

Пишет: The column prefix '_1SBKTTL_vt' does not match with a table name or alias name used in the query.) : State 42000, native 107, message [Microsoft][ODBC SQL Server Driver][SQL Server]The column prefix '_1SBKTTL_vt' does not match with a table name or alias name used in the query.
  
Наверх
 
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.65. Прямые запросы к БИ.
Ответ #29 - 08. Декабря 2008 :: 16:06
Печать  
В продолжение темы о склеивании таблиц...

Задача: мне нужен остаток 28ого на :НачДата Обороты между :НачДата и :КонДата~ и остаток на :КонДата~

Логично предположить, что
ОстатокНач = (СуммаОстатокДт - СуммаОстатокКт) из $БИОстатки.Основной(:НачДата
Приход = СуммаОборотДт из $БИОбороты.Основной(:НачДата, :КонДата~
Расход = СуммаОборотКт из $БИОбороты.Основной(:НачДата, :КонДата~
ОстатокКон = (СуммаОстатокДт - СуммаОстатокКт) из $БИОстатки.Основной(:КонДата~ ...


ОстатокНач + Приход - Расход = ОстатокКон

но у меня не так, какие даты использовать или какие таблицы сцепливать?
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.65. Прямые запросы к БИ.
Ответ #30 - 08. Декабря 2008 :: 16:10
Печать  
Также сравниваю с оборотно-сальдовой ведомостью - цифры не совпадают. в чем может быть дело?
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #31 - 08. Декабря 2008 :: 19:49
Печать  
serg_gres писал(а) 08. Декабря 2008 :: 15:30:
Пишет: The column prefix '_1SBKTTL_vt' does not match with a table name or alias name used in the query.) : State 42000, native 107, message [Microsoft][ODBC SQL Server Driver][SQL Server]The column prefix '_1SBKTTL_vt' does not match with a table name or alias name used in the query.

Исправлено.

Roman_K
Недостаточно информации для воспроизведения.
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #32 - 08. Декабря 2008 :: 22:12
Печать  
Как ведут себя остатки в случаи если присутствовало сторнирование?

точно ситуацию не выловил, но когда было сторнирование, то остатки накапливаются на "нетипичных" сторонах т-счета (Кт для Активных, Дт для Пассивных) и можно выйти на нужную сумму путем свертывания Дт ового и Кт ового остатков ...но в конце после 2-3 месяцев суммы другие, а "нетипичные" - нули.
Коротко: создаем движение по счету, сторнируем какуюто проводку. Смотрим обороты и остатки за период, в к-ом было движение, Смотрим обороты и остатки за отдаленный период (через пол года).

мог бы выслать тестовую базу ...но 120 МВ... в каком Вы городе?

Еще просьба разъяснить как считаются цифры в таблицах отностильно ВКЛЮЧЕНИЯ и НЕ ВКЛЮЧЕНИЯ движений с совпадающей датой.   ....в качестве аналогии можно использовать описание поведения ф-ций РассчитатьРегистрыНа и РассчитатьРегистрыПо.

Улыбка
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #33 - 09. Декабря 2008 :: 06:20
Печать  
Roman_K писал(а) 08. Декабря 2008 :: 22:12:
то остатки накапливаются на "нетипичных" сторонах т-счета (Кт для Активных, Дт для Пассивных) и можно выйти на нужную сумму путем свертывания Дт ового и Кт ового остатков ...


2 berezdetsky
Помнишь я писал в теме про прямые запросы к бух. таблицам про отсутствие проверки активности и пассивности счетов.
Просто дело в том что Активный счет какие бы не имел остатки (больше или меньше 0) они должны быть с Дт-овой стороны, а пассивный счет должен иметь с Кт-овой стороны. Для АП-счетов разговор отдельный.
А если верить сбору ВТ остатков там просто проверка на больше/меньше и отнесение к Дт или Кт-овой стороне. На самом деле проверка должна включать проверку активности/пассивности и больше/меньше. Т.е. если АCTIVE=1 то в любом случае Дт, если АCTIVE = 2 то в любом случае Кт, если АCTIVE = 3... то... >0 - Дт, <0 - (-Кт)

А теперь OFF...
Вообще неправильно хранить как 1С хранит - т.е. свернуто. Правильнее хранить развернуто Дт и Кт (для АП счетов). А итого сворачивать.
А конкретно реализация работы 1С вот какая: сбор остаков по счету (любому) в режиме "Без субконто" собирается по таблице остатков с полями где Kind = 4. Т.е. только по счету. И вот тут ошибка самой 1С что она не удосужилась спроектировать систему правильно с точки зрения бух. учета. Но столько лет никого это не волновало а бухгалтера привыкли так видеть картину что в общем то ничего в этом страшного нет. Да и это "узкое" место системы 1С обошла путем встраивания плана счетов в типовую конфу где счета АП (кроме 00 а он должен быть = 0) имеют или аналитику или субсчета (а этого достаточно для получения развернутого сальдо).
Короче это все относить прошу к разряду бреда.  Подмигивание
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #34 - 09. Декабря 2008 :: 07:30
Печать  
1C, то может и понятно... Но дело в том, что суммы не сходятся не только с типовы "оборотно сальдовая по счету", но и сами с собой:

Если посчитать остаток на Начало периода, потом остаток на Конец периода, и обороты с Начала периода по Конец периода, то должно выполняться равенство:
НачОстДт - НачОстКт + ОборотДт - ОборотКт = КонОстДт - КонОстКт.
Оно же не выполняется....

Согласен, что проблема существует только при определенных условий (смотрите выше мои посты), четко сформулировать каторыя я пока не могу, но почему такое может случится? Где капать?

З.Ы. Я понимаю, что Вы мне ничем не обязаны, и у Вас есть свои вопросы, но Просьба ответить в скором времени, т.к. я обязан и у меня есть определенные сроки... А пока начну переписывать отчет без этого класса...  Печаль
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #35 - 09. Декабря 2008 :: 08:17
Печать  
Roman_K писал(а) 08. Декабря 2008 :: 22:12:
мог бы выслать тестовую базу ...но 120 МВ...

Это одна обработка и две ручных операции столько занимают?  Ужас

Roman_K писал(а) 09. Декабря 2008 :: 07:30:
Согласен, что проблема существует только при определенных условий (смотрите выше мои посты), четко сформулировать каторыя я пока не могу, но почему такое может случится? Где капать?

Пока я не смогу это воспроизвести, я ничем не смогу помочь.
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #36 - 09. Декабря 2008 :: 08:41
Печать  
berezdetsky писал(а) 09. Декабря 2008 :: 08:17:
Это одна обработка и две ручных операции столько занимают?  Ужас

это проект внедрения...

  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
serg_gres
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Зарегистрирован: 08. Декабря 2008
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #37 - 09. Декабря 2008 :: 08:43
Печать  
Спасибо  Улыбка
  
Наверх
 
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #38 - 09. Декабря 2008 :: 08:43
Печать  
[quote author=berezdetsky]Пока я не смогу это воспроизвести, я ничем не смогу помочь. [/quote]
Со сторнированием пробывали? или на какой нить реальной базе?
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #39 - 09. Декабря 2008 :: 08:44
Печать  
В каком вы городе?
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #40 - 09. Декабря 2008 :: 08:57
Печать  
2 vandalsvq
2 berezdetsky
Можете описать как именно работают отчет "Оборотно-сальдовая по счету" и ВТ БИОстатки? Откуда берут данные, как их обрабатывают - владея, этой информацией я бы мог эффективней вносить гипотизы причин, целенаправленно тестить, оценить качество входящей информации для формирования остатков - может, в базе куча мусора, к-ый и косит результаты..
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #41 - 09. Декабря 2008 :: 12:14
Печать  
Roman_K писал(а) 09. Декабря 2008 :: 08:57:
2 vandalsvq
2 berezdetsky
Можете описать как именно работают отчет "Оборотно-сальдовая по счету" и ВТ БИОстатки? Откуда берут данные, как их обрабатывают - владея, этой информацией я бы мог эффективней вносить гипотизы причин, целенаправленно тестить, оценить качество входящей информации для формирования остатков - может, в базе куча мусора, к-ый и косит результаты..


Слушай мне кажется все можно решить (в смысле помочь) если ты вложишь цифры которые получаются + анализ соответсвующего счета или ОСВ по данному счету. Потом возможно и другие данные попросит тот кто решит помочь.
Я бы помог но на работе Инет ограничен, а дома времени до выходных не будет.  Смущённый
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #42 - 09. Декабря 2008 :: 12:41
Печать  
2 vandalsvq
Спасибки за желание помочь, но мне тоже влом забивать данные, следить какие проводки ведут к "косякам"... а база большая. Отложим до лучших времен юзание класса. Когда эта ситуация решиться или же я прийду к выводу, что просто база была "потореченная" ))   просто есть же наверное мысли у создателя класса почему результаты по оборотам отличны от вычисляемого конечного остатка на основании начального и оборотов - естественно, что обороты собираются иным способом, чем считается остаток: у меня обороты считаются правильно за любой период, а остатки лезут: иногда это решается путем сворачивания, иногда просто отличаются.

2 berezdetsky
... и я так все еще не получил ответа как цеплять остатки к оборотам (на КАКИЕ даты рассчитвать остатки?), если обороты рассчитаны за период :НачДата и :КонДата~. Хочу выйти на ситуацию когда
НачОстатокДт - НачОстатокКт + СуммаОборотДт - СуммаОборотКт = КонОстатокДт - КонОстатокКт

спсб
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #43 - 09. Декабря 2008 :: 12:53
Печать  
Roman_K писал(а) 09. Декабря 2008 :: 12:41:
... и я так все еще не получил ответа как цеплять остатки к оборотам

Ответ был ещё в #27. Если какой-либо результат не совпадает с ожидаемым, давай тестовую базу, обработку и последовательность действий для воспроизведения.
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.65. Прямые запросы к БИ.
Ответ #44 - 09. Декабря 2008 :: 15:11
Печать  
berezdetsky писал(а) 17. Ноября 2008 :: 14:23:
Посчитай остатки на начало периода + обороты по дням. Обороты рекомендую считать ВТ БИДвиженияССубконто (ВТ БИОбороты считается с корреспонденцией).

ВТ БИОбороты считается с корреспонденцией - а что это значит, может в этом то и дело, что я не ту и не там таблицу пользую?  Смех
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #45 - 09. Декабря 2008 :: 16:16
Печать  
Это значит, что обороты считаются в разрезе корреспондирующих счетов.
  

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


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 23. Июля 2007
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #46 - 17. Декабря 2008 :: 13:03
Печать  
Вопрос про ВТ БИОстатки

А возможно использовать в УсловиеСчета список значений со счетами.
Пытаюсь с помошью УложитьСписокОбъектов() сделать это, выдает
"Invalid object name '#спСчет'"
Смущённый
  
Наверх
 
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #47 - 18. Декабря 2008 :: 07:18
Печать  
2DmitryCh
Напиши, пжл, как ты прописываешь ВТ БИОстатки (строку $БИОстатки из запроса со всеми параметрами до закрывающей скобки). И строку кода, где ты испльзуешь "УложитьСписокОбъектов" для #СпСчет.
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
DmitryCh
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 23. Июля 2007
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #48 - 18. Декабря 2008 :: 07:47
Печать  
Roman_K писал(а) 18. Декабря 2008 :: 07:18:
2DmitryCh
Напиши, пжл, как ты прописываешь ВТ БИОстатки (строку $БИОстатки из запроса со всеми параметрами до закрывающей скобки). И строку кода, где ты испльзуешь "УложитьСписокОбъектов" для #СпСчет.


спСчетоф = СоздатьОбъект("СписокЗначений");
спСчетоф.ДобавитьЗначение(СчетПоКоду("62.1"));
спСчетоф.ДобавитьЗначение(СчетПоКоду("62.2"));
спСчетоф.ДобавитьЗначение(СчетПоКоду("60.1"));
спСчетоф.ДобавитьЗначение(СчетПоКоду("60.2"));
спСчетоф.ДобавитьЗначение(СчетПоКоду("76.5"));

$БИОстатки.Основной(:ВыбДата,,
     (Счет IN (SELECT Val FROM #спСчет)),
     (Контрагенты, Договоры),
     (РазделительУчета = :ВыбФирма))

ЗапросСКЛ.УложитьСписокОбъектов(спСчетоф, "#спСчет")
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #49 - 18. Декабря 2008 :: 08:43
Печать  
Приведённый код - не эффективный, но вполне рабочий. Ошибка не воспроизводится.
  

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


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 23. Июля 2007
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #50 - 18. Декабря 2008 :: 09:09
Печать  
berezdetsky писал(а) 18. Декабря 2008 :: 08:43:
Приведённый код - не эффективный, но вполне рабочий. Ошибка не воспроизводится.


Уважаемый berezdetsky , не могли бы Вы привести верии ПО (1С++ и класса), а так же каков будет эффективный код?

У меня 1с++ - 2.5.0.1
класс - 2.65

  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #51 - 18. Декабря 2008 :: 09:30
Печать  
1C++ v2.5.0.7, класс v2.66.

  • Если в списке есть группы, то

    ЗапросСКЛ.УложитьСписокОбъектов(спСчетоф, "#спСчет", "Основной");
  • Если в списке нет групп, то можно без временной таблицы:

    (Счет IN (" + ЗапросСКЛ.мд.ПолучитьСтрокуИзСЗ(спСчетоф) + "))
  • Перенеси условие по счету из секции УсловиеСчета в секцию Условие. Секции УсловиеСчета эффективно работают только с группами счетов.
  • Если позиции видов субконто (Контрагенты, Договоры) у всех переданных счетов совпадают, передай их позиционно. К примеру:

    (Субконто1, Субконто2)
  

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


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 23. Июля 2007
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #52 - 18. Декабря 2008 :: 09:43
Печать  
Все и так чертовски быстро работает, а еще и ускорить можно! Отлично.  Улыбка

Еще такой вопрос.
Вот я делаю запрос из одной переферийной базы (оперативной) к другой (бухглатерской). Все в рамках одной структуры УРБД, то есть идентификаторы совпадают. 

Но в оперативной базе не расчитывались бухитоги давным давно, соответсвенно класс ругается на это. Я тупо закомментировал проверку на дату расчета БИ, а как будет правильней это осуществить?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #53 - 18. Декабря 2008 :: 10:23
Печать  
Наверно, так и будет правильнее, если не хочешь по OLE подключаться.
  

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


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #54 - 18. Декабря 2008 :: 14:08
Печать  
но вообщето, я не советую использовать пока что этот класс в реально работающих системах ......при наличии сторнировании в операциях суммы остатков расходяться с суммами остатков в стандартном отчете "оборотно-сальдовая оп счету".

Данный пост ни в коем случае не содержит цель опорочить данный продукт, ВЕЩЬ ДЕЙСТВИТЕЛЬНО ОЧЕНЬ ЦЕННАЯ И ПОЛЕЗНАЯ и ей нужно давать развитие, .....только вот ошибки не особо яро исправляют и не особо интересуются почему же случаи некорректной работы имеют место быть.  Улыбка

Да. вот такая вот я кака. .....просто обидно: потратил два дня и в пустую..
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #55 - 18. Декабря 2008 :: 14:47
Печать  
Также стоит отметить, что никаких материалов в подтверждение своих слов предыдущий оратор предоставить не потрудился.  Улыбка
  

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


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 23. Июля 2007
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #56 - 19. Декабря 2008 :: 08:29
Печать  
Блин, я понял почему такое выдавало.

DmitryCh писал(а) 17. Декабря 2008 :: 13:03:
Вопрос про ВТ БИОстатки

А возможно использовать в УсловиеСчета список значений со счетами.
Пытаюсь с помошью УложитьСписокОбъектов() сделать это, выдает
"Invalid object name '#спСчет'"
Смущённый


У меня  вот это

ЗапросСКЛ.УстБД(Соединение);

Стояло после УложитьСписокОбъектов() и до ВыполнитьИнструкцию()
Соответсвенно временная табличка создавалась в текущей базе, а искалась в той к которой выполнялся запрос.

PS есть тут смайлик бьющий себя молотком по голове? Смех
  
Наверх
 
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #57 - 19. Декабря 2008 :: 13:51
Печать  
berezdetsky писал(а) 18. Декабря 2008 :: 14:47:
Также стоит отметить, что никаких материалов в подтверждение своих слов предыдущий оратор предоставить не потрудился.  Улыбка

Что правда, то правда. Есть подозрение, что дело в сторнировании. После этого возникают "болты".... этим заниматься пока нэма колы, т.к. в связи с кризисом ориентируюсь на С/С++/С# проекты для валютного заказчика. на внутреннем рынке не выдерживаю сложившейся конкуренции пока  Печаль   ....но я обещаю вернуться, подученным и подпитанным )))
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
NFF
Junior Member
**
Отсутствует



Сообщений: 23
Зарегистрирован: 19. Июня 2008
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #58 - 25. Декабря 2008 :: 11:06
Печать  
У меня проблема следующего характера, не знаю как победить:
Метод AccountsRecordset::ВыполнитьСкалярный - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод AccountsRecordset::ОбрМетаСКЛ - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)

Используется 1С++ 3.0.1.21
  
Наверх
 
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #59 - 25. Декабря 2008 :: 11:26
Печать  
Если про меня, то я не совсем понял проблемы: что у тебя есть, что хочешь получить, как пробывал решить проблему?
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #60 - 25. Декабря 2008 :: 13:11
Печать  
NFF писал(а) 25. Декабря 2008 :: 11:06:
У меня проблема следующего характера, не знаю как победить:
Метод AccountsRecordset::ВыполнитьСкалярный - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод AccountsRecordset::ОбрМетаСКЛ - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)

Используется 1С++ 3.0.1.21

Это ошибка 1С++ 3.х. Определение интерфейса (prm-файл) не должно зависеть от реализации (приёма параметров по значению или по ссылке), однако, в 3.х зависит. IMHO. Собственно, я уже отвечал на этот вопрос в #19.

Обходится прописыванием Знач в .prm в соответствии с реализацией в .ert.
  

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


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #61 - 26. Декабря 2008 :: 04:17
Печать  
1.
berezdetsky писал(а) 29. Сентября 2008 :: 10:52:
Я бы предпочёл, чтобы исправление было внесено в ночной билд - убрать вообще Знач из файлов описаний. Или оставить его там для обратной совместимости, сделав незначимым.


2.
berezdetsky писал(а) 25. Декабря 2008 :: 13:11:
NFF писал(а) 25. Декабря 2008 :: 11:06:
У меня проблема следующего характера, не знаю как победить:
Метод AccountsRecordset::ВыполнитьСкалярный - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)
Метод AccountsRecordset::ОбрМетаСКЛ - различаются параметры ( Знач или без Знач ) в описании класса (prm-файл) и его реализации (модуль класса)

Используется 1С++ 3.0.1.21

Это ошибка 1С++ 3.х. Определение интерфейса (prm-файл) не должно зависеть от реализации (приёма параметров по значению или по ссылке), однако, в 3.х зависит. IMHO. Собственно, я уже отвечал на этот вопрос в #19.

Обходится прописыванием Знач в .prm в соответствии с реализацией в .ert.


Не могу с тобой согласиться по поводу ошибки 1С++ Печаль
1С++ не должен вмешиваться в решения конечного разработчика.
Если тот написал Знач в прм-файле, все последствия на нем.
И если далее он не написал Знач в файле-реализации, это явная ошибка реализации класса.

Исправлять прм-файл в этом случае совсем не обязательно, все должно зависеть от дизайна класса.
Возможно, что параметр должен все-таки передаваться по значению, а не по ссылке. В этом случае нужно править файл реализации.

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

Кстати, разработчик может вообще не юзать Знач и тогда проблемы вообще не будет Улыбка

ЗЫ если хочешь, чтобы проблема решилась, пиши еще в какой-нибудь другой ветке, т.к. эту я не мониторю, и счас случайно наткнулся.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #62 - 26. Декабря 2008 :: 10:28
Печать  
artbear писал(а) 26. Декабря 2008 :: 04:17:
Не могу с тобой согласиться по поводу ошибки 1С++ Печаль
1С++ не должен вмешиваться в решения конечного разработчика.
Если тот написал Знач в прм-файле, все последствия на нем.

Однако, зачем-то вмешивается. У меня нет Знач в .prm


artbear писал(а) 26. Декабря 2008 :: 04:17:
Исправлять прм-файл в этом случае совсем не обязательно, все должно зависеть от дизайна класса.
Возможно, что параметр должен все-таки передаваться по значению, а не по ссылке. В этом случае нужно править файл реализации.

О чём и речь. На этапе разработки интерфейса разработчик не знает, будет ли параметр изменяться в реализации метода, и, соответственно, понадобится ли там Знач.


artbear писал(а) 26. Декабря 2008 :: 04:17:
Соответственно, 1С++ сама не в состоянии за разработчика решить проблему дизайна его классов.

+1. Не стоит и пытаться.


artbear писал(а) 26. Декабря 2008 :: 04:17:
ЗЫ если хочешь, чтобы проблема решилась, пиши еще в какой-нибудь другой ветке, т.к. эту я не мониторю, и счас случайно наткнулся.

А если не хочу? Переход на 3.х в обозримом будущем не планирую.  Круглые глаза
Да и проблема, по сути, из пальца высосана. Улыбка
  

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


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #63 - 26. Декабря 2008 :: 10:35
Печать  
berezdetsky писал(а) 26. Декабря 2008 :: 10:28:
artbear писал(а) 26. Декабря 2008 :: 04:17:
Не могу с тобой согласиться по поводу ошибки 1С++ Печаль
1С++ не должен вмешиваться в решения конечного разработчика.
Если тот написал Знач в прм-файле, все последствия на нем.

Однако, зачем-то вмешивается. У меня нет Знач в .prm

Она не вмешивается, а говорит о разнице в определении и реализации, т.е. об ошибках.

berezdetsky писал(а) 26. Декабря 2008 :: 10:28:
artbear писал(а) 26. Декабря 2008 :: 04:17:
Исправлять прм-файл в этом случае совсем не обязательно, все должно зависеть от дизайна класса.
Возможно, что параметр должен все-таки передаваться по значению, а не по ссылке. В этом случае нужно править файл реализации.

О чём и речь. На этапе разработки интерфейса разработчик не знает, будет ли параметр изменяться в реализации метода, и, соответственно, понадобится ли там Знач.

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

Простой пример - программа объявлена/описана как антивирус, но нифига не защищает или вообще не выполняет антивирусные действия, кому она будет нужна ?

berezdetsky писал(а) 26. Декабря 2008 :: 10:28:
artbear писал(а) 26. Декабря 2008 :: 04:17:
Соответственно, 1С++ сама не в состоянии за разработчика решить проблему дизайна его классов.

+1. Не стоит и пытаться.

Вот и я об этом Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #64 - 26. Декабря 2008 :: 10:38
Печать  
Самое интересное - что 1С++ ведет себя по разному в зависимости от наличия/отсутствия Знач в прм-файле и есть неожиданные эффекты. В моих тестах они четко выявлялись.

ЗЫ я все-таки проблему не на пустом месте придумал и кучу времени потратил на решение Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
grayrat
Junior Member
**
Отсутствует



Сообщений: 99
Местоположение: Russia, Moscow
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #65 - 01. Марта 2009 :: 12:48
Печать  
А можно ли как-нибудь при помощи БИОстатки получить остаток на конкретную проводку, а не на документ?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v2.66. Прямые запросы к БИ.
Ответ #66 - 01. Марта 2009 :: 19:26
Печать  
Только с помощью БИОстатки - нельзя. БИОстатки + БИДвиженияССубконто - можно.

Но, IMHO, здесь что-то неправильно или в постановке задачи или в способе реализации.
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.00. Прямые запросы к БИ.
Ответ #67 - 01. Марта 2009 :: 19:50
Печать  
v3.00 (лежит в начале топика).

У параметров публичных методов убран атрибут Знач.

Переопределены английские синонимы методов.

Добавлены ВТ:
  • БИОстаткиОбороты;
  • БИОбороты без поддержки корреспонденции (для эффективного решения задач вроде http://www.1cpp.ru/forum/YaBB.pl?num=1229689386).
  •   

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



    Сообщений: 99
    Местоположение: Russia, Moscow
    Зарегистрирован: 20. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v2.66. Прямые запросы к БИ.
    Ответ #68 - 02. Марта 2009 :: 14:06
    Печать  
    berezdetsky писал(а) 01. Марта 2009 :: 19:26:
    Только с помощью БИОстатки - нельзя. БИОстатки + БИДвиженияССубконто - можно.

    Но, IMHO, здесь что-то неправильно или в постановке задачи или в способе реализации.


    Задача в принципе такая - акт сверки с контрагентом с учетом разноса оплат на конкретные документы. Т.е. в выписке может быть несколько проводок по одному документу, и остаток надо получать на момент после каждой конкретной проводки.

    А как все таки это реализовать можно при помощи БИОстатки + БИДвиженияССубконто ? Пару дней покрутил со всех сторон - ничего хорошего в голову не пришло. Движения без проблем - остатки не прицепляются...
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #69 - 02. Марта 2009 :: 15:09
    Печать  
    Это получится по запросу на каждую проводку Ужас , т.е. тормоза. Гораздо шустрее, IMHO, будет посчитать остатки на начало (конец) документа, и обновлять их на клиенте по мере обхода проводок.

    А запрос  - что-то вроде
    Код
    Выбрать все
    select sum(СуммаОстаток)
    from (
    	select СуммаОстаток
    	...
    	union all
    	select Сумма
    	from $БИДвиженияССубконто...
    		and (СчетДт = :ВыбСчет)
    		and (НомерПроводки < :ВыбНП)) AS ...
    	union all
    	select -Сумма
    	from $БИДвиженияССубконто...
    		and (СчетКт = :ВыбСчет)
    		and (НомерПроводки < :ВыбНП)) AS ...
    ) ... 
    
    
      

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



    Сообщений: 99
    Местоположение: Russia, Moscow
    Зарегистрирован: 20. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #70 - 02. Марта 2009 :: 23:25
    Печать  
    berezdetsky писал(а) 02. Марта 2009 :: 15:09:
    Это получится по запросу на каждую проводку Ужас , т.е. тормоза. Гораздо шустрее, IMHO, будет посчитать остатки на начало (конец) документа, и обновлять их на клиенте по мере обхода проводок.
    ...
    [/code]


    Ну тогда уж проще штатным методом сделать - через бухзапрос с периодичностью "проводка". Как в принципе и сделано сейчас.

    Кстати... А для БИОстаткиОбороты нельзя ли добавить переодичность "Проводка" ? Это в качестве хотелки  Подмигивание
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #71 - 03. Марта 2009 :: 11:33
    Печать  
    grayrat писал(а) 02. Марта 2009 :: 23:25:
    Кстати... А для БИОстаткиОбороты нельзя ли добавить переодичность "Проводка" ? Это в качестве хотелки  Подмигивание

    Технически сделать это не сложно, но я этого делать не буду, т.к. считаю хозоперацию минимальной значимой единицей информации в данном контексте.

    К тому же, исходники класса открыты - меняй, что хочешь.  Подмигивание
    Я считаю функционал класса завершённым, и с моей стороны развития класса больше не будет. Только исправления ошибок.
      

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


    1C программер

    Сообщений: 34
    Местоположение: Киев
    Зарегистрирован: 12. Октября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #72 - 13. Марта 2009 :: 10:18
    Печать  
    Добрый день!
    Такой вопрос - при передаче в качестве границы расчета в ВТ Остатки позиции документа, получаю ошибку "Неправильный формат времени!"
    Если передавать в качестве границы дату - все нормально.
    Позицию передаю так:
    кущийДокумент(), -1));
      

    Tempus fugit - Время течет...
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #73 - 13. Марта 2009 :: 11:29
    Печать  
    Модификатор в тексте запроса забыл.
      

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


    1C программер

    Сообщений: 34
    Местоположение: Киев
    Зарегистрирован: 12. Октября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #74 - 13. Марта 2009 :: 12:04
    Печать  
    Точно!
    Глаза замылились Улыбка))
    Спасибо Улыбка
      

    Tempus fugit - Время течет...
    Наверх
     
    IP записан
     
    vandalsvq
    1c++ power user
    Отсутствует


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #75 - 14. Марта 2009 :: 23:39
    Печать  
    Содержимое поста перенес туда - http://www.1cpp.ru/forum/YaBB.pl?num=1237144933

    Иван, очень прошу, ты как знающий человек помоги плиз.
    « Последняя редакция: 15. Марта 2009 :: 19:22 - vandalsvq »  

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


    I Love YaBB 2!

    Сообщений: 29
    Зарегистрирован: 27. Декабря 2007
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #76 - 24. Марта 2009 :: 11:03
    Печать  
    А документация есть по данному классу?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #77 - 24. Марта 2009 :: 11:13
    Печать  
    berezdetsky писал(а) 14. Июня 2007 :: 10:33:
    Подробности - в описании .ert.

      

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


    I Love YaBB 2!

    Сообщений: 29
    Зарегистрирован: 27. Декабря 2007
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #78 - 24. Марта 2009 :: 11:32
    Печать  
    Ой, прошу прощения Круглые глаза. Ведь долго думал, спросить-не спросить про документацию. Оказалось не зря думал Улыбка
      
    Наверх
     
    IP записан
     
    Vadim
    Junior Member
    **
    Отсутствует


    I Love YaBB 2!

    Сообщений: 29
    Зарегистрирован: 27. Декабря 2007
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #79 - 24. Марта 2009 :: 14:23
    Печать  
    А к не родной базе нельзя создать запрос? Имеется вот такой код:

    Код
    Выбрать все
           Перем тз;
    
    	ИБ=СоздатьОбъект("ODBCDataBase");
    	ИБ.ПрисоединитьИБ(НекийПуть);
    	рс=СоздатьОбъект("AccountsRecordset");
    	рс.УстБД(ИБ);
    
    	ТекстЗапроса = "
    	|SELECT ОсновнойОстатки.Счет
    	|	, ОсновнойОстатки.Субконто1
    	|	, ОсновнойОстатки.Субконто1_вид
    	|	, ОсновнойОстатки.СуммаОстатокДт
    	|	, ОсновнойОстатки.КоличествоОстатокДт
    	|FROM $БИОстатки.Основной(:ВыбДата,,,
    	|		(Материалы),) AS ОсновнойОстатки
    	|	INNER JOIN _1SACCS AS ПланСчетов (NOLOCK) ON ОсновнойОстатки.Счет = ПланСчетов.ID
    	|ORDER BY ПланСчетов.SCHKOD";
    
    	рс.УстановитьТекстовыйПараметр("ВыбДата", '01.01.09');
    	тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
     
    
    


    получаю в ответ:
    AccountsRecordset::СформироватьОшибку(Строка Ошибка=План счетов 'Основной' не найден!) : План счетов 'Основной' не найден!
    вм.СформироватьОшибку(Ошибка);

    В родной базе этот запрос отрабатывает корректно. Не подскажете, в чём проблема?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #80 - 24. Марта 2009 :: 14:52
    Печать  
    Парсинг привязан к метаданным и к концу рассчитанного периода текущей ИБ. Выполняй запрос в OLE-подключении.
      

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


    I Love YaBB 2!

    Сообщений: 29
    Зарегистрирован: 27. Декабря 2007
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #81 - 24. Марта 2009 :: 14:57
    Печать  
    berezdetsky писал(а) 24. Марта 2009 :: 14:52:
    Парсинг привязан к метаданным и к концу рассчитанного периода текущей ИБ. Выполняй запрос в OLE-подключении.


    Спасибо, понял.
      
    Наверх
     
    IP записан
     
    g00d
    Junior Member
    **
    Отсутствует


    I Love YaBB 2!

    Сообщений: 68
    Зарегистрирован: 13. Ноября 2006
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #82 - 31. Марта 2009 :: 18:43
    Печать  
    berezdetsky писал(а) 24. Марта 2009 :: 14:52:

    знаю что бессовестно просить
    но возможно ли реализовать следующее
    сейчас в БИОстатки  и в БИОстаткиОбороты (за это особенное спасибо !) можно получить

               <Имя Ресурса>Остаток
               <Имя Ресурса>ОстатокДт
               <Имя Ресурса>ОстатокКт
    что в принципе аналоги СНД, СНК, СКД или СКК в зависимости от условий периода
    так вот с толкнулся  с тем что часто бывает необходимо аналоги СНДРС,СКДРС,СНКРС,СККРС (развернутое сальдо)
    основное отличие в отображение итога дебетового или кредового сальдо по субконто для ненулевых

    пока это возможно сделать тремя запросами с последующей склейкой, и последующей группировкой
    приблизительно так
    Код
    Выбрать все
    	ТекстЗапроса = "
    	|SET NOCOUNT ON
    	| select  
    	| 	 Основной.Счет  [Счет $Счет.Основной]
    	|	,'' as Субконто1
    	|	, Основной.СуммаНачальныйОстатокДт as СНД
    	|	, Основной.СуммаНачальныйОстатокКт as СНК
    	|	, Основной.СуммаОборотДт as ДО
    	|	, Основной.СуммаОборотКт as КО
    	|	, Основной.СуммаКонечныйОстатокДт as СКД
    	|	, Основной.СуммаКонечныйОстатокКт as СКК
    	|	, 0 as СНДРС
    	|	, 0 as СНКРС
    	|	, 0 as СКДРС
    	|	, 0 as СККРС
    	| FROM $БИОстаткиОбороты.Основной(:НачДата, :КонДата ~, , , , , , ) AS Основной
    	|UNION ALL
    	| select  
    	| 	 Основной.Счет  [Счет $Счет.Основной]
    	|	, Основной.Субконто1 [Субконто1 $Субконто]
    	|	, sum(0) as СНД
    	|	, sum(0) as СНК
    	|	, sum(0) as ДО
    	|	, sum(0) as КО
    	|	, sum(0) as СКД
    	|	, sum(0) as СКК
    	|	, CASE  WHEN sum(Основной.СуммаОстатокДт)-sum(Основной.СуммаОстатокКт)>0 THEN sum(Основной.СуммаОстатокДт)-sum(Основной.СуммаОстатокКт) ELSE 0 END as СНДРС
    	|	, CASE WHEN sum(Основной.СуммаОстатокКт)-sum(Основной.СуммаОстатокДт)>0 THEN sum(Основной.СуммаОстатокКт)-sum(Основной.СуммаОстатокДт) ELSE 0 END as СНКРС
    	|	, 0 as СКДРС
    	|	, 0 as СККРС
    	| FROM $БИОстатки.Основной(:НачДата,,,,) AS Основной
    	|group by Основной.Счет,Основной.Субконто1,Основной.Субконто1_вид
    	|having sum(Основной.СуммаОстатокДт)<>sum(Основной.СуммаОстатокКт)
    	|UNION ALL
    	| select  
    	| 	 Основной.Счет  [Счет $Счет.Основной]
    	|	, Основной.Субконто1 [Субконто1 $Субконто]
    	|	, sum(0) as СНД
    	|	, sum(0) as СНК
    	|	, sum(0) as ДО
    	|	, sum(0) as КО
    	|	, sum(0) as СКД
    	|	, sum(0) as СКК
    	|	, 0 as СНДРС
    	|	, 0 as СНКРС
    	|	, CASE  WHEN sum(Основной.СуммаОстатокДт)-sum(Основной.СуммаОстатокКт)>0 THEN sum(Основной.СуммаОстатокДт)-sum(Основной.СуммаОстатокКт) ELSE 0 END as СКДРС
    	|	, CASE WHEN sum(Основной.СуммаОстатокКт)-sum(Основной.СуммаОстатокДт) >0 THEN sum(Основной.СуммаОстатокКт)-sum(Основной.СуммаОстатокДт) ELSE 0 END as СККРС
    	| FROM $БИОстатки.Основной(:КонДата~,,,,) AS Основной
    	|group by Основной.Счет,Основной.Субконто1,Основной.Субконто1_вид
    	|having sum(Основной.СуммаОстатокДт)<>sum(Основной.СуммаОстатокКт)";
    	тз=SQL.ВыполнитьИнструкцию(ТекстЗапроса);  
    
    	//Debug.ViewVT(тз);
    	тз.GroupBy("Счет","СНД,СНК,ДО,КО,СКД,СКК,СНДРС,СНКРС,СКДРС,СККРС");
    
     
    
    


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


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #83 - 01. Апреля 2009 :: 07:59
    Печать  
    g00d писал(а) 31. Марта 2009 :: 18:43:
    это не самым лучшим образом влияет на производительность

    Именно по-этому развёрнутое сальдо не реализовано как набор дополнительных полей. А нужный результат, как видишь, можно получить и существующими средствами.

    А в чём фишка - считать БИОстаткиОбороты с разворотом по всем субконто, передавать это всё на клиента и сворачивать там?
      

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


    I Love YaBB 2!

    Сообщений: 68
    Зарегистрирован: 13. Ноября 2006
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #84 - 01. Апреля 2009 :: 15:57
    Печать  
    berezdetsky писал(а) 01. Апреля 2009 :: 07:59:
    Именно по-этому развёрнутое сальдо не реализовано как набор дополнительных полей. А нужный результат, как видишь, можно получить и существующими средствами.

    А в чём фишка - считать БИОстаткиОбороты с разворотом по всем субконто, передавать это всё на клиента и сворачивать там?

    Извини туплю, ни как не пойму вопрос
    п.с.
    Жаль тогда надо подумать как оптимально получить развернутое сальдо, все таки 1сная функция достаточно быстро работает
      
    Наверх
     
    IP записан
     
    g00d
    Junior Member
    **
    Отсутствует


    I Love YaBB 2!

    Сообщений: 68
    Зарегистрирован: 13. Ноября 2006
    Re: AccountsRecordset v3.00. Прямые запросы к БИ.
    Ответ #85 - 01. Апреля 2009 :: 16:47
    Печать  

    кстати сейчас был приятно удивлен, когда в запросе $БИОборотыДтКт в условии заработал отбор по реквизиту проводки!
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.03. Прямые запросы к БИ.
    Ответ #86 - 01. Апреля 2009 :: 18:41
    Печать  
    Будь осторожнее с недокументированными возможностями  Подмигивание  - БИОборотыДтКт не всегда строится по проводкам.
      

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


    I Love YaBB 2!

    Сообщений: 68
    Зарегистрирован: 13. Ноября 2006
    Re: AccountsRecordset v3.03. Прямые запросы к БИ.
    Ответ #87 - 01. Апреля 2009 :: 21:31
    Печать  
    berezdetsky писал(а) 01. Апреля 2009 :: 18:41:
    Будь осторожнее с недокументированными возможностями  Подмигивание  - БИОборотыДтКт не всегда строится по проводкам.

    а подробнее ? в каких случаях  он строитсяне попроводкам?

    ну в дебаге видно что условие вставляется в запрос 1sentry
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.03. Прямые запросы к БИ.
    Ответ #88 - 02. Апреля 2009 :: 09:05
    Печать  
    Если БИОборотыДтКт считаются без разворота по субконто с периодичностью от месяца, используется таблица _1SBKTTLC.
      

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


    I Love YaBB 2!

    Сообщений: 68
    Зарегистрирован: 13. Ноября 2006
    Re: AccountsRecordset v3.03. Прямые запросы к БИ.
    Ответ #89 - 02. Апреля 2009 :: 10:35
    Печать  
    berezdetsky писал(а) 02. Апреля 2009 :: 09:05:
    Если БИОборотыДтКт считаются без разворота по субконто с периодичностью от месяца, используется таблица _1SBKTTLC.

    спасибо, а вообще жаль, что 1с позволяет хранить итоги только по реквизиту проводки
    указанного как разделитель учета...
      
    Наверх
     
    IP записан
     
    g00d
    Junior Member
    **
    Отсутствует


    I Love YaBB 2!

    Сообщений: 68
    Зарегистрирован: 13. Ноября 2006
    Re: AccountsRecordset v3.03. Прямые запросы к БИ.
    Ответ #90 - 02. Апреля 2009 :: 11:54
    Печать  
    berezdetsky писал(а) 01. Апреля 2009 :: 18:41:
    Будь осторожнее с недокументированными возможностями  Подмигивание  - БИОборотыДтКт не всегда строится по проводкам.

    а можно добавить функционал ?
    что для оборотных запросов  строящихся на таблице проводок, можно было запрашивать реквизиты проводок
    надо добавить выделенное красным, при наличии в запросе $РеквизитПроводки.*

    либо при наличии запроса $РеквизитПроводки.*
    собирать данные только через таблицу проводок


    к примеру для такого запроса
               | select  
               |        Основной.Субконто1 [Субконто1 $Субконто]
               |      , Основной.Субконто1_вид
               |      , Основной.СуммаОборот as Факт
               |      , $РеквизитПроводки.РеквизитПроводки as СтатусПроводки
               | FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата~,,,,,,) AS Основной


    select  
           Основной.СубконтоДт1 [СубконтоДт1 $Субконто]
         , Основной.СубконтоДт1_вид
         , 0 as План
         , Основной.СуммаОборот as Факт
         ,Основной. РеквизитПроводки as РеквизитПроводки  
    FROM (SELECT РазделительУчета
         , Валюта
         , СчетДт
         , СчетКт
         , СубконтоДт1, СубконтоДт1_вид, СубконтоДт2, СубконтоДт2_вид, СубконтоДт3, СубконтоДт3_вид, СубконтоКт1, СубконтоКт1_вид, СубконтоКт2, СубконтоКт2_вид, СубконтоКт3, СубконтоКт3_вид
         , РеквизитПроводки
         , Sum(СуммаОборот) СуммаОборот
         , Sum(ВалютнаяСуммаОборот) ВалютнаяСуммаОборот
         , Sum(КоличествоОборот) КоличествоОборот
         
    FROM (
         SELECT _1SENTRY_vt.SP5124 РазделительУчета
               , _1SENTRY_vt.CURRID Валюта
               , _1SENTRY_vt.ACCDTID СчетДт
               , _1SENTRY_vt.ACCKTID СчетКт
               , _1SENTRY_vt.DTSC0 СубконтоДт1, _1SENTRY_vt.VDTSC0 СубконтоДт1_вид, _1SENTRY_vt.DTSC1 СубконтоДт2, _1SENTRY_vt.VDTSC1 СубконтоДт2_вид, _1SENTRY_vt.DTSC2 СубконтоДт3, _1SENTRY_vt.VDTSC2 СубконтоДт3_вид, _1SENTRY_vt.KTSC0 СубконтоКт1, _1SENTRY_vt.VKTSC0 СубконтоКт1_вид, _1SENTRY_vt.KTSC1 СубконтоКт2, _1SENTRY_vt.VKTSC1 СубконтоКт2_вид, _1SENTRY_vt.KTSC2 СубконтоКт3, _1SENTRY_vt.VKTSC2 СубконтоКт3_вид
               , _1SENTRY_vt.SP8968 РеквизитПроводки
               , _1SENTRY_vt.SUM_ СуммаОборот
               , _1SENTRY_vt.CURSUM ВалютнаяСуммаОборот
               , _1SENTRY_vt.AMOUNT КоличествоОборот
               
         FROM _1SENTRY AS _1SENTRY_vt WITH (NOLOCK)
               
         WHERE (_1SENTRY_vt.ACTIVE = ' ')
               AND (_1SENTRY_vt.PROVKIND = ' ')
    AND ((_1SENTRY_vt.KTSC0 is not null or _1SENTRY_vt.DTSC0 is not null )) AND (_1SENTRY_vt.DATE_TIME_DOCID Between '20090401' AND '20090401Z')
    ) sq_vt
    GROUP BY РазделительУчета, СчетДт, СчетКт, Валюта, СубконтоДт1, СубконтоДт1_вид, СубконтоДт2, СубконтоДт2_вид, СубконтоДт3, СубконтоДт3_вид, СубконтоКт1, СубконтоКт1_вид, СубконтоКт2, СубконтоКт2_вид, СубконтоКт3, СубконтоКт3_вид, РеквизитПроводки
    HAVING (Sum(СуммаОборот) <> 0)
         OR (Sum(ВалютнаяСуммаОборот) <> 0)
         OR (Sum(КоличествоОборот) <> 0)
    ) AS Основной


      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.03. Прямые запросы к БИ.
    Ответ #91 - 02. Апреля 2009 :: 12:43
    Печать  
    Реквизиты проводок штатно присутствуют в ВТ БИДвиженияССубконто.

    g00d писал(а) 02. Апреля 2009 :: 11:54:
    Код
    Выбрать все
    AND (_1SENTRY_vt.KTSC0 is not null or _1SENTRY_vt.DTSC0 is not null ) 
    
    

    В этих полях не может быть null.
      

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


    I Love YaBB 2!

    Сообщений: 68
    Зарегистрирован: 13. Ноября 2006
    Re: AccountsRecordset v3.03. Прямые запросы к БИ.
    Ответ #92 - 02. Апреля 2009 :: 13:12
    Печать  
    berezdetsky писал(а) 02. Апреля 2009 :: 12:43:
    Реквизиты проводок штатно присутствуют в ВТ БИДвиженияССубконто.


    понятно, нет так нет

    berezdetsky писал(а) 02. Апреля 2009 :: 12:43:
    В этих полях не может быть null.

    я знаю, это условие ни на что не влияющее (как вариант делаю СубконтоДт1=СубконтоДт1 )
    условие я ставлю специально,
    что бы потом было легко добавлять условия зависящие от опций (не надо отслеживать and)
    например в условии
    Код
    Выбрать все
    |СубконтоДт1 =СубконтоДт1
    |"+?(ОтборСубконтоКт.GetListSize()>0," and (СубконтоКт1 in (select val from #ОтборСубконтоКт))","")+"
    |"+?(ОтборСубконтоДт.GetListSize()>0," and (СубконтоДт1 in (select val from #ОтборСубконтоДт))","")+"
    |"+?(СтатусПроводки=0,""," and ($РеквизитПроводки.СтатусПроводки =1)")+"
    |"+?(ОтбПодр=1," and (РазделительУчета =:Подразд)","")+"
      
    
    



      
    Наверх
     
    IP записан
     
    vandalsvq
    1c++ power user
    Отсутствует


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.04. Прямые запросы к БИ.
    Ответ #93 - 21. Апреля 2009 :: 03:51
    Печать  
    2 berezdetsky
    В методе УложитьСписокГрупп есть одна небольшая проблемка. При укладке объектов "Счет" при указании вида объектов выполняется код:
    Код
    Выбрать все
    set nocount on
    insert %tmp
    select a2.id
    from %tmp
    inner join _1saccs a1 with (nolock) on a1.id = %tmp.val
    left join _1saccs a2 with (nolock) on left(a2.schkod, len(a1.schkod)) = a1.schkod
    where (a2.isfolder = 1) and (a2.planid = %pid) and (a2.id not in (select val from %tmp))
    set nocount off 
    
    


    Но дело в том что в таблице _1saccs на сколько я в курсе признак isfolder - это признак "может ли счет иметь субсчета", т.е. 0 - не может, 1 - может. В твоем случае проверка стоит на = 1, следовательно в отбор сами субсчета не попадают. Надо наверное все таки проверку = 0.

    Пы.сы. я переписал твой код в свой класс (скопировал по просту говоря) и у себя это обнаружил. Если я не прав, прошу не сильно пинать ногами.  Подмигивание
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.04. Прямые запросы к БИ.
    Ответ #94 - 21. Апреля 2009 :: 07:26
    Печать  
    Собственно, поэтому метод и называется УложитьСписокГруппПодмигивание
    Просто уложить список счетов можно и штатным УложитьСписокОбъектов.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.04. Прямые запросы к БИ.
    Ответ #95 - 21. Апреля 2009 :: 08:57
    Печать  
    АААААААААА..... блин я не понял  Очень довольный
    Изивини за беспокойство.
      

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


    I Love YaBB 2!

    Сообщений: 76
    Местоположение: Санкт-Петербург
    Зарегистрирован: 10. Апреля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.04. Прямые запросы к БИ.
    Ответ #96 - 23. Апреля 2009 :: 10:49
    Печать  
    напсал такой запрос как Вид дока увидеть

         |      select    Документ [док $Документ]
         |,СубконтоКТ1 [СубконтоКТ1 $Субконто]
         |     , СубконтоКТ1_вид as СубконтоКТ1_вид  
         |      ,СодержаниеПроводки [СодержаниеПроводки]
         |      , Сумма as Факт
         |from
         |      $БИДвиженияССубконто.Основной(:Начдата,:Кондата,,СубконтоКТ1=:Контрагент) ОборотыДебет
         |
      
    Наверх
    ICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.04. Прямые запросы к БИ.
    Ответ #97 - 23. Апреля 2009 :: 12:23
    Печать  
    Соединить с журналом (_1sjourn) по iddoc и получить оттуда iddocdef.
      

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


    I Love YaBB 2!

    Сообщений: 76
    Местоположение: Санкт-Петербург
    Зарегистрирован: 10. Апреля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.04. Прямые запросы к БИ.
    Ответ #98 - 23. Апреля 2009 :: 12:28
    Печать  
    понятно я думал както лучше Улыбка
    Спасибо огромное

    можешь еще тут прояснить
    http://www.1cpp.ru/forum/YaBB.pl?num=1240465773
      
    Наверх
    ICQ  
    IP записан
     
    mash
    1c++ donor
    Отсутствует


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.04. Прямые запросы к БИ.
    Ответ #99 - 23. Апреля 2009 :: 12:35
    Печать  
    В 3.04 поймал такой баг
    вот такая конструкция не работает (вирт. таблица пуста)
    [code]
    select
    *
    from
    $БИОстатки.Новый(:выбДата~,,Счет = :сч20,(Номенклатура,Подразделения,ВидыДеятельности),РазделительУчета = :выбФирма and Субконто2 = :выбПодразделение) ТаблицаОстатки[/code]

    а вот так (условие по субконто вынесли из вирт. таблицы) - все нормально

    [code]
    select
    *
    from
    $БИОстатки.Новый(:выбДата~,,Счет = :сч20,(Номенклатура,Подразделения,ВидыДеятельности),РазделительУчета = :выбФирма ) ТаблицаОстатки
    where
    Субконто2 = :выбПодразделение[/code]
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #100 - 23. Апреля 2009 :: 18:26
    Печать  
    Исправлено в v3.05.
      

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



    Сообщений: 23
    Зарегистрирован: 19. Июня 2008
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #101 - 27. Апреля 2009 :: 12:11
    Печать  
    Есть задача сформировать запрос к бух. итогам в чужой базе в разрезе по кор. счетам, реально ли реализовать решение с помощью данного класса?
      
    Наверх
     
    IP записан
     
    Paranoid Android
    Junior Member
    **
    Отсутствует


    I Love YaBB 2!

    Сообщений: 76
    Местоположение: Санкт-Петербург
    Зарегистрирован: 10. Апреля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #102 - 30. Апреля 2009 :: 11:20
    Печать  
               ТекстЗапроса = "SELECT  *
               |FROM
               |$БИОстаткиОбороты.Основной(:НачДата, :КонДата~, , , , ,  ) AS Основной
               |";      

    не работает почему-то

    AccountsRecordset::СформироватьОшибку(Строка Ошибка=Неправильный формат времени!)
      
    Наверх
    ICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #103 - 30. Апреля 2009 :: 11:26
    Печать  
    Покажи установку параметров. Или, лучше, давай тестовую обработку.
      

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


    I Love YaBB 2!

    Сообщений: 76
    Местоположение: Санкт-Петербург
    Зарегистрирован: 10. Апреля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #104 - 30. Апреля 2009 :: 11:31
    Печать  
    так разобрался
    Кондата
    было с большой буквы !!(я думал регистр тут не важен )

    а вот следущая ошибка

         ТекстЗапроса = "SELECT  *
               |FROM $БИОборотыДтКт.Основной(:Начдата, :Кондата~,,,,,,СчетДТ IN (SELECT Val FROM #спСчет)) вв

    В метод необходимо передавать непустые объекты типа метаданных
      
    Наверх
    ICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #105 - 30. Апреля 2009 :: 12:05
    Печать  
    Запятой не хватает.
      

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



    Сообщений: 95
    Местоположение: Винница
    Зарегистрирован: 23. Февраля 2009
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #106 - 15. Мая 2009 :: 09:16
    Печать  
    berezdetsky
    Большое спасибо за полезную разработку! Улыбка
      
    Наверх
     
    IP записан
     
    SiriuS
    Junior Member
    **
    Отсутствует



    Сообщений: 87
    Зарегистрирован: 16. Февраля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #107 - 16. Мая 2009 :: 19:57
    Печать  
    berezdetsky
    Мда класс хороший... Но как то мало примеров его использования... может выложи пару штук для разогрева интереса у народа.
      
    Наверх
     
    IP записан
     
    leshik
    1c++ donor
    Отсутствует



    Сообщений: 820
    Местоположение: Пятигорск
    Зарегистрирован: 22. Апреля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #108 - 17. Мая 2009 :: 06:34
    Печать  
    SiriuS писал(а) 16. Мая 2009 :: 19:57:
    berezdetsky
    Мда класс хороший... Но как то мало примеров его использования... может выложи пару штук для разогрева интереса у народа.

    Ээээ а что не понятного - задавай вопрос, поможем написать...
      
    Наверх
    IP записан
     
    SiriuS
    Junior Member
    **
    Отсутствует



    Сообщений: 87
    Зарегистрирован: 16. Февраля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #109 - 18. Мая 2009 :: 08:03
    Печать  
    leshik писал(а) 17. Мая 2009 :: 06:34:
    Ээээ а что не понятного - задавай вопрос, поможем написать...


    Подскажите как малой кровью реализовать данный код
    Код
    Выбрать все
    	БИ=СоздатьОБъект("БухгалтерскиеИтоги");
    	БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,ВыбКонтр,,0);
    	БИ.ВыполнитьЗапрос(ВыбДата - 500,ВыбДата,СписокСчетов,,,,"операция","С");            
      
    	БИ.ВыбратьСубконто();
    	Пока БИ.ПолучитьСубконто()=1 Цикл
    		Если (БИ.СКД()-БИ.СКК())>0 Тогда
    			ТЗ.НоваяСтрока();
    			ТЗ.Контрагент=БИ.Субконто(1);
    			ТЗ.Сумма=-1*(БИ.СКК()-БИ.СКД());
    			ТЗ.ДатаДок=ВыбДата;
    		КонецЕсли;
    	КонецЦИкла; 
    
    
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #110 - 18. Мая 2009 :: 08:19
    Печать  
    Предлагаю конкретные запросы обсуждать в разделе Прямые запросы к БД.
      

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



    Сообщений: 820
    Местоположение: Пятигорск
    Зарегистрирован: 22. Апреля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #111 - 18. Мая 2009 :: 10:08
    Печать  
    berezdetsky писал(а) 18. Мая 2009 :: 08:19:
    Предлагаю конкретные запросы обсуждать в разделе Прямые запросы к БД.

    Полностью поддерживаю!
    Просьба Fez-у перенести пост  с запросов в прямые запросы.
    Или автору поста создать там тему.
      
    Наверх
    IP записан
     
    gudun_ku
    YaBB Newbies
    *
    Отсутствует


    1C++ rocks!

    Сообщений: 1
    Зарегистрирован: 28. Мая 2009
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #112 - 28. Мая 2009 :: 09:08
    Печать  
    Сорри, не туда написал. две темы открыто. Я имел в виду "БыстрыеИтоги"
      
    Наверх
     
    IP записан
     
    ol
    Senior Member
    ****
    Отсутствует


    1C++ rocks!

    Сообщений: 272
    Местоположение: Санкт-Петербург
    Зарегистрирован: 24. Января 2009
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #113 - 31. Мая 2009 :: 18:12
    Печать  
    Код
    Выбрать все
    SELECT ОсновнойОстатки.Счет as [Счет $Счет.Основной]
    		, ОсновнойОстатки.Субконто1 as [Субконто1 $Субконто]
    		, ОсновнойОстатки.Субконто1_вид
    		, ОсновнойОстатки.СуммаОстатокДт
    		, ОсновнойОстатки.СуммаОстатокКт
    FROM $БИОстатки.Основной(:ВыбДата,
    inner join $Справочник.ВидыДоговоровПоставщика СпрВД on СпрВД.id = Субконто1
    			,Счет = :ВыбГруппаСчетов
    			,ВидДоговораПоставщика,
    СпрВД.descr in ('Аренда месячная )))')
    ) AS ОсновнойОстатки
    		INNER JOIN _1SACCS AS ПланСчетов ON ОсновнойОстатки.Счет = ПланСчетов.ID
    	ORDER BY ПланСчетов.SCHKOD
    
    
     
    
    


    отказывается парсить
      
    Наверх
    ICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #114 - 01. Июня 2009 :: 09:01
    Печать  
    Я знаю.
      

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



    Сообщений: 23
    Зарегистрирован: 19. Июня 2008
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #115 - 23. Июня 2009 :: 10:52
    Печать  
    Просьба ответить...
    Есть задача сформировать запрос к бух. итогам в чужой базе в разрезе по кор. счетам, реально ли реализовать решение с помощью данного класса
      
    Наверх
     
    IP записан
     
    sarius
    YaBB Newbies
    *
    Отсутствует


    1C++ rocks!

    Сообщений: 2
    Зарегистрирован: 31. Марта 2009
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #116 - 07. Июля 2009 :: 09:15
    Печать  
    Насколько я понимаю - установить соединение аналогично с прямыми запросами через ODBCRecordSet.
    Класс по сути просто дает оболочку для создания запроса к бухитогам в удобочитаемом виде.
      
    Наверх
     
    IP записан
     
    lumox
    YaBB Newbies
    *
    Отсутствует


    I Love YaBB 2!

    Сообщений: 3
    Зарегистрирован: 10. Мая 2008
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #117 - 20. Июля 2009 :: 14:07
    Печать  
    Как в методе
    $БИОстатки.Основной
    Сделать запрос на конкретную позицию документа?
         

    Позволяет получать остатки на произвольную дату или позицию документа (во внутреннем формате) в разрезе счета и субконто.
    СформироватьПозициюДокумента(ТекущийДокумент(),-1) так ему не нравитцо(
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #118 - 20. Июля 2009 :: 14:35
    Печать  
    Используй первый модификатор строки.

    http://www.1cpp.ru/docum/html/ODBC.html#id42
      

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


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

    Сообщений: 412
    Зарегистрирован: 24. Апреля 2009
    Re: AccountsRecordset v3.05. Прямые запросы к БИ.
    Ответ #119 - 24. Июля 2009 :: 13:37
    Печать  
    Ошибка в классе?
    строка 3947

    Код
    Выбрать все
    ТекЗначение = СписокОбъектов.ПолучитьЗначение(1); 
    
    


    заменить на
    Код
    Выбрать все
    ТекЗначение = СписокОбъектов.ПолучитьЗначение(ъ); 
    
    
      
    Наверх
    wwwICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.06. Прямые запросы к БИ.
    Ответ #120 - 24. Июля 2009 :: 14:26
    Печать  
    Anatol писал(а) 24. Июля 2009 :: 13:37:
    Ошибка в классе?
    строка 3947


    Исправлено.
      

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


    I Love YaBB 2!

    Сообщений: 145
    Зарегистрирован: 19. Мая 2006
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #121 - 23. Октября 2009 :: 07:46
    Печать  
    А где можно посмотреть описание всех ВТ?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #122 - 23. Октября 2009 :: 07:57
    Печать  
    berezdetsky писал(а) 14. Июня 2007 :: 10:33:
    Подробности - в описании .ert.


     Улыбка
      

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


    I Love YaBB 2!

    Сообщений: 145
    Зарегистрирован: 19. Мая 2006
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #123 - 23. Октября 2009 :: 08:06
    Печать  
    berezdetsky писал(а) 23. Октября 2009 :: 07:57:
    berezdetsky писал(а) 14. Июня 2007 :: 10:33:
    Подробности - в описании .ert.


     Улыбка

    Спасибо. Я просто не понял где именно. Описание как-то не прижилось в системе.
      
    Наверх
     
    IP записан
     
    vandalsvq
    1c++ power user
    Отсутствует


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #124 - 10. Ноября 2009 :: 11:36
    Печать  
    Иван проверь пожалуйста у себя такой вопросик... правильно ли в ВТ БИОбороты обрабатывается ключевое слово ВидСубконто(n) в доп. условиях ВТ.
    Дело в том что когда подготавливается ВТ (при условии составления из 2-х ВТ БИОборотыДтКт) идет замена по шаблону в доп. условиях ключевого слова Субконто -> Субконто(Дт/Кт) и КорСубконто -> Субконто(Кт/Дт). При этом ВидСубконто не обрабатывается соответственно (как и ВидКорСубконто), от этого условие вроде CASE WHEN ВидСубконто1 = ... THEN Субконто1 = ... END не проходит.
    Я прошу проверить, потому что у меня ВТ сделаны полностью по аналогии с твоей, и такая вот фишка не прокатила. В итоге надо было добавить замену по шаблону не только для Субконто/КорСубконто но и для ВидСубконто/ВидКорСубконто.
    Если я ошибаюсь то прошу меня извинить. Подмигивание
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    vandalsvq
    1c++ power user
    Отсутствует


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #125 - 10. Ноября 2009 :: 19:25
    Печать  
    Иван у меня назрел вопрос...
    В общем насколько целесообразно использование соединений 1sentry с 1saccsel в ВТ ОборотыДтКт (и т.д.)... дело в том что как бы я не крутил не вертел, у меня получается что без него ВТ работают на порядок быстрее.. может я не ту траву курю?

    Пы.сы. мучал профайлер. Без accsel количество Reads-ов более чем в 2 раза меньше, показатели CPU и Duration тоже намного меньше.... хм.
    « Последняя редакция: 10. Ноября 2009 :: 20:47 - vandalsvq »  

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #126 - 10. Ноября 2009 :: 20:58
    Печать  
    Если ты про DBF, то там или целесообразно или нет - 50/50 (примерно как вероятность встретить динозавра на улице).  Смех

    Зависит и от избирательности условий. Чем больше, в процентном отношении от общего количества, записей попадает в результат, тем менее интересно добавление ещё одной таблицы. Но это так, прописные истины. В реальном запросе всегда есть выбор - возможность использовать или не использовать отбор счетов.

    А трава.. Я вот вообще не курю. Возможно, в этом всё дело..  Смех
      

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


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #127 - 10. Ноября 2009 :: 21:46
    Печать  
    vandalsvq писал(а) 10. Ноября 2009 :: 11:36:
    Иван проверь пожалуйста у себя такой вопросик... правильно ли в ВТ БИОбороты обрабатывается ключевое слово ВидСубконто(n) в доп. условиях ВТ.

    Обрабатывается правильно, только оно выглядит как Субконто<НомерСубконто>_вид. Или я не понял проблему.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #128 - 11. Ноября 2009 :: 11:59
    Печать  
    berezdetsky писал(а) 10. Ноября 2009 :: 21:46:
    Обрабатывается правильно, только оно выглядит как Субконто<НомерСубконто>_вид. Или я не понял проблему.

    Ты прав, я не прав Подмигивание вопрос закрыт.

    Кстати хотел обмануть твою ВТ: дело было так: чтобы не писать условие фильтра по счету "Счет in (select val from #Счета)", написал в параметре соединения INNER JOIN #Счета accfilter ON Счет = accfilter.val... не проканало. Улыбка

    А про accsel вопрос закрыт. Ибо для себя я сделал вывод Улыбка.
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #129 - 11. Ноября 2009 :: 12:14
    Печать  
    vandalsvq писал(а) 11. Ноября 2009 :: 11:59:
    Кстати хотел обмануть твою ВТ: дело было так: чтобы не писать условие фильтра по счету "Счет in (select val from #Счета)", написал в параметре соединения INNER JOIN #Счета accfilter ON Счет = accfilter.val... не проканало. Улыбка

    Это только в БИОбороты или ещё где?
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.07. Прямые запросы к БИ.
    Ответ #130 - 11. Ноября 2009 :: 15:15
    Печать  
    Не возьмусь сказать где еще может быть. Поймал на БИОбороты. И судя по сообщению (то что она bkttl таблицу подставила) проблема будет на БИОбороты и БИОборотыДтКт.
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #131 - 11. Ноября 2009 :: 17:49
    Печать  
    Исправлено.
      

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


    I Love YaBB 2!

    Сообщений: 145
    Зарегистрирован: 19. Мая 2006
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #132 - 10. Декабря 2009 :: 16:32
    Печать  
    Вопрос по поводу запроса. Если я делаю выборку через класс во временную таблицу и при этом типизирую данные, то потом другой выборкой при обращении к этой таблице СКЛ не находит название поля. Без типизации все нормально. Там есть какой-то нюанс?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #133 - 10. Декабря 2009 :: 18:17
    Печать  
    Нужно понимать, что типизацию выполняет 1С++ на этапе получения данных. Командами "типизатора" являются алиасы вида [Имя $Тип], содержащие требуемый тип. Соответственно, при выгрузке во временную таблицу никакой типизации (в терминах 1С) производиться не может. При обращении к таким полям временных таблиц имена нужно указывать полностью - как [Имя $Тип], а не как Имя.
      

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


    I Love YaBB 2!

    Сообщений: 145
    Зарегистрирован: 19. Мая 2006
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #134 - 14. Декабря 2009 :: 13:01
    Печать  
    Спасибо - я понял.
      
    Наверх
     
    IP записан
     
    mash
    1c++ donor
    Отсутствует


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #135 - 23. Декабря 2009 :: 10:51
    Печать  
    В ВТ [b]БИОборотыДтКт [/b]и [b]БИОбороты[/b] при периодичности "Документ" отчего то удваиваются обороты по количеству относительно стандартной отчетности (и данных операции). Пример запроса

    [code]      
    select
         ПозицияДокумента,
         j.iddoc,
         j.iddocdef,
         КоличествоОборот
    from
         $БИОборотыДтКт.Новый(:начДата, :конДата~, Документ, ,СчетДт != :выбСчет , , СчетКт = :выбСчет, Номенклатура, $РазделительУчета = :выбФирма and СубконтоКт1 =  :выбСубконто) таблицаДвижения
               inner join
         _1sjourn j (nolock)
                     on on j.date_time_iddoc = ПозицияДокумента and j.iddocdef = ВидДокумента[/code]

    что я делаю не так ?
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #136 - 23. Декабря 2009 :: 11:17
    Печать  
    А этот запрос вообще работает?  Озадачен Если отвлечься от синтаксических ошибок, засада может быть (а может и не быть) в секции УсловиеСчетаДт. Отдельно непонятно наличие соединения с _1sjourn. В общем, давай тестовую обработку и ИБ с одной операцией.
      

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


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #137 - 23. Декабря 2009 :: 12:47
    Печать  
    Про синтаксические ошибки это про два раза "on" ? Виноват, при копировании техническую ошибку допустил :)

    Решение оказалось в условии "СчетДт != :выбСчет". Если его убрать, то все работает. Вот такой запрос рабочий
    [code]
    select
         ПозицияДокумента,
         j.iddoc,
         j.iddocdef,
         КоличествоОборот
    from
         $БИОборотыДтКт.Новый(:начДата, :конДата~, Документ, , , , СчетКт = :выбСчет, Номенклатура, $РазделительУчета = :выбФирма and СубконтоКт1 =  :выбСубконто) таблицаДвижения
               inner join
         _1sjourn j (nolock)
                     on j.date_time_iddoc = ПозицияДокумента and j.iddocdef = ВидДокумента
    where
    СчетДт != СчетКт
    [/code]

    [b]А почему ?[/b]

    PS На тестовой с одной операцией воспроизвести не удалось, к сожалению :( Там все работает !

    PPS _1sjourn для общих реквизитов журнала, которые из примера вырезаны для удобочитаемости.
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #138 - 23. Декабря 2009 :: 13:07
    Печать  
    А потому, что.  Улыбка

    Функция секций УсловиеСчета совпадает с функцией секции Счет штатного метода БИ.ВыполнитьЗапрос, а там условия вида '!= :выбСчет' невозможны. Т.е. правильными условиями в секциях УсловиеСчета будут выражения вида

    Счет = :Счет1 OR Счет = :Счет2

    и прочие

    Счет IN (SELECT val FROM...


    Если твой выбСчет - не группа, выражение

    СчетДт != :выбСчет

    правильно отработает в секции Условие.
      

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


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 26. Января 2010
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #139 - 26. Января 2010 :: 14:02
    Печать  
    Уважаемые коллеги, прочитал что AccRecSet может брать данные из другой базы, но у меня данная конструкция никак не хочет работать... SQL__      = СоздатьОбъект("AccountsRecordSet");
         
         ТЗ.ВыбратьСтроки();
         Пока ТЗ.ПолучитьСтроку() =1 Цикл
               БазаХТ.ПрисоединитьИБ("Z:\trade"+ТЗ.Года+"\",<>,<>,"Driver={SQL Server};Server=<>Смехatabase=Trade"+ТЗ.Года+";Uid=sa;Pwd=<>;");
               SQL__.УстБД(БазаХТ);
    далее к примеру
         SQL__.УложитьСписокОбъектов(СпСчет, "#СпСчет","Основной");
    и потом
    SQL__.ВыполнитьИнструкцию(ТекстЗапроса);

    ругается на Invalid object name '#СпСчет'.
    хотя проверил что конект к базе создаётся, а временная табл. получается в тек базе.... где засада никак не пойму.
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #140 - 26. Января 2010 :: 14:29
    Печать  
    opozicioner84 писал(а) 26. Января 2010 :: 14:02:
    Уважаемые коллеги, прочитал что AccRecSet может брать данные из другой базы

    Ссылку можно увидеть?

    См. ответ #80.
      

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


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 26. Января 2010
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #141 - 27. Января 2010 :: 06:39
    Печать  
    только зарегился, поэтому ссылка в след. сообщении
      
    Наверх
     
    IP записан
     
    opozicioner84
    YaBB Newbies
    *
    Отсутствует


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 26. Января 2010
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #142 - 27. Января 2010 :: 06:39
    Печать  
      
    Наверх
     
    IP записан
     
    IvanN
    YaBB Newbies
    *
    Отсутствует


    1C++ rocks!

    Сообщений: 1
    Зарегистрирован: 27. Января 2010
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #143 - 27. Января 2010 :: 07:33
    Печать  
    Доброго дня.
    Скачал класс, посмотрел описание ert и... ничего не понял =).
    Можно попросить выложить какой-нибудь простой пример отчета, чтобы было от чего оттолкнуться начинающему?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #144 - 27. Января 2010 :: 10:03
    Печать  
    Многие факты и умолчания, совместимые с штатными ВТ 1С++, в описании даже не упомянуты. Т.ч. для понимания нужно посмотреть ещё документацию 1С++. Как минимум - описание ВТ, а лучше - всё приложение А.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #145 - 20. Февраля 2010 :: 22:16
    Печать  
    Иван, тут вот вопрос мне задали, а я в свою очередь задумался малость.
    Если текст запроса получается из функции ВТОбороты, то в конце запроса секция HAVING содержит проверку SUM([Вид]ОборотДт) <> 0 OR SUM([Вид]ОборотКт) <> 0. При этом если текст состоит из объединения двух таблиц ВТ БИОборотыДтКт, то эта секция (HAVING) содержит проверку SUM([Вид]Оборот) <> 0.
    Ранее у тебя была проверка аналогичная ВТОбороты, потом ты поменял. Если помнишь на память причину, расскажи плиз.
    Лично меня гложат сомнения, что это правильно.

    Пы.сы. для себя я наверное верну проверку Дт и Кт оборотов.
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #146 - 22. Февраля 2010 :: 07:46
    Печать  
    При получении оборотов без поддержки корреспонденции поле Оборот является производным (вычисляемым из) полей ОборотДт и ОборотКт.

    При получении оборотов с поддержкой корреспонденции - поля ОборотДт и ОборотКт вычисляются из Оборот, т.к. для ВТ БиОборотыДтКт поля ОборотДт и ОборотКт не имеют смысла, и их там просто нет.

    В HAVING используются базовые поля.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #147 - 22. Февраля 2010 :: 12:36
    Печать  
    Можно я все-таки попробую прояснить.
    Далее речь пойдет о ВТ БИОбороты с поддержкой корреспонденции.
    Сбор данной ВТ идет путем объединения 2-х ВТ БИОборотыДтКт.
    1. В первой мы берем поле "Оборот" и добавляем его в "ОборотДт" + оно же идет в колонку "Оборот".
    2. Во второй мы берем обратные проводки и поле "Оборот" добавляем в "ОборотКт" + оно же идет с минусом в колонку "Оборот".

    Теперь, например если у нас были проводки (за период):
    1. 51-60 = 100
    2. 60-51 = 100
    то запрос (очень грубо) получится так:
    Код
    Выбрать все
    select 100 Оборот, 100 ОборотДт, 0 ОборотКт
    from БИОборотыДтКт(51-60)
    union all
    select -100 Оборот, 0 ОборотДт, 100 ОборотКт
    from БИОборотыДтКт(60-51) 
    
    

    А сгруппированный и суммированный вернет одну строку: 0 Оборот, 100 ОборотДт, 100 ОборотКт.
    Вот и получается что HAVING SUM(Оборот) <> 0 по сути просто отрежет данную строк. Разве нет?
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #148 - 22. Февраля 2010 :: 12:54
    Печать  
    А, ну да.  Улыбка Там HAVING вообще можно выбросить.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.08. Прямые запросы к БИ.
    Ответ #149 - 22. Февраля 2010 :: 16:05
    Печать  
    berezdetsky писал(а) 22. Февраля 2010 :: 12:54:
    А, ну да.  Улыбка Там HAVING вообще можно выбросить.

    Я поставил у себя проверку. В принципе согласен что можно и выкинуть. Ну хорошо что прояснились  Подмигивание
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    vandalsvq
    1c++ power user
    Отсутствует


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #150 - 31. Марта 2010 :: 09:49
    Печать  
    Есть еще вопросик, вот смотри в ВТ БИОбороты при построении с параметрами БЕЗСУБКОНТО,БЕЗКОРСЧЕТОВ,БЕЗСУБКОНТО получается такая строка условий на таблицу проводок
    WHERE .... AND (ACCDTID <> '     0   ') при сборе по дебету
    WHERE .... AND (ACCKTID <> '     0   ') при сборе по кредиту
    К чему эта проверка?
    А если я напишу в дополнительных условия Счет = $ПустойИД, то получатся противоречивые условия и я не получу ничего в итоге вообще.

    Может я просто затупил?
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #151 - 31. Марта 2010 :: 10:09
    Печать  
    vandalsvq писал(а) 31. Марта 2010 :: 09:49:
    А если я напишу в дополнительных условия Счет = $ПустойИД

    Эээ..  Озадачен А что ты ожидаешь с таким условием получить? Общий оборот всех забалансовых счетов из проводок без корреспонденций?
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #152 - 31. Марта 2010 :: 10:19
    Печать  
    Я не по конкретному примеру, я просто как то развертку у себя ВТ смотрел, да вот просто задумался. В живом примере я не знаю зачем мне это надо Улыбка.
    На самом деле условие лишено жизненного смысла.
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #153 - 31. Марта 2010 :: 12:09
    Печать  
    vandalsvq писал(а) 31. Марта 2010 :: 10:19:
    В живом примере я не знаю зачем мне это надо Улыбка.

    Вот!  Смех

    vandalsvq писал(а) 31. Марта 2010 :: 10:19:
    На самом деле условие лишено жизненного смысла.

    Обоснуй для запроса без отбора по счетам.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #154 - 31. Марта 2010 :: 15:51
    Печать  
    Нееее.... я не про условие в ВТ, а про условие которое я в параметре написал (равенство с пустойИД).
    Я подумаю, может я просто "отошел от темы" слишком сильно, поэтому и несу чушь Улыбка
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #155 - 31. Марта 2010 :: 16:08
    Печать  
    Это условие (в ВТ) нужно только для случаев, когда отбор по счету не задан. Когда задан - согласен, выглядит несколько неаккуратно, и даже съедает доли процента стоимости плана выполнения. Исправляется добавлением одной строки, но, IMHO, на ошибку это похоже гораздо меньше, чем условие Счет = $ПустойИДУлыбка
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #156 - 31. Марта 2010 :: 16:21
    Печать  
    Иван я согласен, поэтому извини за беспокойство.

    Офф... как бы 1sqlite научить эффективно работать с бугалтерскими таблицами.
      

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


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 11. Апреля 2010
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #157 - 12. Апреля 2010 :: 06:57
    Печать  
    Задача - необходимо получить остатки и обороты по периодам (день) по клиентам и договорам по указанным счетам, свернуто по разделителям учета.
    Сначала выполняю запрос по остаткам чтобы получить списки клиентов и договоров для последуещего отбора:
         ТекстЗапросаБИ1 = "
         |      SELECT      
         |         ОсновнойОстатки.Счет [Счет $Счет.Новый]
         |            , ОсновнойОстатки.Валюта [Валюта $Справочник.Валюты]
         |            , ОсновнойОстатки.Субконто1 [Субконто1 $Субконто]
         |            , ОсновнойОстатки.Субконто1_вид
         |            , ОсновнойОстатки.Субконто2 [Субконто2 $Субконто]
         |            , ОсновнойОстатки.Субконто2_вид
         |            , ОсновнойОстатки.СуммаОстатокДт
         |            , ОсновнойОстатки.СуммаОстатокКт
         |            , ОсновнойОстатки.ВалютнаяСуммаОстатокДт
         |            , ОсновнойОстатки.ВалютнаяСуммаОстатокКт
         |      FROM $БИОстатки.Новый(:КонДата,,
         |                  ,
         |                  (Клиент,Договор),
         |                  Счет IN (SELECT val FROM #ВыбСчета)
         |           AND (Субконто1_вид = $ВидСубконто.Клиент)
         |           AND (Субконто2_вид = $ВидСубконто.Договор)) AS ОсновнойОстатки
         |      ORDER BY ОсновнойОстатки.Счет, ОсновнойОстатки.Субконто1,ОсновнойОстатки.Субконто2
         |";

    Затем выполняю запрос :
         ТекстЗапросаБИ = "
               |SELECT
               |         Период
               |            , Счет [Счет $Счет.Новый]
               |            , Валюта [Валюта $Справочник.Валюты]
               |            , Субконто1 [Субконто1 $Субконто]
               |            , Субконто1_вид
               |            , Субконто2 [Субконто2 $Субконто]
               |            , Субконто2_вид
               |            , СуммаНачальныйОстаток СуммаНач
               |            , СуммаОборот СуммаОборот 
               |            , СуммаКонечныйОстаток СуммаКон
               |            , ВалютнаяСуммаНачальныйОстаток  ВалНач
               |            , ВалютнаяСуммаОборот ВалОборот
               |            , ВалютнаяСуммаКонечныйОстаток ВалКон
               |      FROM $БИОстаткиОбороты.Новый(:НачДата, :КонДата~,
               |                  День,
               |                  Движения,,
               |                  ,(Клиент,Договор),
               |                   Счет IN (SELECT val FROM #СпСчета)
               |            AND (Субконто1 IN (SELECT val FROM #СпКлиенты))
               |            AND (Субконто2 IN (SELECT val FROM #СпДоговора))
               |) БИОстаткиОбороты
               |      ORDER BY
               |    БИОстаткиОбороты.Счет
               |  , БИОстаткиОбороты.Субконто1
               |  , БИОстаткиОбороты.Субконто2
               |  , БИОстаткиОбороты.Период
               |
               |";

    Сначала столкнулся с проблемой - запрос по остаткам выдает по несколько записей по одному счету,клиенту, договору - вычислил , что данные не свернулись по разделителям учета.
    Внес изменение в AccountsRecordsetV3.ert - поставил для переменной МетаданныеРазделительУчетаВыбран всегда значение 0 . Запрос по остаткам вернул все как надо - свернуто.
    Но следующий запрос (остатки и обороты) все равно возвращает данные не свернутые по разделителям учета.
    При этом если указываю только один счет, все возвращает как надо.
    Версия AccountsRecordset - 3.09
    Версия 1С++ - 2.5.0.7.
    Куда копать?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #158 - 12. Апреля 2010 :: 09:18
    Печать  
    Roman777 писал(а) 12. Апреля 2010 :: 06:57:
    Внес изменение в AccountsRecordsetV3.ert

      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #159 - 12. Апреля 2010 :: 13:49
    Печать  
    Роман , чем менять класс лучше бы просто свернул без разделителя, и вопрос закрыт.
    Код
    Выбрать все
    select ... sum() from (твой текст запроса) vt1 group by ..... 
    
    



    Пы.сы. КОП в данном случае изменению вообще не подлежит. Все там правильно. Подмигивание
      

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


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 11. Апреля 2010
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #160 - 12. Апреля 2010 :: 17:56
    Печать  
    berezdetsky писал(а) 12. Апреля 2010 :: 09:18:
    Roman777 писал(а) 12. Апреля 2010 :: 06:57:
    Внес изменение в AccountsRecordsetV3.ert

    • Изменённый код не поддерживается.
    • Запросы обсуждаются в разделе


    ОК. Код менять больше не буду. Просто попробовал как возможный вариант решения проблемы.
    За КОП Спасибо.
      
    Наверх
     
    IP записан
     
    Roman777
    YaBB Newbies
    *
    Отсутствует


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 11. Апреля 2010
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #161 - 12. Апреля 2010 :: 17:59
    Печать  
    vandalsvq писал(а) 12. Апреля 2010 :: 13:49:
    Роман , чем менять класс лучше бы просто свернул без разделителя, и вопрос закрыт.
    Код
    Выбрать все
    select ... sum() from (твой текст запроса) vt1 group by ..... 
    
    



    Пы.сы. КОП в данном случае изменению вообще не подлежит. Все там правильно. Подмигивание


    Насчет
    Код
    Выбрать все
    select ... sum() from (твой текст запроса) vt1 group by ..... 
    
    

    - это первое что я сделал. К сожалению, в моем случае этот вариант не подходит, т.к. остатки с оборотами распределены по периодам, и уже не сворачиваются.
      
    Наверх
     
    IP записан
     
    vandalsvq
    1c++ power user
    Отсутствует


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #162 - 12. Апреля 2010 :: 18:46
    Печать  
    Ну если остатки-обороты, то конечно. Но в таком случае можно было бы самому соорудить.
    Кстати выборка без разделителей имхо не очень хороша. Там индекс строится так, что разделитель стоит в начале него. Если мне память не изменяет по вечерам конечно.
      

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



    Сообщений: 862
    Зарегистрирован: 06. Июня 2006
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #163 - 12. Апреля 2010 :: 20:39
    Печать  
    Предположим, что в выборке "с разделителем учета" будет 100 тыс. записей. Загнать результат в ИТЗ и свернуть займет, от силы секунд 5. Есть ли смысл вместо этого мучиться с написанием идеальнейшего запроса?
      
    Наверх
    ICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #164 - 12. Апреля 2010 :: 21:02
    Печать  
    vandalsvq писал(а) 12. Апреля 2010 :: 18:46:
    Кстати выборка без разделителей имхо не очень хороша.

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

    Roman777 писал(а) 12. Апреля 2010 :: 06:57:
    Внес изменение в AccountsRecordsetV3.ert - поставил для переменной МетаданныеРазделительУчетаВыбран всегда значение 0 . Запрос по остаткам вернул все как надо - свернуто.
    Но следующий запрос (остатки и обороты) все равно возвращает данные не свернутые по разделителям учета.
    При этом если указываю только один счет, все возвращает как надо.

    Итоги всегда развёрнуты по счетам, валютам, разделителям учёта и субконто. Если указанное изменение - единственное, и результат не свёрнут по разделителям, то где-то в классе есть ошибка. Покажи результат отладки для этого случая.
      

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


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #165 - 12. Апреля 2010 :: 21:14
    Печать  
    Salimbek писал(а) 12. Апреля 2010 :: 20:39:
    Предположим, что в выборке "с разделителем учета" будет 100 тыс. записей. Загнать результат в ИТЗ и свернуть займет, от силы секунд 5. Есть ли смысл вместо этого мучиться с написанием идеальнейшего запроса?

    ИТЗ не умеет полуаддитивные агрегирующие функции. Подмигивание
      

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


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 11. Апреля 2010
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #166 - 14. Апреля 2010 :: 19:48
    Печать  
    berezdetsky писал(а) 12. Апреля 2010 :: 21:02:
    Покажи результат отладки для этого случая.

    Пока ищу в каких случаях глючит. Похоже нет зависимости от того что передается список счетов, а зависит от того какие счета в  списке и от периода запроса. Вообщем когда найду причину и смогу воспроизвести ситуацию - сообщу тебе.
    PS. На данный момент удалось выяснить, что работает правильно если установить переменную ОбратныйРасчет = 0. Но это я еще перепроверю.
      
    Наверх
     
    IP записан
     
    Roman777
    YaBB Newbies
    *
    Отсутствует


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 11. Апреля 2010
    Пол: Мужской
    Re: AccountsRecordset v3.09. Прямые запросы к БИ.
    Ответ #167 - 20. Апреля 2010 :: 10:56
    Печать  
    Вроде как удалось отладить. Отправил ЛС  berezdetsky
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.10. Прямые запросы к БИ.
    Ответ #168 - 25. Апреля 2010 :: 08:52
    Печать  
    Исправлено в v3.10.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.10. Прямые запросы к БИ.
    Ответ #169 - 13. Мая 2010 :: 14:18
    Печать  
    Иван, подскажи пожалуйста, вот такой вопрос:
    - Таблица: БИОборотыДтКт. Все параметры удовлетворяют условию чтобы запрос построился с использованием bkttlc. Т.е. БезСубконто по Дт и Кт, периодичность >= Месяц, период очень длинный (более 2-х месяцев например).
    - в параметре "соединение" написано "left join $Справочник.Контрагенты as Контр (nolock) on СубконтоДт1 = Контр.ID".
    Парсинг все равно уйдет в bkttlc? Или я плохо смотрел? (сегодня 13-е и все простительно) Улыбка
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.10. Прямые запросы к БИ.
    Ответ #170 - 13. Мая 2010 :: 15:14
    Печать  
    Не помню.  Улыбка Там есть такой хитрый параметр ЕстьОтборПоСубконто, но используется, по-моему, не во всех ВТ.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.10. Прямые запросы к БИ.
    Ответ #171 - 13. Мая 2010 :: 16:03
    Печать  
    Параметр видел, но именно в проверке перед тем как идти на entry или bkttlc оный не фигурировал. Глянь как желание/время будет.

    Кстати вот этот парсинг у меня на твоем классе не проходит...

    Код
    Выбрать все
    	Асс = СоздатьОбъект("AccountsRecordset");
    	Сообщить(Асс.ОбрМетаСКЛ("
    	|select *
    	|from
    	|(
    	|select Субконто1
    	|from
    	|	$БИОстатки.Основной(,,,) as Остатки
    	|
    	|union all
    	|
    	|select Субконто1
    	|from
    	|	$БИОстатки.Основной(,) as Остатки
    	|) as остаткиВл
    	|"));
     
    
    
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    vandalsvq
    1c++ power user
    Отсутствует


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.10. Прямые запросы к БИ.
    Ответ #172 - 13. Мая 2010 :: 16:05
    Печать  
    Сразу после Execute поставил

    Код
    Выбрать все
    	Для з = 0 По Matches.Count - 1 Цикл
    		Match = Matches.Item(з);
    		Сообщить(Match.value);
    	КонецЦикла;
     
    
    


    Результат:
    Цитата:
         $БИОстатки.Основной(,,,) as Остатки

    union all

    select Субконто1
    from
         $БИОстатки.Основной(,) as Остатки
    )


    Т.е. парсер скушал лишнего ибо недосчитался параметров в первой ВТ. Печаль Вот у меня аналогичная проблема и происходит.
    Если привести первое ВТ в порядок (5 параметров) то все путем.
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.10. Прямые запросы к БИ.
    Ответ #173 - 13. Мая 2010 :: 19:23
    Печать  
    vandalsvq писал(а) 13. Мая 2010 :: 16:05:
    Т.е. парсер скушал лишнего ибо недосчитался параметров в первой ВТ. Печаль Вот у меня аналогичная проблема и происходит.
    Если привести первое ВТ в порядок (5 параметров) то все путем.

    А как тебе такой вариант (см. вложение)? Тут разделяющие запятые не отрезаны для определения количества переданных параметров, т.к. последний параметр становится в пятую позицию.
      

    test_014.zip ( 0 KB | Загрузки )

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.10. Прямые запросы к БИ.
    Ответ #174 - 13. Мая 2010 :: 19:45
    Печать  
    Вариант интересный. Но лучше приучиться все запятые указывать. Улыбка

    Пы.сы. повторюсь, вариант интересный.
      

    Отхожу от дел. Долго и мучительно.
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #175 - 14. Мая 2010 :: 19:32
    Печать  
    vandalsvq писал(а) 13. Мая 2010 :: 16:03:
    Параметр видел, но именно в проверке перед тем как идти на entry или bkttlc оный не фигурировал. Глянь как желание/время будет.

    Исправлено в v3.11.

    vandalsvq писал(а) 13. Мая 2010 :: 16:03:
    Кстати вот этот парсинг у меня на твоем классе не проходит...

    Исправлено в v3.11.
      

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


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

    Сообщений: 2487
    Местоположение: Уфа
    Зарегистрирован: 18. Июля 2007
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #176 - 14. Мая 2010 :: 20:16
    Печать  
    Класс  Очень довольный
      

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


    Не быть умнее, чем ты
    есть на самом деле...

    Сообщений: 17
    Местоположение: Киев
    Зарегистрирован: 18. Мая 2010
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #177 - 20. Мая 2010 :: 15:02
    Печать  
    Извиняюсь, вопрос перенес в отдельную тему в нужных раздел.
    « Последняя редакция: 20. Мая 2010 :: 16:54 - Sekator »  
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #178 - 20. Мая 2010 :: 15:40
    Печать  
    berezdetsky писал(а) 18. Мая 2009 :: 08:19:
    Предлагаю конкретные запросы обсуждать в разделе Прямые запросы к БД.

      

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


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #179 - 05. Октября 2010 :: 15:44
    Печать  
    При попытке задания в таблице БИОборотыДтКт условия вида "ВидДокумента != $ВидДокумента.ПоступлениеТМЦ" выдает вот такую ошибку -
    "The column prefix '_1SJOURN_vt' does not match with a table name or alias name used in the query".

    Версия класса 3.11. В чем может быть дело ?
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    Z1
    God Member
    *****
    Отсутствует


    I Love YaBB 2!

    Сообщений: 2906
    Местоположение: Москва
    Зарегистрирован: 26. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #180 - 05. Октября 2010 :: 15:53
    Печать  
    mash писал(а) 05. Октября 2010 :: 15:44:
    При попытке задания в таблице БИОборотыДтКт условия вида "ВидДокумента != $ВидДокумента.ПоступлениеТМЦ" выдает вот такую ошибку -
    "The column prefix '_1SJOURN_vt' does not match with a table name or alias name used in the query".

    Версия класса 3.11. В чем может быть дело ?

    а версия 1с++  какая ?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #181 - 05. Октября 2010 :: 17:18
    Печать  
    mash писал(а) 05. Октября 2010 :: 15:44:
    В чем может быть дело ?

    Цитата:
               ПозицияДокумента
               ВидДокумента

                     Существуют только в том случае, если указана периодичность Документ.
      

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


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #182 - 06. Октября 2010 :: 06:54
    Печать  
    2 berezdetsky. Извиняюсь за беспокойство - разобрался. Случайно это условие попало и в таблицу БИОстатки, в том же запросе. Оттуда эта проблема.
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    mash
    1c++ donor
    Отсутствует


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #183 - 26. Октября 2010 :: 08:28
    Печать  
    Установил 3.11 и вот такой запрос
    [code]
         |select -- зачеты
         |      СубконтоКт1 Контрагент,
         |      СубконтоКт2 Договор,
         |      СчетДт,
         |      СчетКт,
         |      ПозицияДокумента,
         |      -СуммаОборот Оплачено
         |from
         |      $БИОборотыДтКт.Новый(:начДата,:конДата~
         |            ,Документ
         |            ,
         |            ,СчетДт = :сч601
         |            ,(Контрагенты)
         |            ,СчетКт = :сч601
         |            ,(Контрагенты, Договора)
         |            ,СубконтоДт1 != СубконтоКт1
         |      ) ТаблицаЗачетыКт
    [/code]
    стал выдавать в том числе обороты Д10 К60 (в сложной проводке) - почему то игнорируя условия по счету дебета. При этом сч601, понятное дело, определено как СчетПоКоду("60.1")
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #184 - 26. Октября 2010 :: 11:16
    Печать  
    Исправлю. Установи пока в конструкторе

    МетаданныеОтборПоСчету = 0;
      

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


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.11. Прямые запросы к БИ.
    Ответ #185 - 26. Октября 2010 :: 12:57
    Печать  
    сделал. все стало на свое место. С этим связан еще один артефакт. Вот такой запрос [code]
    select -- зачеты
         Субконто1,
         Субконто2,
         ПозицияДокумента,
         СуммаОборотДт-СуммаОборотКт
    from
         $БИОбороты.Новый(:начДата,:конДата~
               ,Документ
               ,
               ,exists(select val from #СчетаРасчетовСКонтрагентами where Счет = val)
               ,(Контрагенты, Договора)
               ,Субконто1 != КорСубконто1
               ,exists(select val from #СчетаРасчетовСКонтрагентами where КорСчет = val)
               ,Контрагенты
         ) Зачеты
    [/code]

    удваивает суммы оборотов, если они составлены из нескольких проводок в одном документе. При отключении отбора по счетам все встает на место.
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #186 - 27. Октября 2010 :: 13:42
    Печать  
    [quote author=mash link=1181817217/180#183 date=1288081715]почему то игнорируя условия по счету дебета[/quote]
    Исправлено в v3.12

    [quote author=mash link=1181817217/180#185 date=1288097854]удваивает суммы оборотов, если они составлены из нескольких проводок в одном документе.[/quote]
    Не воспроизводится. В # таблицах есть группы счетов?

    [sub][font=Courier New]СуммаОборотДт-СуммаОборотКт = СуммаОборот[/font][/sub]
      

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


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #187 - 28. Октября 2010 :: 07:09
    Печать  
    Группы счетов есть, но так как добавляется через УложитьСписокОбъектов, то я полагал что это корректно отрабатывается ?
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #188 - 28. Октября 2010 :: 07:57
    Печать  
    mash писал(а) 28. Октября 2010 :: 07:09:
    Группы счетов есть, но так как добавляется через УложитьСписокОбъектов, то я полагал что это корректно отрабатывается ?

    После УложитьСписокОбъектов с указанием плана счетов там групп быть не может - это обрабатывается корректно.
    Если не указывать план счетов, будет уложено содержимое списка - здесь приключается задница, когда в списке есть субсчета входящих в этот же список счетов. В этом смысл отбора по счетам - проводки можно отбирать и по счетам и по группам любого уровня. Т.ч. если в # таблице будет больше одного счёта, которому соответствует счёт проводки, проводка будет выбрана столько же раз. Это by design.
      

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


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #189 - 29. Октября 2010 :: 14:59
    Печать  
    berezdetsky писал(а) 28. Октября 2010 :: 07:57:
    После УложитьСписокОбъектов с указанием плана счетов там групп быть не может - это обрабатывается корректно.

    Если не указывать план счетов, будет уложено содержимое списка - здесь приключается задница, когда в списке есть субсчета входящих в этот же список счетов. В этом смысл отбора по счетам - проводки можно отбирать и по счетам и по группам любого уровня. Т.ч. если в # таблице будет больше одного счёта, которому соответствует счёт проводки, проводка будет выбрана столько же раз. Это by design.

    Добавлю, что первый вариант снижает производительность и, как правило, лишает смысла использование отбора по счетам. Второй способ эффективнее и, при правильном использовании, выдаёт корректный результат.
      

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


    1C++ rocks!

    Сообщений: 5
    Зарегистрирован: 16. Ноября 2010
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #190 - 16. Ноября 2010 :: 14:36
    Печать  
    Все попытки с выборкой оборотов по заданному счету Кт дают ошибку
    Вот пример из ранних страниц Прямые запросы к БД › Прямые запросы к бухгалтерским итогам (как понял ,он был рабочий)
    |SELECT   ОсновнойОборотыДт.СчетКт [КоррСчет $Счет.Основной]
    |            , ОсновнойОборотыДт.СубконтоДт1 [Контрагент $Субконто]
    |            , ОсновнойОборотыДт.СубконтоДт1_вид Контрагент_вид
    |            , ОсновнойОборотыДт.СуммаОборот СуммаОборотДт 
    |            , 0 СуммаОборотКт 
    |FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,,,
    |            (СчетДт = :Счет),
    |            Контрагенты, БезСубконто
    |      ) AS ОсновнойОборотыДт 
    |
    |UNION ALL
    |
    |SELECT   ОсновнойОборотыКт.СчетДт [КоррСчет $Счет.Основной]
    |            , ОсновнойОборотыКт.СубконтоКт1 [Контрагент $Субконто]
    |            , ОсновнойОборотыКт.СубконтоКт1_вид Контрагент_вид
    |            , 0 СуммаОборотДт 
    |            , ОсновнойОборотыКт.СуммаОборот СуммаОборотКт 
    |FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата ~,,,
    |            (СчетКт = :Счет),
    |            БезСубконто, Контрагенты
    |      ) AS ОсновнойОборотыКт

    У меня дает ошибку  AccountsRecordset::ÑôîðìèðîâàòüÎøèáêó(Ñòðîêà Îøèáêà=State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'Ñ÷åòÊò'.) : State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name СчетКт.
    Что не так ???
      
    Наверх
     
    IP записан
     
    mash
    1c++ donor
    Отсутствует


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #191 - 02. Декабря 2010 :: 13:56
    Печать  
    В версии 3.12 при включенном отборе по счетам в виртуальную таблицу "БИОбороты" попадает только первая подходящая по условиям проводка из операции. Отключение в классе отбора по счетам "МетаданныеОтборПоСчету                   = 0;" решает проблему. Ощущение, что из таблицы отбора счетов получаешь top 1 в разрезе документа.
      

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #192 - 02. Декабря 2010 :: 15:01
    Печать  
    Тестовую базу с отчётом и парой ручных операций можешь сделать?
      

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


    1C++ v. 3.0.1.23

    Сообщений: 148
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #193 - 03. Декабря 2010 :: 11:10
    Печать  
    Да, пожалуйста. Правда в процессе подготовки примера выяснилась любопытная особенность - класс работает правильно если поставить условие соответствия счету (можно группе) типа
    Код
    Выбрать все
    Счет = :выбСчет 
    
    
    , и неправильно если используются конструкции типа
    Код
    Выбрать все
    Счет in (select val from #tmp) 
    
    
    или (как в примере)
    Код
    Выбрать все
    exists(select val from #tmp where val = Счет) 
    
    
      

    test_016.zip ( 65 KB | Загрузки )

    Поспешность наносит ущерб
    Наверх
    GTalkSkype/VoIPICQ  
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.12. Прямые запросы к БИ.
    Ответ #194 - 03. Декабря 2010 :: 13:00
    Печать  
    ok. На выходных посмотрю.
      

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


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #195 - 04. Декабря 2010 :: 20:54
    Печать  
    Исправлено в v3.13.
      

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


    I Love YaBB 2!

    Сообщений: 145
    Зарегистрирован: 19. Мая 2006
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #196 - 12. Января 2011 :: 09:07
    Печать  
    Столкнулся с такой проблемой в отчетах - что это значит?
    Раньше работало и теперь не могу понять что здесь не так

    AccountsRecordset::ПарситьБИОстаткиОбороты(Строка ТекстЗапроса=SELECT Счет
                                 , Субконто1 Контрагент
                                 , Субконто2 Договор
                                 , SUM(СуммаНачальныйОстаток) СуммаНач
                                 , SUM(СуммаОборот) СуммаОборот
                               , SUM(СуммаКонечныйОстаток) СуммаКон
                                 , Период
                       INTO #ОборотыПоМесяцам
                       FROM
                                 $БИОстаткиОбороты.Национальный(:НачДата, :КонДата ~,Месяц,,,, (Контрагенты,Договоры),(РазделительУчета = :ВыбФирма) AND (Субконто1 = :ВыбКонтрагент)) БИОборотыОсновной
                       GROUP BY Счет, Субконто1, Субконто2, Период
    ) : Meta name parser error: недопустимое значение параметра "$НачалоПериода.МЕСЯЦ" (2)
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #197 - 12. Января 2011 :: 10:49
    Печать  
    Покажи результат отладки.
      

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


    I Love YaBB 2!

    Сообщений: 145
    Зарегистрирован: 19. Мая 2006
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #198 - 12. Января 2011 :: 12:31
    Печать  
    berezdetsky писал(а) 12. Января 2011 :: 10:49:
    Покажи результат отладки.


    Прикрепил текст запроса через отладку. 

    Пока отбой - похоже проблема связана с компьютером (пока непонятно каким образом). На другом компе данный запрос работает без проблем.
    « Последняя редакция: 12. Января 2011 :: 13:49 - elkpro »  

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


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #199 - 12. Января 2011 :: 14:13
    Печать  
    ok. У меня не воспроизвелось. Там проблема или с параметрами НачДата и КонДата или с региональными настройками. Если покажешь параметры и значение рсТекстЗапроса в строке 3392, можно будет сказать точнее.
      

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


    1C++ rocks!

    Сообщений: 1
    Зарегистрирован: 21. Марта 2011
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #200 - 21. Марта 2011 :: 10:46
    Печать  
    Дайте пожалуйста пример использования класса. Желательно в виде отчета.
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #201 - 22. Марта 2011 :: 11:07
    Печать  
    Несложный (меньше 200 строк) пример. Отчёт формирует журнал-ордер по счёту. Демонстрирует взаимодействие класса AccountsRecordset с компонентой qryConsole. Результат формируется библиотекой классов PivotQuery v4.00. Работоспособен в любой бухгалтерской конфигурации.
      

    Sample.zip ( 4 KB | Загрузки )

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


    А как бы это...

    Сообщений: 9
    Местоположение: Красноярск
    Зарегистрирован: 25. Мая 2011
    Пол: Мужской
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #202 - 31. Мая 2011 :: 03:53
    Печать  
    berezdetsky писал(а) 22. Марта 2011 :: 11:07:
    Отчёт формирует журнал-ордер по счёту. Демонстрирует взаимодействие класса AccountsRecordset с компонентой qryConsole.


    А почему у меня qryConsole не показывает таблицы из класса AccountsRecordset?

    В коде, вроде, работает:
    рс = СоздатьОбъект("AccountsRecordset");
    ...
    |FROM $БИОстатки.Основной(:ВыбДата,,
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #203 - 31. Мая 2011 :: 14:51
    Печать  
    Конструктор показывает только ВТ из 1С++, т.к. во время написания конструктора AccountsRecordset ещё не было. Лень, опять же..  Круглые глаза
      

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


    I Love YaBB 2!

    Сообщений: 56
    Зарегистрирован: 01. Сентября 2006
    Пол: Мужской
    $БИДвиженияССубконто - нет условия на план счетов.
    Ответ #204 - 04. Июля 2011 :: 18:30
    Печать  
    Выполняю запрос:
    Код
    Выбрать все
    select * from $БИДвиженияССубконто.Основной(,,,) as t 
    
    

    Текст отладки запроса:
    Код
    Выбрать все
    select * from (SELECT _1SENTRY_vt.SP7734 СодержаниеПроводки
    	, _1SENTRY_vt.SP7735 НомерЖурнала
    	, _1SENTRY_vt.SP7736 РазделительУчета
    	, _1SENTRY_vt.SP27758 ПервичныйДокумент
    	, _1SENTRY_vt.SUM_ Сумма
    	, _1SENTRY_vt.CURRID Валюта
    	, CASE WHEN _1SENTRY_vt.DTFLAGS & 1 = 1 THEN _1SENTRY_vt.CURRID ELSE '     0   ' END ВалютаДт
    	, CASE WHEN _1SENTRY_vt.KTFLAGS & 1 = 1 THEN _1SENTRY_vt.CURRID ELSE '     0   ' END ВалютаКт
    	, _1SENTRY_vt.CURSUM ВалютнаяСумма
    	, _1SENTRY_vt.AMOUNT Количество
    	, CASE WHEN _1SENTRY_vt.DTFLAGS & 1 = 1 THEN _1SENTRY_vt.CURSUM ELSE 0 END ВалютнаяСуммаДт
    	, CASE WHEN _1SENTRY_vt.KTFLAGS & 1 = 1 THEN _1SENTRY_vt.CURSUM ELSE 0 END ВалютнаяСуммаКт
    	, CASE WHEN _1SENTRY_vt.DTFLAGS & 2 = 2 THEN _1SENTRY_vt.AMOUNT ELSE 0 END КоличествоДт
    	, CASE WHEN _1SENTRY_vt.KTFLAGS & 2 = 2 THEN _1SENTRY_vt.AMOUNT ELSE 0 END КоличествоКт
    	, _1SENTRY_vt.ACTIVE Активность
    	, _1SENTRY_vt.DATE_TIME_DOCID ПозицияДокумента
    	, _1SENTRY_vt.DOCLINENO НомерСтроки
    	, _1SENTRY_vt.NUMBER НомерПроводки
    	, _1SENTRY_vt.CORNO НомерКорреспонденции
    	, _1SENTRY_vt.DOCID Документ
    
    	, _1SENTRY_vt.DTSC0 СубконтоДт1
    	, _1SENTRY_vt.VDTSC0 СубконтоДт1_вид
    	, _1SENTRY_vt.DTSC1 СубконтоДт2
    	, _1SENTRY_vt.VDTSC1 СубконтоДт2_вид
    	, _1SENTRY_vt.DTSC2 СубконтоДт3
    	, _1SENTRY_vt.VDTSC2 СубконтоДт3_вид
    	, _1SENTRY_vt.KTSC0 СубконтоКт1
    	, _1SENTRY_vt.VKTSC0 СубконтоКт1_вид
    	, _1SENTRY_vt.KTSC1 СубконтоКт2
    	, _1SENTRY_vt.VKTSC1 СубконтоКт2_вид
    	, _1SENTRY_vt.KTSC2 СубконтоКт3
    	, _1SENTRY_vt.VKTSC2 СубконтоКт3_вид
    	, _1SENTRY_vt.ACCDTID СчетДт
    	, _1SENTRY_vt.ACCKTID СчетКт
    FROM _1SENTRY AS _1SENTRY_vt WITH (NOLOCK)
    
    WHERE ((_1SENTRY_vt.PROVKIND = ' ') OR (_1SENTRY_vt.CORNO > 0))
    
    
    ) as t 
    
    


    Что то не видно условия-фильтра по плану счетов "Основной". ИМХО нужно с соединять с _1saccs и ставить условие на planid.
    Или автор так и задумал?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: $БИДвиженияССубконто - нет условия на план счетов.
    Ответ #205 - 04. Июля 2011 :: 20:38
    Печать  
    gildebrand писал(а) 04. Июля 2011 :: 18:30:
    Что то не видно условия-фильтра по плану счетов "Основной". ИМХО нужно с соединять с _1saccs и ставить условие на planid.
    Или автор так и задумал?

    Ога, автор так и задумал, т.к. у тебя в конфигурации всего один план счетов. А если бы и было несколько - таблица _1saccs для отбора по planid не нужна.
      

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


    I Love YaBB 2!

    Сообщений: 56
    Зарегистрирован: 01. Сентября 2006
    Пол: Мужской
    Re: $БИДвиженияССубконто - нет условия на план счетов.
    Ответ #206 - 05. Июля 2011 :: 05:46
    Печать  
    berezdetsky писал(а) 04. Июля 2011 :: 20:38:
    Ога, автор так и задумал, т.к. у тебя в конфигурации всего один план счетов. А если бы и было несколько - таблица _1saccs для отбора по planid не нужна.

    ic
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: $БИДвиженияССубконто - нет условия на план счетов.
    Ответ #207 - 05. Июля 2011 :: 05:53
    Печать  
    gildebrand писал(а) 05. Июля 2011 :: 05:46:
    ic

    Цитата:
    Индекс каталог (IC) — Индекс-каталог объектов дальнего космоса (дополнение к NGC каталогу)
    InterCity (IC) — тип железнодорожных поездов, распространённый во многих странах Европы

    Задумался..  Очень довольный
      

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


    I Love YaBB 2!

    Сообщений: 56
    Зарегистрирован: 01. Сентября 2006
    Пол: Мужской
    Re: $БИДвиженияССубконто - нет условия на план счетов.
    Ответ #208 - 05. Июля 2011 :: 06:17
    Печать  
    berezdetsky писал(а) 05. Июля 2011 :: 05:53:
    Цитата:
    Индекс каталог (IC) — Индекс-каталог объектов дальнего космоса (дополнение к NGC каталогу)
    InterCity (IC) — тип железнодорожных поездов, распространённый во многих странах Европы

    Задумался..  Очень довольный

    ic = I see
      
    Наверх
     
    IP записан
     
    villy
    Senior Member
    ****
    Отсутствует



    Сообщений: 287
    Зарегистрирован: 24. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #209 - 14. Июля 2011 :: 06:09
    Печать  
    Первым делом хочу поблагодарить автора за его разработку, вещь очень полезная Улыбка.
    теперь по существу: словил ошибку
    Код
    Выбрать все
     State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 3: Incorrect syntax near ','.
    рс.ExecuteStatement(рсТекстЗапроса);
    {AccountsRecordsetV3@MD(3324) } 
    
    

    в запросе
    Код
    Выбрать все
    select
    	*
    from $БИОстаткиОбороты.Основной(
    ,,Месяц,,,,БезСубконто
    
    
    ) Итогов 
    
    

    по идее перед строкой 3243 нужно вставить строку
    Код
    Выбрать все
    ПоляВыборки = ПоляИндекса; 
    
    

      
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.14. Прямые запросы к БИ.
    Ответ #210 - 14. Июля 2011 :: 07:15
    Печать  
    Спасибо. Исправлено в v3.14.
      

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



    Сообщений: 287
    Зарегистрирован: 24. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.14. Прямые запросы к БИ.
    Ответ #211 - 14. Июля 2011 :: 07:48
    Печать  
    знаю что я такой не первый Улыбка но нельзя ли добавить периодичность до проводок?
      
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.14. Прямые запросы к БИ.
    Ответ #212 - 14. Июля 2011 :: 08:07
    Печать  
    Добавляй, я не против.  Улыбка
      

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



    Сообщений: 287
    Зарегистрирован: 24. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.14. Прямые запросы к БИ.
    Ответ #213 - 14. Июля 2011 :: 08:42
    Печать  
    боюсь не осилю  Ужас
      
    Наверх
    IP записан
     
    chessman
    God Member
    *****
    Отсутствует



    Сообщений: 1084
    Зарегистрирован: 10. Августа 2007
    Re: AccountsRecordset v3.13. Прямые запросы к БИ.
    Ответ #214 - 15. Июля 2011 :: 09:44
    Печать  
    villy писал(а) 14. Июля 2011 :: 06:09:
    Первым делом хочу поблагодарить автора за его разработку, вещь очень полезная Улыбка.



    Присоединяюсь, незаменимая вещь!
      
    Наверх
     
    IP записан
     
    Ivanych
    Junior Member
    **
    Отсутствует


    1C++ rocks!

    Сообщений: 50
    Зарегистрирован: 21. Февраля 2012
    Re: AccountsRecordset v3.15. Прямые запросы к БИ.
    Ответ #215 - 29. Февраля 2012 :: 11:12
    Печать  
    Иван Добрый день. Помогите разобраться.

    RS = СоздатьОбъект("AccountsRecordset");
        RS.УстБД1С();
        ТекстЗапроса = "
        |SELECT ОсновнойОстатки.Счет [Счет $Счет.Основной]
        |    , ОсновнойОстатки.Субконто1 [Субконто1 $Субконто]
        |    , ОсновнойОстатки.Субконто1_вид
        |    , ОсновнойОстатки.СуммаОстатокДт
        |    , ОсновнойОстатки.КоличествоОстатокДт
        |FROM $БИОстатки.Основной(:ВыбДата,,(Счет = :ВыбГруппаСчетов),
        |        (ТМЦ),) AS ОсновнойОстатки
        |    INNER JOIN _1SACCS AS ПланСчетов (NOLOCK) ON ОсновнойОстатки.Счет = ПланСчетов.ID
        |ORDER BY ПланСчетов.SCHKOD";
        RS.УстановитьТекстовыйПараметр("ВыбДата", ВыбКонПериода);
        RS.УстановитьТекстовыйПараметр("ТМЦ", ВыбНоменклатура);
        RS.УстановитьТекстовыйПараметр("ВыбГруппаСчетов", ВыбСчет);
        ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
        ТЗ.ВыбратьСтроку();
    Что я делаю неправильно? Сообщений об ошибках нет. Но и строки пустые. Не могли бы помочь, показать более подробный пример как вытащить данные. Заранее спасибо
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.15. Прямые запросы к БИ.
    Ответ #216 - 29. Февраля 2012 :: 12:43
    Печать  
    Запрос рабочий. Запросы лучше обсуждать в разделе Прямые запросы к БД. Какие-то примеры есть здесь.
      

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


    1C++ rocks!

    Сообщений: 50
    Зарегистрирован: 21. Февраля 2012
    Re: AccountsRecordset v3.15. Прямые запросы к БИ.
    Ответ #217 - 01. Марта 2012 :: 04:46
    Печать  
    Спасибо Иван разобрался. А вещь реальна нужная.
      
    Наверх
     
    IP записан
     
    MaxPiter
    Full Member
    ***
    Отсутствует


    I Love 1C++

    Сообщений: 187
    Местоположение: Санкт-Петербург
    Зарегистрирован: 20. Ноября 2008
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #218 - 24. Января 2013 :: 06:27
    Печать  
    Добрый день.
    ---
    после раза третьего, все таки заработал...
    Ничего не трогал и файлы не перекладывал...
    Просто заработало и все Улыбка
      
    Наверх
    www  
    IP записан
     
    Satans Claws
    God Member
    *****
    Отсутствует


    1C++ rocks!

    Сообщений: 721
    Зарегистрирован: 29. Ноября 2010
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #219 - 03. Октября 2013 :: 10:44
    Печать  
    Пожалуй, стоит это написать сюда:


    выполните у себя в базе такой запрос:
    Код
    Выбрать все
    select
         *
    from
         _1SENTRY
    where
         substring(DATE_TIME_DOCID, 9, 6) > 'EAEAY8' 
    
    


    Весьма вероятно, что вы увидите что-то вроде '20110131EAGG40 1D6PE'. При этом в 1SJourn будет '20110131EAEAY8 1D6PE'


    Если вкраце, то:
    EAEAY8 - это 23:59:59
    EAGG40 - это 24:00:09

    Возникает, судя по всему, если при записи нового документа говоришь ему "в конец дня". Если мне не врет протез, то при выборе позиции документа при записи в варианте "в конец дня" 1Ска делает ему +10 секунд от последнего документа.
    Возможно, документ должен одновременно быть записан и проведен (строка действия формы #Записать Провести).
    Болезнью поражены таблицы: _1SENTRY, _1SACCSEL, _1SOPER, _1SSBSEL


    Обнаружено было при использовании сабжевого класса - если сделать что-то типо ОСВ по счету/карточки счета, то обороты по таким кривым проводкам выпадают (однако, что-то типо АнализСчета работает нормально).



    Пока пытаемся формализовать момент возникновения и способы борьбы.
      
    Наверх
     
    IP записан
     
    Z1
    God Member
    *****
    Отсутствует


    I Love YaBB 2!

    Сообщений: 2906
    Местоположение: Москва
    Зарегистрирован: 26. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #220 - 03. Октября 2013 :: 11:40
    Печать  
    Satans Claws писал(а) 03. Октября 2013 :: 10:44:
    Пожалуй, стоит это написать сюда:


    выполните у себя в базе такой запрос:
    Код
    Выбрать все
    select
         *
    from
         _1SENTRY
    where
         substring(DATE_TIME_DOCID, 9, 6) > 'EAEAY8' 
    
    


    Весьма вероятно, что вы увидите что-то вроде '20110131EAGG40 1D6PE'. При этом в 1SJourn будет '20110131EAEAY8 1D6PE'


    Если вкраце, то:
    EAEAY8 - это 23:59:59
    EAGG40 - это 24:00:09

    Возникает, судя по всему, если при записи нового документа говоришь ему "в конец дня". Если мне не врет протез, то при выборе позиции документа при записи в варианте "в конец дня" 1Ска делает ему +10 секунд от последнего документа.
    Возможно, документ должен одновременно быть записан и проведен (строка действия формы #Записать Провести).
    Болезнью поражены таблицы: _1SENTRY, _1SACCSEL, _1SOPER, _1SSBSEL


    Обнаружено было при использовании сабжевого класса - если сделать что-то типо ОСВ по счету/карточки счета, то обороты по таким кривым проводкам выпадают (однако, что-то типо АнализСчета работает нормально).



    Пока пытаемся формализовать момент возникновения и способы борьбы.

    по моему мой поиск ошибок по регистрам ловит все такие ситуации.


      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #221 - 03. Октября 2013 :: 17:02
    Печать  
    Satans Claws писал(а) 03. Октября 2013 :: 10:44:
    Пока пытаемся формализовать момент возникновения и способы борьбы.

    Глюки со временем документа в таблицах 1С.

    nil novi sub luna  Улыбка
      

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


    1C++ rocks!

    Сообщений: 721
    Зарегистрирован: 29. Ноября 2010
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #222 - 04. Октября 2013 :: 01:53
    Печать  
    Z1 писал(а) 03. Октября 2013 :: 11:40:
    по моему мой поиск ошибок по регистрам ловит все такие ситуации.


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



    berezdetsky писал(а) 03. Октября 2013 :: 17:02:

    К сожалению, там тоже ни причины возникновления траблы ни метода ее решения.
      
    Наверх
     
    IP записан
     
    Satans Claws
    God Member
    *****
    Отсутствует


    1C++ rocks!

    Сообщений: 721
    Зарегистрирован: 29. Ноября 2010
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #223 - 04. Октября 2013 :: 08:09
    Печать  
    Причина формализована - как и предполагалось, уставнока документа в конец дня при наличии иных документов со временем > 23:59:50.
    Причем, абсолютно пофигу - будет это вызов метода АвтоВремяКонецДня() в форме нового документа, или же пользователь сам скажет "в конец дня" в диалоге выбора времени документа.

    Косячится время в _1SOper в момент записи, а дальше ошибка мигрирует по остальным таблицам. Проведение, само по себе, не при чем.
    Единственное, что не проверял - как все ведет себя при создании операции "ПриПроведении" и "Выборочно". У меня все документы с созданием операции "Всегда".
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #224 - 04. Октября 2013 :: 12:41
    Печать  
    Satans Claws писал(а) 04. Октября 2013 :: 01:53:
    berezdetsky писал(а) 03. Октября 2013 :: 17:02:

    К сожалению, там тоже ни причины возникновления траблы ни метода ее решения.

    Там указаны и причина и три варианта решения.

    Отдельно хочу сказать, что баги платформы - оффтопик.
      

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



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #225 - 05. Июня 2014 :: 13:17
    Печать  
    Делаю не сложный запрос

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


    На выходе по определенным счетам:
    Класс из шапки v3
    1С падает Печаль  или вот выдает ниже

    AccountsRecordset::СформироватьОшибку(Строка Ошибка=Error! Cannot allocate memory block) : Error! Cannot allocate memory block
    вм.СформироватьОшибку(Ошибка);
    {classAccountsRecordsetV3@MD(57) }
      

    222.PNG ( 5 KB | Загрузки )
    222.PNG

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    pavlo
    1c++ donor
    1c++ power user
    Отсутствует



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #226 - 06. Июня 2014 :: 04:32
    Печать  
    1. Почему то если выбираешь одно только субконто в селекте, количество строк выдает как при всех субконто развернуто. Может как то можно группировать не оборачивая самому?
    2. Заметил, что только падает по одному субконто из 4, это 2 субконто, там обычные договора контрагентов, что не так не понятно.
    3. Если профайлером перехватить запрос, то в SSMS он легко исполняется и возвращает 700т строк. Без 2 субконто тоже самое количество возвращает, но работает.
      

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    Salimbek
    God Member
    *****
    Отсутствует



    Сообщений: 862
    Зарегистрирован: 06. Июня 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #227 - 06. Июня 2014 :: 09:16
    Печать  
    Ну понятно же пишет - недостаточно памяти. Видимо когда второе субконто добавляешь, размер одной строки в памяти увеличивается. На 700 тыс. строк умножим, вот и падение...
      
    Наверх
    ICQ  
    IP записан
     
    pavlo
    1c++ donor
    1c++ power user
    Отсутствует



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #228 - 06. Июня 2014 :: 18:18
    Печать  
    На счет памяти ты прав, но вот ничего оно не прибавляется, я писал, там сколько субконто не ставь, возвращает 700т строк Подмигивание тоесть не группирует только по выбранным в селекте, а по всем и просто не рисует колонки похоже.
    Но в остальном понятно, правда Отладка(1) не пашет, пришлось класс править длинные строки делает, что 1с не понимает Улыбка говорит сильно длинные.
    И задача была сохранить, пришлось партиями по (образно, но не более 65535) 60т строк сохранять в ексель, как и настаивали по своим там причинам. А в xlsx другая была проблема, админы драйвера не ставят, пока согласуешь помрешь Улыбка
    Но из положения вышел Улыбка
      

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #229 - 09. Июня 2014 :: 06:21
    Печать  
    pavlo писал(а) 06. Июня 2014 :: 04:32:
    1. Почему то если выбираешь одно только субконто в селекте, количество строк выдает как при всех субконто развернуто. Может как то можно группировать не оборачивая самому?

    Можно - используя параметр <Субконто>.
      

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



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #230 - 09. Июня 2014 :: 10:56
    Печать  
    я чего то не нашел, может плохо смотрел, а как указать что нужны только 1 и 3 субконто без фильтра?
      

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #231 - 09. Июня 2014 :: 14:38
    Печать  
    FROM $БИОстаткиОбороты.Основной(,,,,,, (Субконто1, Субконто3),) AS БИОстаткиОбороты
      

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



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #232 - 10. Июня 2014 :: 06:46
    Печать  
    спс, огромное
      

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    pavlo
    1c++ donor
    1c++ power user
    Отсутствует



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #233 - 23. Июня 2014 :: 10:45
    Печать  
    странно, выдает по некоторым позициям всё равно одинаковые строки
    счет и субконто одинаковые, но строки 2шт, а в ОСВ конечно эти 2 строки сложив и получаешь нужную сумму.

    Код
    Выбрать все
    		|SELECT
    		|	БИДанные.Счет,
    		|	БИДанные.Субконто1,
    		|	БИДанные.Субконто1_вид,
    		|	БИДанные.Субконто2,
    		|	БИДанные.Субконто2_вид,
    		|	БИДанные.Субконто3,
    		|	БИДанные.Субконто3_вид,
    		|
    		|	БИДанные.СуммаНачальныйОстатокДт,
    		|	БИДанные.СуммаНачальныйОстатокКт,
    		|	БИДанные.КоличествоНачальныйОстатокДт,
    		|	БИДанные.КоличествоНачальныйОстатокКт,
    		|
    		|	БИДанные.СуммаКонечныйОстатокДт,
    		|	БИДанные.СуммаКонечныйОстатокКт,
    		|	БИДанные.КоличествоКонечныйОстатокДт,
    		|	БИДанные.КоличествоКонечныйОстатокКт,
    		|
    		|	БИДанные.СуммаОборотДт,
    		|	БИДанные.СуммаОборотКт,
    		|	БИДанные.КоличествоОборотДт,
    		|	БИДанные.КоличествоОборотКт
    		|
    		|FROM $БИОстаткиОбороты.Основной(:НачДата, :КонДата~,,,, Счет = :ВыбСчет,(Субконто1,Субконто2,Субконто3)) as БИДанные
    		|ORDER BY   БИДанные.Счет,
    		|			БИДанные.Субконто1, БИДанные.Субконто1_вид
    
     
    
    
      

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #234 - 24. Июня 2014 :: 08:33
    Печать  
    Там ещё валюты могут быть, разделитель учёта и т.п. Сделай select * и посмотри.
      

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



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #235 - 24. Июня 2014 :: 09:57
    Печать  
    Я знаю что они есть, но в селекте нет и в группировке нет, не сворачивает ли если не указывать?
    ну валюта там пустая везде, хотя ее сворачивать то не нужно, а разделитель учета не нужен для данной задачи если честно нужно в общем видеть суммировано.
    « Последняя редакция: 24. Июня 2014 :: 12:12 - pavlo »  

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #236 - 02. Июля 2014 :: 07:52
    Печать  
    pavlo писал(а) 01. Июля 2014 :: 12:45:
    А кто помнит как в УложитьСписокОбъектов вид плана счетов передать, чтобы по группе счетов уложить все счета?
    УложитьСписокОбъектов(СчетПоКоду("60"), "#60", " ???? ")
    УложитьСписокГрупп(СчетПоКоду("60"), "#60", " ???? ")

    Идентификатор плана счетов в метаданных. Тот же, который ты пишешь при обращении к виртуальным таблицам. Он же Счет.Вид(). Улыбка

    Правда, может сломаться, если у тебя есть справочник с таким же идентификатором.
      

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



    Сообщений: 712
    Местоположение: г. Новосибирск
    Зарегистрирован: 10. Ноября 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #237 - 02. Июля 2014 :: 07:54
    Печать  
    ага понял, сенкс
      

    1с++     3.2.4.1
    Formex  2.0.5.99b
    Наверх
    IP записан
     
    rom35
    Junior Member
    **
    Отсутствует


    1C++ rocks!

    Сообщений: 21
    Зарегистрирован: 12. Ноября 2012
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #238 - 15. Апреля 2015 :: 12:17
    Печать  
    Подскажите плиз. никак не соображу...
    Код
    Выбрать все
    |SELECT
    		|	БИОстаткиОбороты.Счет [Счет $Счет.Основной],
    		|	БИОстаткиОбороты.Субконто1 [Субконто1 $Субконто],
    		|	БИОстаткиОбороты.Субконто1_вид,
    		|	БИОстаткиОбороты.Субконто2 [Субконто2 $Субконто],
    		|	БИОстаткиОбороты.Субконто2_вид,
    		|	БИОстаткиОбороты.КоличествоНачальныйОстаток,
    		|	БИОстаткиОбороты.КоличествоОборотДт,
    		|	БИОстаткиОбороты.КоличествоОборотКт,
    		|	БИОстаткиОбороты.КоличествоКонечныйОстаток
    		|
    		|FROM $БИОстаткиОбороты.Основной(:_НачДата_, :_КонДата_~,,,, Счет = :_ВыбСчет_,(Субконто1,Субконто2),(Субконто2 IN (SELECT Val FROM #СписТовара))) as БИОстаткиОбороты
    		|"; 
    
    


    ВыбТовары э то список значений в запрос передаю:
    УложитьСписокОбъектов(ВыбТовары,"#СписТовара","Номенклатура");
    но на выходе пустая таблица.
    если условия нет т.е. без "Субконто2 IN (SELECT" то заполняется весь товар... а сие излишнее.

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

    еще никак не пойму в описании неясно про следующий параметр после условия счета "(Субконто1,Субконто2)", да еще интересно вообще влияет на скорость работы отборы по субконто или скорость такаяже как и по всем итогам?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #239 - 16. Апреля 2015 :: 06:05
    Печать  
    rom35 писал(а) 15. Апреля 2015 :: 12:17:
    ВыбТовары э то список значений в запрос передаю:
    УложитьСписокОбъектов(ВыбТовары,"#СписТовара","Номенклатура");
    но на выходе пустая таблица.
    если условия нет т.е. без "Субконто2 IN (SELECT" то заполняется весь товар... а сие излишнее.

    Значит, у тебя там не номенклатура или не только номенклатура. Попробуй УложитьСписокОбъектов13 или
    SELECT $ВидСправочника36.Номенклатура + Val FROM #СписТовара

    rom35 писал(а) 15. Апреля 2015 :: 12:17:
    хотя отрабатывает практически идентично по времени, с условием и без. при запросе по 1 группе товара в разы быстрее работает штатные бухитоги....

    Верю. Улыбка БИОстаткиОбороты - самая тормозная из всех ВТ. Но не забывай, что штатные бухитоги часть расчётов делают во время обхода результата. Сравнивать надо не только время выполнения запроса.

    rom35 писал(а) 15. Апреля 2015 :: 12:17:
    еще никак не пойму в описании неясно про следующий параметр после условия счета "(Субконто1,Субконто2)", да еще интересно вообще влияет на скорость работы отборы по субконто или скорость такаяже как и по всем итогам?

    Параметр подробно описан в разделе "ВТ Общая информация". Скорость с отбором должна быть выше, т.к. обрабатываться будет меньшее количество строк.
      

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


    1C++ rocks!

    Сообщений: 21
    Зарегистрирован: 12. Ноября 2012
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #240 - 16. Апреля 2015 :: 09:44
    Печать  
    спасибо. заработало все. причем сегодня все летает, выборка секунды а не минуты...

    естче вопросик если можно...

    пытаюсь сделать отбор по доп. реквизиту в субконто номенклатура,
    имя реквизита "Склад".

    мне надо отобрать дополнительно по конкретному значению...

    пробовал в FROM $БИОстаткиОбороты.Основной в условии ставить (Субконто1.Склад = :Скл), выдает ошибку : ]Invalid column name 'SC'

    пытался добавить через |WHERE (БИОстаткиОбороты.Субконто1.Склад = :Скл)
    ругается: The column prefix 'БИОстаткиОбороты.Субконто1' does not match with a table name or alias name used in the query.
    если WHERE  ($Субконто1.Склад = :Скл)
    Meta name parser error: неизвестное метаимя или алиас "$Субконто1"

    если WHERE  (Субконто1.Склад = :Скл) то ругается: The column prefix 'Субконто1' does not match with a table name or alias name used in the query.

    отборы по доп реквизитам вообще возможны в AccountsRecordset ? никто не пробовал?
      
    Наверх
     
    IP записан
     
    berezdetsky
    1c++ power user
    Отсутствует


    barba non facit sisadminum

    Сообщений: 1986
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #241 - 16. Апреля 2015 :: 10:15
    Печать  
    Отборы возможны конечно. Только у тебя номенклатура в Субконто2 вроде была? Улыбка

    Если я всё правильно помню, нужно в секции Соединение указать соединение со справочником Номенклатура:
    JOIN $Справочник.Номенклатура AS Номенклатура (WITH NOLOCK) ON substring(Субконто1, 5, 9) = Номенклатура.ID

    а в секции Условие - отбор
    $Номенклатура.Склад = :Скл
      

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


    1C++ rocks!

    Сообщений: 150
    Зарегистрирован: 05. Марта 2009
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #242 - 11. Января 2019 :: 13:38
    Печать  
    Не понимаю как с помощью класса выполнить вот такой простой запрос.

    Код (Java)
    Выбрать все
    	Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    	Ит.ВыполнитьЗапрос(Дата1, Дата2, "01.1",,, 1,,"С");
    	СтрокаНомер = "1.1.";
    	СтрокаНаименование ="Основные средства";
    	СтрокаСумма1 = Ит.СНД();
    	СтрокаСумма2 = Ит.СКД();
    	СтрокаСумма3 = Ит.СНК();
    	СтрокаСумма4 = Ит.СКК();
    
     
    
    
      
    Наверх
     
    IP записан
     
    L_I_S
    YaBB Newbies
    *
    Отсутствует



    Сообщений: 3
    Зарегистрирован: 30. Апреля 2009
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #243 - 05. Апреля 2019 :: 14:55
    Печать  
    Всем привет! составил запрос
    Код
    Выбрать все
    ТекстЗапроса = "
    	|SELECT
    	|	 БИОбороты.Счет 						[Счет $Счет.Основной]
    	|	,БИОбороты.КорСчет 						[КорСчет $Счет.Основной]
    	|
    	|	,БИОбороты.Субконто1 					[Субконто1 $Субконто]
    	|	,БИОбороты.Субконто1_вид 				[Субконто1_вид]
    	|	,БИОбороты.Субконто2 					[Субконто2 $Субконто]
    	|	,БИОбороты.Субконто2_вид 				[Субконто2_вид]
    	|
    	|	,БИОбороты.КорСубконто1 				[КорСубконто1 $Субконто]
    	|	,БИОбороты.КорСубконто1_вид 			[КорСубконто1_вид]
    	//|	,БИОбороты.КорСубконто2 				[КорСубконто2 $Субконто]
    	//|	,БИОбороты.КорСубконто2_вид 			[КорСубконто2_вид]
    	//|	,БИОбороты.КорСубконто3 				[КорСубконто3 $Субконто]
    	//|	,БИОбороты.КорСубконто3_вид 			[КорСубконто3_вид]
    	|
    	|	,БИОбороты.КоличествоОборот 			[КоличествоОборот]
    	|	,БИОбороты.СуммаОборот 					[СуммаОборот]
    	|
    	|	,RIGHT(БИОбороты.ПозицияДокумента, 9) 	[Док $Документ]
    	|	,БИОбороты.ВидДокумента 				[Док_вид]
    	|FROM
    	|	$БИОбороты.Основной(:НачДата, :КонДата~, Документ,," + УсловиеСчет + ",(МестаХранения,Материалы)," + Условие + "," + УсловиеКорСчет + ",(МестаХранения,Материалы)) БИОбороты
    	|WHERE
    	|	БИОбороты.КоличествоОборот > 0
    	|ORDER BY
    	|	 БИОбороты.ПозицияДокумента ASC
    	|	,БИОбороты.Субконто2 ASC
    	|";
     
    
    

    строки с КорСубконто2 закомментированы, потому что
    Код
    Выбрать все
    State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'КорСубконто2'. 
    
    

    а ведь, в <КорСубконто> указаны два вида субконто. а "видно" только первый. у счетов 100% есть эти оба вида субконто, запрос по счету 10.1.
    ЧЯДНТ?
      
    Наверх
     
    IP записан
     
    leov-001
    Full Member
    ***
    Отсутствует


    1C++ rocks!

    Сообщений: 150
    Зарегистрирован: 05. Марта 2009
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #244 - 28. Мая 2019 :: 07:38
    Печать  
    Можно ли в ВТ БИОстаткиОбороты

    $БИОстаткиОбороты.<ПланСчетов>([<НачалоПериода>], [<КонецПериода>],
    [<Периодичность>], [<МетодДополнения>], [<Соединение>],                        [<УсловиеСчета>], [<Субконто>], [<Условие>]) AS <Алиас>

    Отключить группировку по полю Валюта?

    С группировкой по полю Валюта имею не верный результат. И с обороткой не сходится.
    РазделительУчета      Валюта      Счет      АП      Субконто1      Субконто1_вид      СуммаНачальныйОстаток      СуммаНачальныйОстатокДт      СуммаНачальныйОстатокКт
    РУ           1             1U         3         BRL011         518      -400000.040      0.000      400000.040
    РУ           1             1U         3         FBT013         518      2689.920      2689.920      0.000
    РУ           1             1U         3         JEJ021         518      -43005.720      0.000      43005.720
    РУ           1             1U         3         KD5001         518      0.000      0.000      0.000      0.000
    РУ           1             1U         3         OLB013         518      49000.000      49000.000      0.000
    РУ           1             1U         3         OVW013         518      17263.500      17263.500      0.000
    РУ           1             1U         3         P77013         518      0.000      0.000      0.000      0.000
    РУ           2             1U         3         JEJ021         518      43005.720      43005.720      0.000

    Убираю группировку по полю Валюта все получается как надо
    РазделительУчета      Счет      АП      Субконто1      Субконто1_вид      СуммаНачальныйОстаток      СуммаНачальныйОстатокДт      СуммаНачальныйОстатокКт
    РУ          1U         3         BRL011         518      -400000.040      0.000      400000.040
    РУ          1U         3         FBT013         518      2689.920      2689.920      0.000
    РУ          1U         3         KD5001         518      0.000      0.000      0.000      0.000
    РУ          1U         3         OLB013         518      49000.000      49000.000      0.000
    РУ          1U         3         OVW013         518      17263.500      17263.500      0.000
    РУ          1U         3         P77013         518      0.000      0.000      0.000      0.000

    Понимаю что это косяк бухгалтерии, но оборотка 1С это игнорит.
      
    Наверх
     
    IP записан
     
    Satans Claws
    God Member
    *****
    Отсутствует


    1C++ rocks!

    Сообщений: 721
    Зарегистрирован: 29. Ноября 2010
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #245 - 19. Сентября 2019 :: 08:49
    Печать  
    Вопрос чутка не по теме, но эта тема наиболее живая из релевантных:

    для регистров есть замечательная обработка УстановкаТА, авторства dmitro, которая позволяет пересчитать итоги регистров

    Вопрос - а есть ли аналог этой обработки для БухИтогов?
      
    Наверх
     
    IP записан
     
    All037
    YaBB Newbies
    *
    Отсутствует


    1C++ rocks!

    Сообщений: 1
    Зарегистрирован: Вчера
    Re: AccountsRecordset v3.17. Прямые запросы к БИ.
    Ответ #246 - Вчера :: 13:08
    Печать  
    Здравствуйте, помогите пожалуйста примером для вот такого бухзапроса, как мне нужно преобразовать его для данного класса


    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    Ит.ИспользоватьСубконто(ВидыСубконто.Товары,Товар,1,1);
    Ит.ИспользоватьСубконто(ВидыСубконто.Подразделения,Подразделение,2);
    Ит.ВыполнитьЗапрос(НачДата,КонДата,Счет,,,1,"Проводка",5);


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