Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

ВНУТРЕННЕЕ СОЕДИНЕНИЕ портит подсчет общих остатков из таблицы ОстаткиИОбороты

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

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

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

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

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

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

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

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

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

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

http://prntscr.com/ij7pfc

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

http://prntscr.com/ij7pu0


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

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

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

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

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

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