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

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

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

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

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

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

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

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

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

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

и увидишь...."
__________________________________
То в отчете выводит:
Спецификация|Номенклатура|Количество
Поддон      | Поддон     |

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

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

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

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

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

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