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


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

Не корректно отрабатывает запрос

Не корректно отрабатывает запрос
Я
   Alex70
 
28.06.18 - 07:40
Доброго времени суток! Как я понимаю в соединениях
_________________________________________________________
ВЫБРАТЬ ПЕРВЫЕ 1
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Спецификация
ПОМЕСТИТЬ ВТ_Спецификации
ИЗ
    Документ.ЗаданиеНаПроизводство.ВыпускТехПроцесс КАК ЗаданиеНаПроизводствоВыпускТехПроцесс
ГДЕ
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Номенклатура = &Номенклатура
    И ЗаданиеНаПроизводствоВыпускТехПроцесс.НоменклатурнаяГруппа = &НоменклатурнаяГруппа

СГРУППИРОВАТЬ ПО
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Спецификация,
    ЗаданиеНаПроизводствоВыпускТехПроцесс.НоменклатурнаяГруппа
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_Спецификации.Спецификация,
    ИсходныеКомплектующие.Номенклатура,
    СУММА(ЕСТЬNULL(ИсходныеКомплектующие.Количество, 0)) КАК Количество
ПОМЕСТИТЬ ВТ_ИсходКомплект
ИЗ
    ВТ_Спецификации КАК ВТ_Спецификации
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК ИсходныеКомплектующие
        ПО ВТ_Спецификации.Спецификация = ИсходныеКомплектующие.Ссылка

СГРУППИРОВАТЬ ПО
    ИсходныеКомплектующие.Номенклатура,
    ВТ_Спецификации.Спецификация
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_ИсходКомплект.Спецификация,
    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
    СУММА(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
ИЗ
    ВТ_ИсходКомплект КАК ВТ_ИсходКомплект
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыВРезервеНаСкладахОстатки
        ПО ВТ_ИсходКомплект.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура

СГРУППИРОВАТЬ ПО
    ВТ_ИсходКомплект.Спецификация,
    ТоварыВРезервеНаСкладахОстатки.Номенклатура
 
 
   Ненавижу 1С
 
1 - 28.06.18 - 07:41
что именно не корректно-то?

ВЫБРАТЬ ПЕРВЫЕ имеет смысл только при упорядочивании
   Alex70
 
2 - 28.06.18 - 07:42
Создал запрос через консоль отчетов, выводит только Спецификацию, а номенклатура и количество, пустые(
   Alex70
 
3 - 28.06.18 - 07:49
Я думаю что не правильно соединил РегистрСвединий и ВТ_ИсходКомплект
   catena
 
4 - 28.06.18 - 08:11
Не "Запрос некорректно отрабатывает", а "Результат не соответствует моим ожиданиям"

(2)Во второй-то таблице номенклатура есть?
   Dvoe4nik
 
5 - 28.06.18 - 08:27
(3) ИМХО Спецификация <> номенкладура
   xXeNoNx
 
6 - 28.06.18 - 08:54
(0) подзапрос 1: нах не нужно "Сгруппировать"
Подзапрос 2: нах не нужно isnull, т.к. внутреннее соединение
Запрос: Соединение с вирт таблицей, не наложено условие по номенклатуре в вирт таблице, отсутствует isnull, т.к. есть левое соединение.
   xXeNoNx
 
7 - 28.06.18 - 09:00
(2) замени ВТ_ИсходКомплект.Спецификация на ТипЗначения(ВТ_ИсходКомплект.Спецификация)
И вывод сюда
   dezss
 
8 - 28.06.18 - 09:02
(6) так по номенклатуре идет соединение, нафига еще условие в вирт таблице?

с остальным согласен.
   dezss
 
9 - 28.06.18 - 09:03
(0) а точно никакой ошибки не выдает?
че это за группировка в первом подзапросе по полю, которого нет в выборке?
   dezss
 
10 - 28.06.18 - 09:05
(2) ИМХО, нет остатков на твоем складе...
в последнем запросе замени
    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
на
    ВТ_ИсходКомплект.Номенклатура,

и увидишь....
 
 Рекламное место пустует
   dezss
 
11 - 28.06.18 - 09:06
(10) + а потом посмотри остатки на складе
   Dvoe4nik
 
12 - 28.06.18 - 09:08
(0) чет помоему ерунда какая то
-1 выбираешь спецификацию по необходимой номенклатуре
-2 выбираешь исх комплект по спецификации
-3 смотришь остатки по исх комплект...
если все так, то где  п2??
   Alex70
 
13 - 28.06.18 - 09:39
Мне нужно вывести список номенклатур, и кол-во для каждой которые принадлежат определенной спецификации. Если я меняю как сказал dezss:
(10) "ИМХО, нет остатков на твоем складе...
в последнем запросе замени
    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
на
    ВТ_ИсходКомплект.Номенклатура,
и увидишь...."
__________________________________
То в отчете выводит:
Спецификация|Номенклатура|Количество
Поддон      | Поддон     |

Получается поддон состоит из поддона, а мне нужно поддон состоит
Спецификация|Номенклатура|Количество
Поддон      | Труба 2х2  | 4
Поддон      | Метал.лист | 1
Поддон      | Прутья     | 5
   dezss
 
14 - 28.06.18 - 09:45
(13) вот видишь...ты все увидел, что у тебя не так...
во втором запросе у тебя выбирается не та номенклатура...
а раз так, то первый запрос выбирает не ту спецификацию...
проверь, что возвращается первый запрос
   dezss
 
15 - 28.06.18 - 09:48
(14) + кстати, те изменения, которые я предложил, никак не меняют конечную выборку, так как у тебя такое соединение:
        ПО ВТ_ИсходКомплект.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура

т.е. они либо равны, либо остатков просто нет...
   Alex70
 
16 - 28.06.18 - 09:55
(14) Запрос №1 выводит только спецификацию, вроде все правильно, но все же я не могу догнать
   dezss
 
17 - 28.06.18 - 09:56
(16) в ты смотрел, что в этой спецификации?
   dezss
 
18 - 28.06.18 - 09:57
(17) конкретно, какие там ИсходныеКомплектующие
   Alex70
 
19 - 28.06.18 - 09:59
(18) Запрос ниже возвращает только один столбец:
|Спецификация|
|Поддон 12345|
_____________________________
ВЫБРАТЬ ПЕРВЫЕ 1
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Спецификация
ПОМЕСТИТЬ ВТ_Спецификации
ИЗ
    Документ.ЗаданиеНаПроизводство.ВыпускТехПроцесс КАК ЗаданиеНаПроизводствоВыпускТехПроцесс
ГДЕ
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Номенклатура = &Номенклатура
    И ЗаданиеНаПроизводствоВыпускТехПроцесс.НоменклатурнаяГруппа = &НоменклатурнаяГруппа

СГРУППИРОВАТЬ ПО
    ЗаданиеНаПроизводствоВыпускТехПроцесс.Спецификация,
    ЗаданиеНаПроизводствоВыпускТехПроцесс.НоменклатурнаяГруппа
;
   Dvoe4nik
 
20 - 28.06.18 - 10:01
(19) посмотри исх Комплект в спецификации этой
   Dvoe4nik
 
21 - 28.06.18 - 10:02
(20) +если В Спецификации "Поддон 12345" есть "Поддон" то так и выведет
   Alex70
 
22 - 28.06.18 - 10:03
(20) Что то не могу понять как это сделать, подскажите пожалуйста
   Alex70
 
23 - 28.06.18 - 10:07
Зашел в Справочник - Спецификации нашел мой Поддон 12345, в табличной части там список из 13 пунктов:
Номенклатура   |Кол-во
Опора с ребром |  2
Опора с ребром |  4
Балка          |  1
Лист 200х3000  |  2
Труба металл   |  6
   Dvoe4nik
 
24 - 28.06.18 - 10:09
(23)
ну как бы ты же можешь через 1с предприятие открыть спецификацию и просмотреть исходные комплектующие? ну или в результате выборки из первого запроса в ТЧ СпецификацииНоменклатуры.ИсходныеКомплектующие..
   Dvoe4nik
 
25 - 28.06.18 - 10:14
(23) ну вот Совпадает с тем что в (13)?
   Dvoe4nik
 
26 - 28.06.18 - 10:17
Если нет то попробуй изменить второй запрос:

ВЫБРАТЬ
    ИсходныеКомплектующие.Спецификация,
    ИсходныеКомплектующие.Номенклатура,
    СУММА(ЕСТЬNULL(ИсходныеКомплектующие.Количество, 0)) КАК Количество
ПОМЕСТИТЬ ВТ_ИсходКомплект
ИЗ
  Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК ИсходныеКомплектующие
        Где  ИсходныеКомплектующие.Ссылка в (Выбрать ВТ_Спецификации.Спецификация из ВТ_Спецификации как ВТ_Спецификации)

СГРУППИРОВАТЬ ПО
    ИсходныеКомплектующие.Номенклатура,
    ИсходныеКомплектующие.Спецификация
;
   Dvoe4nik
 
27 - 28.06.18 - 10:20
(26)+ хотя если тут одна спецификация тут и группировка то не нужна.. МБ там какая то другая спецификация тянется? старая например, а ты новую смотрел?
   Alex70
 
28 - 28.06.18 - 10:26
(25) Номенклатура не совпадает с той которая в спецификации, которая выводится это ПОДДОН, а в спецификации список:
Номенклатура   |Кол-во
Опора с ребром |  2
Опора с ребром |  4
Балка          |  1
Лист 200х3000  |  2
Труба металл   |  6

(26) Изменил так как ты написал, вообще ничего не выводит. (27) Спецификаций не одна, их около сотни.
   Dvoe4nik
 
29 - 28.06.18 - 10:30
(28) Документ.ЗаданиеНаПроизводство один или по всем надо смотреть ?
если 1 тогда или ссылку на него ткни или дату хотя бы..
в первом запросе..
   Dvoe4nik
 
30 - 28.06.18 - 10:32
в запросе у тя выбирается вся сотня документов и спецификаций , беспорядочно расставлены, ты выбираешь первую попавшуюся и смотришь ее состав... ограничь одним документом, в котором одна спецификация тогда и выбрать первые 1 не надо
   dezss
 
31 - 28.06.18 - 10:33
(23) не заходи в справочник...выполни первый запрос, а потом ткни в результат и смотри что в этой спецификации
   Alex70
 
32 - 28.06.18 - 11:24
(29) Документ не один, их много
(31) Сделал как ты и сказал, получается в спецификации ПОДДОН 12345 в табличной части "Исходные комплектующие" содержится номенклатура/количетсво ПОДДОН - 1 шт, и Краска УРЕАЛ - 2.3 кг.
Но мне нужно взять список номенклатур для ПОДДОН 12345 неокр.
   Alex70
 
33 - 28.06.18 - 11:26
Сейчас только до меня начинает доходить что структура: ПОДДОН -> ПОДДОН неокр. -> Список деталей для не окр.
 
 
   dezss
 
34 - 28.06.18 - 12:03
(32) я ж тебе говорил, что ты выбираешь не ту спецификацию...
переделывай первый запрос, чтобы он брал именно то, что тебе нужно
   dezss
 
35 - 28.06.18 - 12:05
(34) + или номенклатуру правильно подставляй в запрос...а то он тебе выдает именно то, что ты его и просишь


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