Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Почему запрос к виртуальной таблице возращает не свернутые остатки?

Почему запрос к виртуальной таблице возращает не свернутые остатки?
Я
   evorle145
 
20.03.19 - 17:51
ВЫБРАТЬ
    ХозрасчетныйОстатки.Организация КАК Организация,
    ХозрасчетныйОстатки.Счет КАК Счет,
    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Счет) КАК СчетПредставление,
    ХозрасчетныйОстатки.Счет.Наименование КАК СчетНаименование,
    ЕСТЬNULL(ХозрасчетныйОстатки.Подразделение, &ПустоеПодразделение) КАК Подразделение,
    ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
    ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
    ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
    ХозрасчетныйОстатки.Валюта КАК Валюта,
    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Валюта) КАК ВалютаПредставление,
    ВЫБОР
        КОГДА ХозрасчетныйОстатки.Счет В (&СчетаБанк)
            ТОГДА ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.БанковскиеСчета).НомерСчета
        ИНАЧЕ НЕОПРЕДЕЛЕНО
    КОНЕЦ КАК НомерБанковскогоСчета,
    ВЫБОР
        КОГДА ХозрасчетныйОстатки.Счет В (&СчетаРасчетовСКонтрагентами)
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов).ВидДоговора, НЕОПРЕДЕЛЕНО)
        ИНАЧЕ НЕОПРЕДЕЛЕНО
    КОНЕЦ КАК ВидДоговора,
    ВЫБОР
        КОГДА ХозрасчетныйОстатки.Счет В (&СчетаРасчетовСКонтрагентами)
            ТОГДА ЕСТЬNULL(ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов).РасчетыВУсловныхЕдиницах, ЛОЖЬ)
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК РасчетыВУсловныхЕдиницах,
    ВЫБОР
        КОГДА ХозрасчетныйОстатки.Счет В (&СчетаРасчетовСКонтрагентами)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЕстьСубконтоДокументыРасчетов,
    ХозрасчетныйОстатки.ВалютнаяСуммаОстаток КАК СуммаВВалюте,
    ХозрасчетныйОстатки.СуммаОстаток КАК СуммаВРублях,
    ВЫБОР
        КОГДА ХозрасчетныйОстатки.Счет.НалоговыйУчет
                И НЕ ХозрасчетныйОстатки.Счет В (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АрендныеОбязательстваВал), ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АрендныеОбязательстваУЕ))
            ТОГДА ХозрасчетныйОстатки.СуммаНУОстаток
        ИНАЧЕ ХозрасчетныйОстатки.СуммаОстаток
    КОНЕЦ КАК СуммаВРубляхНУ
ПОМЕСТИТЬ ТаблицаХозрасчетныйОстатки
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&ГраницаОстатков, Счет В (&СчетаПодлежащиеПереоценке), , Организация = &Организация) КАК ХозрасчетныйОстатки

ИНДЕКСИРОВАТЬ ПО
    ХозрасчетныйОстатки.Организация,
    ХозрасчетныйОстатки.Субконто3
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаХозрасчетныйОстатки.Счет КАК Счет,
    ТаблицаХозрасчетныйОстатки.СчетПредставление КАК СчетПредставление,
    ТаблицаХозрасчетныйОстатки.СчетНаименование КАК СчетНаименование,
    ТаблицаХозрасчетныйОстатки.Подразделение КАК Подразделение,
    ТаблицаХозрасчетныйОстатки.Субконто1 КАК Субконто1,
    ТаблицаХозрасчетныйОстатки.Субконто2 КАК Субконто2,
    ТаблицаХозрасчетныйОстатки.Субконто3 КАК Субконто3,
    ТаблицаХозрасчетныйОстатки.Валюта КАК Валюта,
    ТаблицаХозрасчетныйОстатки.ВалютаПредставление КАК ВалютаПредставление,
    ТаблицаХозрасчетныйОстатки.НомерБанковскогоСчета КАК НомерБанковскогоСчета,
    ТаблицаХозрасчетныйОстатки.ВидДоговора КАК ВидДоговора,
    ТаблицаХозрасчетныйОстатки.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах,
    ВЫБОР
        КОГДА ТаблицаХозрасчетныйОстатки.Счет В (&СчетаРасчетовСКонтрагентами)
            ТОГДА ВЫБОР
                    КОГДА ЕСТЬNULL(ДанныеПервичныхДокументов.Дата, ДАТАВРЕМЯ(1, 1, 1)) = ДАТАВРЕМЯ(1, 1, 1)
                        ТОГДА ЕСТЬNULL(ДанныеПервичныхДокументов.ДатаРегистратора, ДАТАВРЕМЯ(1, 1, 1))
                    ИНАЧЕ ДанныеПервичныхДокументов.Дата
                КОНЕЦ
        ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
    КОНЕЦ КАК ДатаВозникновенияЗадолженности,
    ТаблицаХозрасчетныйОстатки.ЕстьСубконтоДокументыРасчетов КАК ЕстьСубконтоДокументыРасчетов,
    ТаблицаХозрасчетныйОстатки.СуммаВВалюте КАК СуммаВВалюте,
    ТаблицаХозрасчетныйОстатки.СуммаВРублях КАК СуммаВРублях,
    ТаблицаХозрасчетныйОстатки.СуммаВРубляхНУ КАК СуммаВРубляхНУ
ИЗ
    ТаблицаХозрасчетныйОстатки КАК ТаблицаХозрасчетныйОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПервичныхДокументов КАК ДанныеПервичныхДокументов
        ПО ТаблицаХозрасчетныйОстатки.Организация = ДанныеПервичныхДокументов.Организация
            И ТаблицаХозрасчетныйОстатки.Субконто3 = ДанныеПервичныхДокументов.Документ

УПОРЯДОЧИТЬ ПО
    ТаблицаХозрасчетныйОстатки.Счет,
    ТаблицаХозрасчетныйОстатки.Субконто1,
    ТаблицаХозрасчетныйОстатки.Субконто2,
    ТаблицаХозрасчетныйОстатки.Субконто3,
    ТаблицаХозрасчетныйОстатки.Валюта,
    ТаблицаХозрасчетныйОстатки.Подразделение
 
 
   evorle145
 
1 - 20.03.19 - 17:53
Это стандартных запрос к РегистрБухгалтерии.Хозрасчетный.Остатки из закрытия месяца в БП. Но он возвращает не свернутые строки. То есть если я поверх еще сделаю сгруппировать то получу свернутый результат
   Fragster
 
4 - 20.03.19 - 17:59
в чем конкретно выражается "несвернутость"? можетбыть те поля, по которым оно "несвернуто" есть в первом подзапросе не в выбранных полях, а в условиях "выбор" или еще где?
   evorle145
 
5 - 20.03.19 - 18:08
(4) ну я получаю две строки :
счет 52 субконт1  сумма 500
счет 52 субконт1  сумма -490

А должен получить одну строку:
счет 52 субконт1  сумма 10


Из за того что строки 2, не верно закрывается месяц.

У меня есть копия базы вчерашняя - там этот запрос выдает 1 строку.
Далее я сравнил весь регистр бухгалтерии по счету 52 с рабочей базой и с копией базы - регистр 1 в 1. (сравнивал просто выгружал в xlm и сравнивал)
Пересчет итогов делал.. не помогло.

выгрузку загрузку обратно dt -делал, тоже не помогло.
   Fragster
 
6 - 20.03.19 - 18:09
ну может там по СуммаНУ пересорт или еще что
   Fragster
 
7 - 20.03.19 - 18:11
еще где-то может быть NULL в субконто/измерении/реквизите, а где-то неопределено (такое при изменении галочек учета в предприятии может быть, или при кривой загрузке данных)
   Вафель
 
8 - 20.03.19 - 18:12
обычно это по валютам пересорт. нулл и пустая ссылка
   evorle145
 
9 - 20.03.19 - 18:13
(7) да, загрузка данных была, но после нее все работало. Тому подтверждение вчерашняя архивная копия. А сегодня не работает..
А вот про галочки очень заинтересовало. Что за галочки смотреть?
   evorle145
 
10 - 20.03.19 - 18:15
(8) А NULL и пустая ссылка разве сгруппируются? то есть я этот запрос открыл и добавил сгруппировать последнию таблицу по всем измерениям, ресурсы соответственно просуммировать.
   Вафель
 
11 - 20.03.19 - 18:15
(10) нет конечно
   evorle145
 
12 - 20.03.19 - 18:16
(11) значит вариант про NULL и пустая ссылка отпадает...
   Вафель
 
13 - 20.03.19 - 18:17
выведи в консоли с валютами и посмотри типы
   evorle145
 
14 - 20.03.19 - 18:35
(13) я сравнил все значения 
ТаблицаВалютныхОстатков[0].Валюта = ТаблицаВалютныхОстатков[1].Валюта
ТаблицаВалютныхОстатков[0].Счет= ТаблицаВалютныхОстатков[1].Счет
ТаблицаВалютныхОстатков[0].Субконто1= ТаблицаВалютныхОстатков[1].Субконто1

везде получил Истина..
   craxx
 
15 - 20.03.19 - 18:35
(0) Битые ссылки?
   Вафель
 
16 - 20.03.19 - 18:36
(14) а субконто 2 и 3?
   evorle145
 
17 - 20.03.19 - 18:39
(16) тоже. значение в них NULL. И ТаблицаВалютныхОстатков[0].Субконто2= ТаблицаВалютныхОстатков[1].Субконто2 и ТаблицаВалютныхОстатков[0].Субконто3= ТаблицаВалютныхОстатков[1].Субконто3 дает истина
   Fragster
 
18 - 20.03.19 - 18:42
(10) если NULL не в выбранных полях первой таблицы, а, например, в условии ВЫБОР тогда поведение как раз такое будет
   Fragster
 
19 - 20.03.19 - 18:45
и на (6) что?
   evorle145
 
20 - 20.03.19 - 18:46
(19) суммы просмотрел - нет пересорта
   Fragster
 
21 - 20.03.19 - 18:47
нужно отдельно выбрать то, что во всех ветках ВЫБОР и проверить
   Fragster
 
22 - 20.03.19 - 18:53
ну и в условиях
   evorle145
 
23 - 20.03.19 - 18:55
(21) ок, попробую
   Cyberhawk
 
24 - 20.03.19 - 19:52
"обычно это по валютам пересорт. нулл и пустая ссылка" // Чаще встречается с субконто, когда добавляют к какому-нибудь счету. Нулл и Неопределено (если составное).
   evorle145
 
25 - 20.03.19 - 21:27
(21) ты гений! через консоль запросов увидел, что во вчерашней копии измерение "Подразделение" = NULL, а сегодня уже "Подразделение" = пустаяссылка.

Как они это сделали?

и самое главное, как обратно вернуть?
   evorle145
 
26 - 20.03.19 - 21:38
то есть простым запросом к регистру бухгалтерии - я увидел что измерение подразделение имеет  значение пустая ссылка а не NULL

ВЫБРАТЬ
    ТИПЗНАЧЕНИЯ(ХозрасчетныйОстатки.Подразделение) КАК Подразделение

ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&ГраницаОстатков, Счет В (&СчетаПодлежащиеПереоценке), , Организация = &Организация) КАК ХозрасчетныйОстатки


При каких обстоятельствах такое могло произойти? что могли нажать пользователи?

и как исправить? Перезаписывать весь регистр бухгалтерии и подставлять туда значение NULL ?
   evorle145
 
27 - 20.03.19 - 22:11
каким то образом все это получилось после того, как пользователь запустил обработку поиска дублирующих элементов, и слил 2 подразделения в одно...

Поэтому в регистре получилось теперь по дебету подразделение null, по кредиту подразделение пустаяссылка. в результате запрос к остаткам давал такой результат. По чему интересно обработка так отработала? по идее она не должна была трогать записи где подразделение = null...
   palsergeich
 
28 - 20.03.19 - 22:44
(26) Ну во первых не получится.
Во вторых я бы на твоем месте посидел что ли теорию подтянул, такие базовые вещи как - когда появляется Null в запросе ну надо посреди ночи отвечать.
   evorle145
 
29 - 21.03.19 - 08:08
(28) почему не получится? уже написал обработку, и там где было пустое значение подставил NULL, Запрос стал выдавать то, что надо и месяц закрылся. Человек мне помог в том плане что навел на то, где искать причину, я ему очень благодарен! А зачем вы сюда пришли и потеряли свое время - не понятно...
   gae
 
30 - 21.03.19 - 08:34
А я нарывался на значения поля Валюта, где-то NULL был, где то пустая ссылка или неопределено.
 
 Рекламное место пустует
   palsergeich
 
31 - 21.03.19 - 08:43
(29) потому что в БД null не хранится, все поля в БД имеют галочку not null.
То что вы пробежались, воткнули и это помогло - это значит вы привели к пустым полям. Для составного типа это будет Неопределенно, для несостааного типа - приводится к пустому значению типа.
То что это помогло в частной задаче не значит что решение работает корректно.
   palsergeich
 
32 - 21.03.19 - 08:44
(30) null появляется в соединениях, как явных, так и неявных. В БД его нет...
   palsergeich
 
33 - 21.03.19 - 08:54
И вместо того что бы разобраться почему это так, вы просто обрушили значения. Как правило это некорректность заполнения документов или справочников.
Любое перепроведение проблемных доков снова эту проблему выдаст наружу.
   gae
 
34 - 21.03.19 - 08:55
(32) я до конца не разобрался, но вот пример сообщения от 1С:

Проверка логической целостности. РегистрБухгалтерии.Хозрасчетный.Измерение.Валюта Оприходование товаров 00000000055 от 31.12.2008 0:00:00:72  Значение должно быть NULL. Сохранено значение NULL.

Для невалютных счетов там NULL должно быть, а не пустая ссылка/неопределено.
Причем этот NULL выдается при запросе к как бы реальной таблице регистра бухгалтерии.
   gae
 
35 - 21.03.19 - 08:58
Видимо она не совсем реальная, а где-то неявно соединяется с данными о валюте.
   1Сергей
 
36 - 21.03.19 - 09:05
Найди проводку, в которой заместа незаполненного подразделения(Субконто?) записана пустая ссылка
   palsergeich
 
37 - 21.03.19 - 09:06
(35) хорошо, я вечером ещё раз проверю.
Но вчера бегло просмотрел обе реальные таблицы РБ в sql, not null там был на месте.
Может я что то не увидел.
   palsergeich
 
38 - 21.03.19 - 09:08
(36) кстати да, частая ошибка
   Cyberhawk
 
39 - 21.03.19 - 10:50
(37) Как же тогда в результате запроса 1С к реальной таблице получается Null?
   palsergeich
 
40 - 21.03.19 - 10:54
(39) в демо бухне воспроизвести сможешь?
SQL будет доступен только вечером.
   Cyberhawk
 
41 - 21.03.19 - 11:01
(40) Ок. Рецепт в (24). Попробую на досуге, лишь бы не забыть )
   unregistered
 
42 - 21.03.19 - 11:12
(37) > просмотрел обе реальные таблицы РБ

Что у тебя за регистр бухгалтерии, если таблиц всего две? )))
   palsergeich
 
43 - 21.03.19 - 11:13
(41) там на сколько я помню, запрос у реальной таблице это не совсем прямой запрос к реальной таблице, а есть ещё доп соединения.
И лечится именно исправлением ошибок ввода, а не прямым изменением записей регистра.
Я ещё раз посмотрю вечером винмательно на текст исполняемого запроса и стуркутру БД.
Ибо not null на уровне архитектуры забит был раньше, может что поменялось.
   palsergeich
 
44 - 21.03.19 - 11:13
(42) движения и движения с субклето.
Здравствуйте.
   palsergeich
 
45 - 21.03.19 - 11:15
(42) вместо того что бы поднять на смех изучил бы матчасть https://its.1c.ru/db/pubapplied/content/209/hdoc
   palsergeich
 
46 - 21.03.19 - 11:18
   palsergeich
 
47 - 21.03.19 - 11:22
В терминах 1с реальных таблиц у РБ 2, с точки зрения БД их больше, но прямого доступа к ним нет.
   unregistered
 
48 - 21.03.19 - 11:27
(45) А чё её учить?
Таблиц как минимум 4 должно быть?
У тебя какая-то усеченная версия регистра ))))
   unregistered
 
49 - 21.03.19 - 11:28
(47) Воооооот! Наконец-то хот до кого-то дошло вспомнить о таблицах итогов!
   palsergeich
 
50 - 21.03.19 - 11:30
(49) Вроде как когда упоминается терминология Вендора, она должна быть именно по ней, а то ещё давай вспомнить таблицы изменений и таблицы версий.
Итоги и прочая хрень по терминологии Вендора - не реальные таблицы, потому чта туда нет прямого доступа.
   unregistered
 
51 - 21.03.19 - 11:30
NULL появляется именно в таблицах итогов.
Самая распространенная проблема - NULL в измерения "Валюта" и "Подразделение", связанных с признаками учета по счету "Валютный" и "По подразделениям".
Так же частенько бывает NULL в ресурсах "СуммаНУ", "СуммаПР", "СуммаВР", связанных опять таки с признаком чета на счете "Налговый".
   palsergeich
 
52 - 21.03.19 - 11:31
А то так с подменой терминологии можно и уши на жопу пришить, а чо тоже кожей покрыпо же.
   unregistered
 
53 - 21.03.19 - 11:31
(50) Документацию почитай. Таблицы итогов абсолютно реальные и совершенно физические.
А виртуальные таблицы, о которых ты говоришь, - это то, что доступно для запросов.
   palsergeich
 
54 - 21.03.19 - 11:32
(51) А итоги это вложенные запросы с ведром соединений.
   unregistered
 
55 - 21.03.19 - 11:32
(52) Нет никакой подмены понятий. Документацию читаем!
   palsergeich
 
56 - 21.03.19 - 11:32
(55) https://its.1c.ru/db/pubapplied#content:195:hdoc:h195 вот ссылка на документ. Обрати внимание на главу.
   palsergeich
 
57 - 21.03.19 - 11:34
Куда уж ещё официальное, чем официальная дока?)
   palsergeich
 
58 - 21.03.19 - 11:36
Контроль аргументы будут или слив?
   palsergeich
 
59 - 21.03.19 - 11:37
Блин драный Т9) Подставляет не то, что я пишу)
   unregistered
 
60 - 21.03.19 - 11:45
(58) https://its.1c.ru/db/pubapplied#content:209:1
Физические таблицы регистра бухгалтерии

https://its.1c.ru/db/pubapplied#content:319:1

В типовой БП должно быть 9 таблиц.
_AccRg<n> – таблица движений регистра бухгалтерии.
_AccRgED<n> – таблица значений субконто регистра бухгалтерии.
_AccRgAT0<n> – таблица остатков и оборотов по счетам и субсчетам.
_AccRgAT<1><n> – таблица остатков и оборотов по счетам, субсчетам и одному субконто.
_AccRgAT<2><n> – таблица остатков и оборотов по счетам, субсчетам и двум субконто.
_AccRgAT<3><n> – таблица остатков и оборотов по счетам, субсчетам и трем субконто.
_AccRgCT<n> – таблица итогов оборотов между счетами.
_AccRgOpt – таблица настроек хранения итогов. Эта таблица создается одна на все регистры бухгалтерии.
_AccRgChngR<n> – таблица регистрации изменений регистра бухгалтерии.


Если для тебя стало открытием то, что виртуальные таблицы остатков и оборотов собираются по физическим и абсолютно реальным таблицам итогов, это твои трудности.
   unregistered
 
61 - 21.03.19 - 11:48
(57) Может хватит уже путать настырно тёплое с красным?
Виртуальные таблицы остатков с физическими таблицами итогов?
   palsergeich
 
62 - 21.03.19 - 11:50
(61) я про реальные говорил, а не про физические.
Это слово я ни разу не упомянул.
   unregistered
 
63 - 21.03.19 - 11:57
(62) Реальные - это и есть физические. Существующие реально в физическом мире.
Виртуальные - который в реальности нет. Их платформа собирает сама. Но собирает она их не из воздуха, а из реальных (физических) таблицы базы данных.

Давай теперь словесами играться! Может еще  пару тройку табличек придумаем?
   unregistered
 
64 - 21.03.19 - 11:58
(63)* пару тройку ТИПОВ/ВИДОВ табличек придумаем?
   palsergeich
 
65 - 21.03.19 - 12:09
(64) ну наверное когда говоришь про механизмы Вендора надо говорит в терминологии Вендора.
Иначе и происходит такая неразбериха.
Ибо в каждой области одни и те же слова могут значить совершенно разное)
По теме: в некоторых физических таблицах РБ некоторые поля действительно имеют возможность быть null, но консоль у меня уже забрали, подоробнее посмотрю вечером.
   palsergeich
 
66 - 21.03.19 - 12:11
(63) в итогах нет информации по конкретной проводке, там хранятся аггегированные данные, скорее всего по этому вендор и не называет итоги реальной таблицей.
Что было в головах у тех кто вводил нейминг именно так - неизвестно.
Но нужно как то жить в этих условиях)
 
 Рекламное место пустует
   gae
 
67 - 21.03.19 - 13:30
(66) Итоги - это реальные таблицы.
   Cyberhawk
 
68 - 21.03.19 - 13:35
(67) В терминах 1С применительно к запросам существует, думаю, только два вида / типа таблиц: реальная и виртуальная.
Реальная, это которая не строится по данным физической таблицы СУБД, а транслируется в запрос СУБД "напрямую", а виртуальная - это которая транслируется в СУБД сначала в выборку данных из физических таблиц СУБД (создание виртуальной таблицы), а затем уже запрос к свежесозданной выполняется.
   gae
 
69 - 21.03.19 - 13:45
(68) Виртуальная  - это скорее которая является результатом расчета чего-либо на основе реальных таблиц, одной или нескольких.
Все запросы в 1С транслируются в запросы к СУБД напрямую, к физическим таблицам.
   Йохохо
 
70 - 21.03.19 - 14:00
(69) так итоги виртуальная, это итогинаконецпериода реальная
   palsergeich
 
71 - 21.03.19 - 14:06
(69) ойвсе.
Там по тексту 2 ссылки на оф документацию.
Вы на ходу придумываете свою терминологию и в упор не видите этого. И путаете сторону: сторона Вендора и сторона СУБД.
Пример:
Регистр сведений в 82. И со стороны Вендора и со стороны СУБД она виртуальная, думаю не надо объяснять почему.
А теперь возьмём остатки РН.
Почему то ни у кого не бомбит от того что все 3 таблицы, исключая саму таблицу движений, называются виртуальными, хотя с точки зрения СУБД, виртуальные только 2.
А тут с РБ набежали на ровном месте балаган устроили.
На 21.03.2019 в таблице итогов данных нет, там есть данные на 28.02.2019 23:5958 , все остальное дополняется из таблиц движений.
И есть подозрение что именно это и попросило нейминг реальные - виртуальные.
   palsergeich
 
72 - 21.03.19 - 14:07
23:5958 думаю что тут я допустил опечатку никому объяснять не надо?)
   1Сергей
 
73 - 21.03.19 - 14:09
Сложно одинеснику запомнить три понятия таблицы: виртуальная, реальная и физическая. Куда проще последние две объединить :)
   gae
 
74 - 21.03.19 - 14:22
(70) Остатки - виртуальная, итоги - реальная.
   gae
 
75 - 21.03.19 - 14:25
(71) Регистр сведений - виртуальная? И со стороны 1С и со стороны СУБД?
надо объяснять почему
   palsergeich
 
76 - 21.03.19 - 15:01
(74) К таблице итогов нет прямого доступа, есть orm который за тебя это делает.
Не путайте терминологию вендора и ваше понимание мира, это разные вещи. Вендор не относится итоги к реальным таблицам, почему так спорьте с ним, а не со мной. Одна из причин скорее всего кроется в агрегации данных.
(75) Потому что в 82, о котором говорится в тексте не было итогов срезов последних. И физически на уровне sql таблицы итогов не существовало.
   gae
 
77 - 21.03.19 - 16:39
(76) Ну нету и нету прямого доступа. Таблица в БД то такая есть. Я не помню, чтобы где-то 1С давало определение понятия "реальная таблица", но из их текста можно понять, что это таблицы, которые хранятся в БД, а виртуальные - которые не хранятся в БД, а рассчитываются.

(76) Причем тут таблица итогов? Написано в (71) было - "Регистр сведений в 82. И со стороны Вендора и со стороны СУБД она виртуальная". Какая же она виртуальная, если она в БД есть.
   Cyberhawk
 
78 - 25.03.19 - 13:06
(43) Походу ты был прав - нуллы не из-за того, что они в физической БД лежат, а всегда только следствие соединения или выборки (из вложенных запросов) несуществующих данных
   Cyberhawk
 
79 - 25.03.19 - 13:08
Т.е. например с субконто дела обстоят так: в физической таблице до включения, например, субконто 3 "Партии" на товарном счете записей с таким видом субконто просто нет физически. Поэтому запрос, где в выборе есть значение такого субконто, возвращает нулл.
   palsergeich
 
80 - 25.03.19 - 13:31
(77) Я скинул ссылку на официальную доку. Давай просто закроем эту тему и не будем трясти воздух напрасно.
В 82 у РС нет таблицы итогов, они появились в 8.3.5, если мне не из еняет память.
   palsergeich
 
81 - 25.03.19 - 13:33
(78) у меня руки не дойдут проверить, я тут в ЕРП вляпался.
   unregistered
 
82 - 25.03.19 - 13:59
(78)(79) Пять вернулись к смешению понятий "тёплого" с "красным".
Сделай запрос без соединений и получи NULL.
Ещё раз для тех, кто в танке. В реальных (физических - если кому-то угодно) таблицах итогов регистра бухгалтерии вполне могут быть значения типа NULL. Примеры я уже приводил - "Подразделения" для итогов по счетам, где НЕ ведётся учет по подразделениям, "Валюта" для счетов, где не ведётся валютный учёт и т.п.
Сделай простой запрос, который не делает никаких соединений, объединений - к таблице текущих итогов.

 ВЫБРАТЬ
   ХозрасчетныйОстатки.Счет КАК Счет,
   ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, "NULL") КАК Валюта,
   ЕСТЬNULL(ХозрасчетныйОстатки.Подразделение, "NULL") КАК Подразделение,
   ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток
 ИЗ
   РегистрБухгалтерии.Хозрасчетный.Остатки(, НЕ Счет.УчетПоПодразделениям И НЕ Счет.Валютный, ,) КАК ХозрасчетныйОстатки
   Cyberhawk
 
83 - 25.03.19 - 14:33
(82) Между данными-кандидатами и физической таблицей итогов БД присутствует прокладка в виде сервера 1С
   1Сергей
 
84 - 25.03.19 - 16:03
(83) +1


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.