Имя: Пароль:
1C
1С v8
ВНУТРЕННЕЕ СОЕДИНЕНИЕ портит подсчет общих остатков из таблицы ОстаткиИОбороты
, ,
0 zagzag
 
24.02.18
20:26
Здравствуйте. В консоли гоняю запрос, который упрашиваю дать мне такую структуру:

Регистратор, НачальныйОстаток, ОборотДт, ОборотКт, КонечныйОстаток, КорСчет, КорСубконто1.

Корреспондирующие поля получаю через таблицу Обороты, всё остальное - из таблицы ОстаткиИОбороты.

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

Сутки чтения интернетов и форумов и следования тем советам не помогли.

Прошу подсказать: к записям таблицы ОстаткиИОбороты нельзя добавить КорСчет и Субконто простым соединением?
1 Dmitrii
 
гуру
24.02.18
20:31
Запрос показывай.
К чему тут риторические филосовские вопросы?...
2 zagzag
 
24.02.18
20:56
(1)
ВЫБРАТЬ
    Ост.Регистратор КАК Регистратор,
    Ост.Регистратор.МоментВремени КАК МоментВремени,
    Ост.НомерСтроки КАК НомерСтроки,
    Ост.СуммаНачальныйОстаток КАК СН,
    Ост.СуммаОборотДт КАК ДО,
    Ост.СуммаОборотКт КАК КО,
    Ост.СуммаКонечныйОстаток КАК СК,
    Об.КорСчет,
    Об.КорСубконто1
ИЗ
    РегистрБухгалтерии.План.ОстаткиИОбороты(&Дата1, &Дата2, Запись, Движения, Счет = &Счет, , Субконто1 = &Статья) КАК Ост
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.План.Обороты(&Дата1, &Дата2, Запись, Счет = &Счет, , Субконто1 = &Статья, , ) КАК Об
        ПО Ост.Регистратор = Об.Регистратор И Ост.НомерСтроки = Об.НомерСтроки

УПОРЯДОЧИТЬ ПО
    МоментВремени,
    Регистратор,
    НомерСтроки
ИТОГИ
    СУММА(СН),
    СУММА(ДО),
    СУММА(КО),
    СУММА(СК)
ПО    ОБЩИЕ,
    Регистратор,
    НомерСтроки
3 Sasha_H
 
24.02.18
21:02
У тебя зачем поля тут момент времени и прочие. То что ненужно и не выводи это во-первых.

Во-вторых нельзя соеднять внутренним соединением остатки с оборотами поскольку результатирующим набором будет возвращено равенство обеих таблиц, тоесть у тебя не будет информации того что есть на остатке но нет в обротах, поэтому заменитеВНУТРЕННЕЕ на ЛЕВОЕ и будет счастье.
4 zagzag
 
24.02.18
21:27
(3) Благодарю. Заменил, убрал.

Почему я спрашиваю: в перечитанных материалах встречал и объединения, и временные таблицы, и тестирование базы, но на решение моей проблемы не натыкался. Может, я "замылил" себе мозги, не вижу известного решения?

Запрос возвращает около 1600 строк, накладные за полгода. И вдруг, в конце полугодия, в строках встречается документ другого типа - и подсчет остатков спотыкается.

http://prntscr.com/ij7pfc

Причем, он не просто спотыкается на итогах этого документа. Именно на эту сумму портятся общие итоги.

http://prntscr.com/ij7pu0


Думал, может, неправильно связываю по регистратору и номеру строки?

Гляньте, будьте добры, скажите, нормальная ли это ситуация или нет. Мне этого будет достаточно хотя бы для того, чтобы знать, что это - глюк базы или особенность платформы, до которой я не дорос.
5 Sasha_H
 
24.02.18
22:53
(4) Прочтите книгу СКЛ для смертных думаю много станет ясным. Вам следует понимать разницу этих видов соединений/объединений этого на форуме не узнать только с помощью чтений книг и проб/ошибок.
6 Sasha_H
 
24.02.18
22:57
(4) нет никакого глюка базы это точно. Тут скорее всего надо разбираться с этим вопросм уже с самой базой , а так тяжело что-то сказать. Если специалист сомнивается он пишет не одну пару запросов, чтобы понимтаь откуда ноги растут и ему уж точно ненужно объяснять в чем разница между ЛЕВЫМ и ВНУТРЕННИМ соединениями...
7 h-sp
 
24.02.18
23:02
(6) да нет, вообще запрос бредовый. Если например в регистраторе будет не один КорСчет, а 5 разных, или там 10. То остатки покажет в 10 раз больше.
8 zagzag
 
24.02.18
23:20
(6) Я и делал не один запрос, чтобы вычислить, в чем дело. На форум обращаюсь после честных суток самостоятельных поисков, обхождение понимаю.

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

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

Благодарю за ответы, они мне очень помогли.
9 Otark
 
25.02.18
10:23
Ну раз пошла такая пьянка http://wiki-1c.ru/doku.php/1c:база:запросы основы запросов
10 asady
 
25.02.18
10:26
Остаток по регитратору погугли
Пита на вас нет!
11 zagzag
 
25.02.18
15:10
(7) Вы правы, так и есть.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn