Соединение в запросе #688008


#0 by Csar
Всем привет. Подскажите как соединить две таблицы регистра бухгалтерии в запросе по Субконто3, при условии, что Субконто3 не у всех счетов имеется? Примерный пример :) При запуске обработки прогоняются различные счета, но у некоторых недоступно Субконто3 и запрос отваливается на соединении.
#1 by Конфигуратор1с
эм, а зачем соединять те счета по которым нет третьего субконто?
#2 by Csar
необходим прогнать многие счета. А как же соединить при этом по выборочным счетам? Мне всего для одного субсчета нужжно соединение
#3 by Конфигуратор1с
ну так отобрать только те счета по которым есть субконто3 ?
#4 by Csar
в представлен мягко говоря сильно упрощенный код запроса, а так он с вирт. таблицами и не очень читабельный
#5 by Конфигуратор1с
Просто если у него нет субконто то оно в  результирующую таблицу не попадет. смысл по нему данные отбирать?
#6 by Csar
Но для всего запроса необходимо прогнать и по тем счетам, где нет Субконто3.
#7 by Csar
да, там есть еще и ЕСТЬNULL(,0). Если нет Субконто, то надо подставлять ноль
#8 by Конфигуратор1с
ну так во временную таблицу и заполнить если Субконто3 нет тогда поставить туда пустое значение и соединять не виртуальную таблицу а временную
#9 by Конфигуратор1с
соединяй не с виртуальной таблицей а  с временной
#10 by Csar
т.е. запрос разбить на два? В первом прогонять только те счета, где есть Субконто3, а во втором - все остальное и потом объединять результаты? Вроде это как то не очень)
#11 by Csar
Забыл сказать, что СуммаНДСпо6002счету - это Вирт. Таблица
#12 by viktor_vv
А в параметре ВидыСубконто у тебя что ?
#13 by Csar
Спасибо за мысль. Я правильно ее понял в ?
#14 by Конфигуратор1с
типа того)
#15 by Csar
ВЫБРАТЬ
#16 by rphosts
зачем уничтожать, если по выполнении запроса все временные и так будут уничтожены?
#17 by viktor_vv
Чето мне имхается тебе надо было просто в ВидСубконто, если это массив видов, третий вид субконто поднять на вторую позицию и соединять в первоначальном
#18 by Csar
так не получится, т.к. все счета - счета расчетов с контрагентами. А там второе субконто - договор. Интересует счет 60.02 - только для него нужно вычитать НДС. У этого счета третье субконто как раз документ расчетов.
#19 by viktor_vv
Просто в итоговом запросе нигде не увидел использование Договора в Выбрать или в условиях, поэтому вполне возможно в ВидСубконто передать только два вида (Контаргент и ДокументРасчетов) и соединение и ЕстьNull . Параметр Вид субконто в ВТ используется еще и для упорядочивания видов субконто.
#20 by Csar
не совсем тебя понял. ВидСубконто используется в параметрах вирт. таблицы РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В (&МассивСчетов), &ВидыСубконто, Организация = &Организация) КАК ХозрасчетныйОстатки.
#21 by viktor_vv
Не, это я неправ был.
#22 by Csar
Видимо единственный вариант это разбить один пробег по счетам на два пробега - один только по 6002, к которому надо привязать еще одно поле из другой таблицы по Субконто3, и второй пробег по остальным счетам.
#23 by Csar
Я упростил запрос до следующего: Делаю запрос только по счету 60.02. И все равно вылазит ошибка, что не найдено Субконто3. Я проверил - в предопредененных значениях счета 60.02 Субконто3 нету, а по факту там сидит документ расчетов.
#24 by hhhh
&ВидыСубконто проверьте
#25 by Csar
В яблочко! Я уже весь мозг сломал! Спасибо большое!
#26 by Csar
+ и я только что понял предыдущие посты касательно ВидовСубконто! Спасибо огромное!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С