powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Использование справочника "Статьи затрат"
25 сообщений из 27, страница 1 из 2
Использование справочника "Статьи затрат"
    #39774348
Pavka_Korchagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, здравствуйте!
Посоветуйте, пожалуйста. Мне нужно выгрузить в MS Access журнал хозяйственных операций из 1С. Посредством соответствующей обработки я вычислил в каких таблицах 1С хранит нужные мне данные. В MS Access сформировал связанные ODBC таблицы.В итоге у меня получилось вывести почти все, что я хотел - дату, счета ДТ и КТ, контрагента, подразделение и т.п.
Не могу никак подсоединить справочник "Статьи затрат".
Корневая таблица у меня называется "РеестрБухгалтерии.Хозрасчетный" (dbo_AccRg599). К ней уже цепляются все остальные. Справочник "Статьи затрат" я нашел - в моей базе он находится в Таблице dbo_Reference114. Но связать вместе эти таблицы я не могу.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774411
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,

авторЕсли регистр бухгалтерии ссылается на план счетов, у которого максимальное количество субконто больше нуля, то создается таблица значений субконто (_AccntRegED<n>) с полями:

_Period - момент времени движения;
_Recorder<suff> - ссылка на регистратор;
_LineNo - номер движения по данному регистратору;
_Correspond - вид движения. Поле присутствует в регистрах без корреспонденции;
_Kind<suff> - ссылка на характеристику субконто;
_Value<suff> - значение характеристики;
_Fld<n> - общие реквизиты.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774459
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,

А контрагента ты как нашёл?
Статьи затрат (да и все значения субконто так же по идее).
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774470
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХитроглазыйPavka_Korchagin,

А контрагента ты как нашёл?
Статьи затрат (да и все значения субконто так же по идее).

Потому как для dbo_AccRg599 контрагент и подразделение это:
автор_Fld<n><suff> - измерение, ресурс или реквизит (для каждого измерения, каждого ресурса и каждого реквизита);
а вот Статья затрат это значение субконто и оно храниться отдельно, да еще и в нескольких таблицах т.к. итоги по субконто хранятся в разных таблицах, по количеству субконто.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774481
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,
Выберете из своей
Код: sql
1.
SELECT * FROM _AccntRegED<n> WHERE _Value_RTRef = 114

это и будут значения субконто для dbo_Reference114
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774490
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvPavka_Korchagin,
Выберете из своей
Код: sql
1.
SELECT * FROM _AccntRegED<n> WHERE _Value_RTRef = 114

это и будут значения субконто для dbo_Reference114

точнее
Код: sql
1.
SELECT _Value_RRRef FROM _AccntRegED<n> WHERE _Value_RTRef = 114
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774502
Pavka_Korchagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хитроглазый,
Контрагента нашел через вспомогательную таблицу - ЖурналДокументов.Документы (_DocumentJournal24675). По идее через аналогичную таблицу присоединяется и справочник статей затрат. Коллега vitkhv дал наводочку на РегистрБухгалтерии.Хозрасчетный.Субконто (_AccRgED635).
Сейчас пытаюсь присоединить _AccRgED635 к dbo_AccRg599. Почему пытаюсь - получается очень большой размер итоговой таблицы. Access пишет, что не хватает памяти для отображения. Видимо одной записи dbo_AccRg599 соответствует несколько в _AccRgED635. Кстати, почему?
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774510
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_KorchaginСейчас пытаюсь присоединить _AccRgED635 к dbo_AccRg599. Почему пытаюсь - получается очень большой размер итоговой таблицы. Access пишет, что не хватает памяти для отображения. Видимо одной записи dbo_AccRg599 соответствует несколько в _AccRgED635. Кстати, почему?

По каким полям соединяете?
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774511
Pavka_Korchagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,
Спасибо за ответ! Но у меня поле _Value_RTRef содержит не значения , а ссылки.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774524
Pavka_Korchagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,
На картинке, наверное, понятнее.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774525
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchaginvitkhv,
Спасибо за ответ! Но у меня поле _Value_RTRef содержит не значения , а ссылки.
Естественно ссылки. Ссылки на значения субконто.

Сделайте такой запрос :

Код: sql
1.
2.
3.
select спр._Description from  _AccRgED635 значСубк
left join _reference114 спр ON значСубк._Value_RRRef = спр._IDRRef
WHERE [значСубк]._Value_RTRef = 114



и увидите, что значат эти ссылки.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774550
Pavka_Korchagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,

Подскажите, пожалуйста, где можно почитать про "_LineNo - номер движения по данному регистратору" из _AccntRegED<n>;
Вроде бы получилось у меня присоединить статьи затрат. Но, таблица выходит очень длинная и Аксесс ругается.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774562
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT 
  спр._IDRRef
 ,спр._Description from _AccRg599 AS Рег
left join _AccRgED114 AS ЗнСуб 
ON Рег._Period = ЗнСуб._Period AND
   Рег._RecorderTRef = ЗнСуб._RecorderTRef AND
   Рег._RecorderRRef = ЗнСуб._RecorderRRef AND
   Рег._LineNo = ЗнСуб._LineNo AND 
   Рег._Active = 0 AND 
   ЗнСуб._Value_RTRef = 114 AND 
  [ЗнСуб]._Value_TYPE = 8
LEFT JOIN _Reference173 спр 
ON спр._IDRRef = [ЗнСуб]._Value_RRRef
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774564
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,

извиняюсь, так правильней:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT 
  спр._IDRRef
 ,спр._Description from _AccRg599 AS Рег
left join _AccRgED114 AS ЗнСуб 
ON Рег._Period = ЗнСуб._Period AND
   Рег._RecorderTRef = ЗнСуб._RecorderTRef AND
   Рег._RecorderRRef = ЗнСуб._RecorderRRef AND
   Рег._LineNo = ЗнСуб._LineNo AND 
   Рег._Active = 0 AND 
   ЗнСуб._Value_RTRef = 114 AND 
  [ЗнСуб]._Value_TYPE = 8
LEFT JOIN _Reference114 спр 
ON спр._IDRRef = [ЗнСуб]._Value_RRRef
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774577
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,

а еще лучше так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT спр._IDRRef,спр._Description from _AccRg1515 AS Рег
left join _AccRgED1543 AS ЗнСуб ON Рег._Period = ЗнСуб._Period AND
Рег._RecorderTRef = ЗнСуб._RecorderTRef AND
Рег._RecorderRRef = ЗнСуб._RecorderRRef AND
Рег._LineNo = ЗнСуб._LineNo
AND Рег._Active = 0x00
AND ЗнСуб._Value_RTRef = 0x00000072
AND [ЗнСуб]._Value_TYPE = 0x08
LEFT JOIN _Reference173 спр ON спр._IDRRef = [ЗнСуб]._Value_RRRef 



Что бы неявного преобразование в binary не было
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774598
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,

кстати и контрагент скорей всего есть в _AccRgED

тогда ЗнСуб._Value_RTRef = 55
и LEFT JOIN _Reference55
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774602
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,

ну и соединение _AccRg599 и _AccRgED114 делайте по inner join
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774621
Pavka_Korchagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitkhv,

Обратил внимание, что поле _Value_RTRef во всех записях в таблице AccRgED пустое. Так что делать по нему отбор бесполезно.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774657
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,
Этого не может быть в принципе. Т.к. 1С так хранит составные поля. И вообще у 1С не может быть не заполненных значений. У нее во всех таблицах, во всех полях этих таблиц принципиально not null.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774683
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_Korchagin,
и даже джоин со справочником у 1С обязательно будет таким (там запрос немного другой будет, но суть такая):

FROM _AccRgED<n> T1
LEFT JOIN _Reference114 T2 ON T1._Value_TYPE = 0x08 AND T1._Value_RTRef = 0x00000072 AND T1._Value_RRRef = T2 ._IDRRef


Что бы попасть в индекс составного поля. А индекс по составному полю у _AccRgED<n> обязателен и выглядит так:

Name Data TypeSizeIdentityAllow NULLs_Value_TYPE binary(1) 1 No No_Value_RTRef binary(4) 4 No No_Value_RRRef binary(16) 16 No No_Period datetime 8 No No
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774689
Хитроглазый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavka_KorchaginХитроглазый,
Контрагента нашел через вспомогательную таблицу - ЖурналДокументов.Документы (_DocumentJournal24675).
Плохая идея. Одному документу/хозоперации может несколько контрагентов соответствовать.

Ликбез 1С/БУ:
Регистратор = документ; обычно одному документу соответствует несколько проводок = хозопераций (_LineNo).
Хозоперация = проводка - движение сумм (Дебет/Кредит = _AccountDtRRef/_AccountCtRRef).

Каждый счет (Дебет и Кредит) может иметь свой набор аналитик,
например,
счет Товары на складах - может иметь аналитики Склад и Номенклатура,
счет РасчетныеСчета: БанковскийСчет, СтатьяДДС;
и т.д. в РСБУ часто не более 3х аналитик на счёте.

_AccRgXX - основная таблица операций;
_AccRgEDXXX - таблица аналитик дебета и кредита;

В общем, проще, правильней и надежней было бы из 1С к твоему Аксесу подключить и куда надо нужные операции сложить.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774711
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смысл всего этого трэша и угара

особенно с учетом как выше было сказано полей составного типа и субконто (нужного типа) которые еще могут быть на разных позициях на счете и адекватно проще и надежнее выгрести информацию изнутри 1с-ым запросом.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774714
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvPavka_Korchagin,
и даже джоин со справочником у 1С обязательно будет таким (там запрос немного другой будет, но суть такая):

FROM _AccRgED<n> T1
LEFT JOIN _Reference114 T2 ON T1._Value_TYPE = 0x08 AND T1._Value_RTRef = 0x00000072 AND T1._Value_RRRef = T2 ._IDRRef


Что бы попасть в индекс составного поля. А индекс по составному полю у _AccRgED<n> обязателен и выглядит так:

Name Data TypeSizeIdentityAllow NULLs_Value_TYPE binary(1) 1 No No_Value_RTRef binary(4) 4 No No_Value_RRRef binary(16) 16 No No_Period datetime 8 No No

И вообще из этого следует, что оптимизированный запрос будет выглядеть так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT 
  спр._IDRRef
 ,спр._Description from _AccRg599 AS Рег
inner join _AccRgED635 AS ЗнСуб 
ON Рег._Period = ЗнСуб._Period AND
   Рег._RecorderTRef = ЗнСуб._RecorderTRef AND
   Рег._RecorderRRef = ЗнСуб._RecorderRRef AND
   Рег._LineNo = ЗнСуб._LineNo AND 
   Рег._Active = 0 AND  
inner join _Reference114 спр ON 
[ЗнСуб]._Value_TYPE = 0x08
ЗнСуб._Value_RTRef = 0x00000072 AND 
[ЗнСуб]._Value_RRRef = спр._IDRRef



Но в это в MSSQL, как там у вас в MS Access дело с индексами состоит я хз.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39774717
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодальноеОкносмысл всего этого трэша и угара

особенно с учетом как выше было сказано полей составного типа и субконто (нужного типа) которые еще могут быть на разных позициях на счете и адекватно проще и надежнее выгрести информацию изнутри 1с-ым запросом.

Если бы автор правильно данные утянул в Access, то было бы норм. А так в принципе можно и просто по полю _Value_RRRef искать конечно, т.к. вероятность генерации одинакового ГУИД в разных таблицах мала. Но совсем не исключена.
...
Рейтинг: 0 / 0
Использование справочника "Статьи затрат"
    #39775447
Pavka_Korchagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, спасибо за ответы.
Попрошу паузу, осмыслить ваши комментарии.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / [игнор отключен] [закрыт для гостей] / Использование справочника "Статьи затрат"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]