Версия для печати темы (https://pro1c.org.ua/index.php?s=cbb899b10cd9ce4b19fee368dd601c71&showtopic=48521)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Базы данных _ Прямой запрос SQL - журнал операций

Автор: alex_zhurs 25.10.18, 23:25

Добрый день.
Стоит задача прямым запросом SQL сделать журнал операций: Дебет, Кредит, документ, сумма, контрагент, все виды субконто...
Отталкивался от РегистрБухгалтерии.Хозрасчетный.
Получилось всё, кроме подвязывания субконто.

Я не программист 1С, и не очень ориентируюсь в струтурах данных 1С.
Правильно ли я понимаю, что мне нужно как-то подвязать таблицу ИтогиПоСчетамССубконто1, 2, 3 и пр. к РегистрБухгалтерии.Хозрасчетный???

Через какое поле это сделать?

Таблицы:
_DocumentJournal3899 - ЖурналДокументов.ЖурналОпераций
_AccRg4752 - РегистрБухгалтерии.Хозрасчетный
_Reference31 - Справочник.Организации
_Acc2 - ПланСчетов. Хозрасчетный
_Reference5 - Справочник.Валюты

На текущий момент мой запрос выглядит так:

USE sql;

SELECT
_Reference31._Description AS Компания,
_AccRg4752._Period AS ДатаПроводки,
_DocumentJournal3899._Date_Time AS ДатаДокумента,
_DocumentJournal3899._Number AS НомерДокумента,
_Acc2DT._Code AS Дт,
_Acc2CT._Code AS Кт,
_AccRg4752._Fld4755 AS Сумма_грн,
_Acc2DT._Description AS Дт_название,
_Acc2CT._Description AS Кт_название,
_AccRg4752._Fld7526_RRRef,
_Reference48._Description AS СтатьяЗатрат,
_CurrencyDt._Description AS ВалютаДт,
_CurrencyCt._Description AS ВалютаКт,
_AccRg4752._Fld4758 AS ТипОперации,
_DocumentJournal3899._Posted AS Проведен,
_AccRg4752._Fld4757Dt as КоличДт,
_AccRg4752._Fld4757Ct as КоличКт

FROM
[sql].[dbo].[_AccRg4752]
inner join _DocumentJournal3899
on (_AccRg4752._RecorderRRef = _DocumentJournal3899._DocumentRRef
--and _DocumentJournal3899._Number = 'КБ21Т000050'
)

inner join _Acc2 _Acc2DT
on _AccRg4752._AccountDtRRef =_Acc2DT._IDRRef

inner join _Acc2 _Acc2CT
on _AccRg4752._AccountCtRRef =_Acc2CT._IDRRef

left join _Reference31
on _AccRg4752._Fld4753RRef = _Reference31._IDRRef

left join _Reference48
on _AccRg4752._Fld7526_RRRef = _Reference48._IDRRef --почему статьи затрат не тянутся

left join _Reference5 _CurrencyDt
on _AccRg4752._Fld4754DtRRef = _CurrencyDt._IDRRef

left join _Reference5 _CurrencyCt
on _AccRg4752._Fld4754CtRRef = _CurrencyCt._IDRRef

Автор: awp 26.10.18, 7:53

alex_zhurs @ Сегодня, 0:25 * ,
отловите отчет в SQL Server Profiler. Самое простое решение smile.gif

Автор: alex_zhurs 26.10.18, 11:51

awp @ Сегодня, 8:53 * ,
Спасибо! Попробую разобраться, что такое SQL Server Profiler. Пока не сталкивался.

Автор: Vladal 28.10.18, 19:59

Цитата(alex_zhurs @ 26.10.18, 0:25) *
Получилось всё, кроме подвязывания субконто.

Субконто составного типа и это могут быть несколько связей с разными справочниками.

Надо посмотреть в ПВХ ВидыСубконто какие типы и соединятся и с теми таблицами.
например, есть субконто Номенклатура, Вы в своем запросе тоже делайте соединение со справочником Номенклатура.
И т.д. для всех видов субконто.

Если система меняться не будет и типы субконто не будут изменены, Ваш запрос будет работать.

Я так понимаю, что вариант подключения к 1C.Application не имеет смысла, так как она будет долго выполнять запрос к бухрегистру.
Но зато в выборке 1С будут все необходимые данные.

Попробуйте сделать нужный запрос в 1С, и как сказали, вытяните запрос SQL из профайлера.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua