|   |   | 
| 
 | Помогите найти ошибку в запросе | ☑ | ||
|---|---|---|---|---|
| 0
    
        Eeelena 24.08.18✎ 09:41 | 
        Здравствуйте. 
 Есть следующий запрос, который должен выбрать Склад, который соответствует Основному средству из Документа Поступления Товаров и Услуг ВЫБРАТЬ ПЕРВЫЕ 1 СкладыХраненияОстатковГСМвОССрезПоследних.ОсновноеСредство, СкладыХраненияОстатковГСМвОССрезПоследних.Склад ПОМЕСТИТЬ Склады ИЗ РегистрСведений.СкладыХраненияОстатковГСМвОС.СрезПоследних(&КонецПериода, ) КАК СкладыХраненияОстатковГСМвОССрезПоследних СГРУППИРОВАТЬ ПО СкладыХраненияОстатковГСМвОССрезПоследних.ОсновноеСредство, СкладыХраненияОстатковГСМвОССрезПоследних.Склад, СкладыХраненияОстатковГСМвОССрезПоследних.Период УПОРЯДОЧИТЬ ПО СкладыХраненияОстатковГСМвОССрезПоследних.Период УБЫВ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПартииТоваровНаСкладахОбороты.Склад, ПартииТоваровНаСкладахОбороты.СтоимостьРасход, ПартииТоваровНаСкладахОбороты.Склад КАК Склад2, ПартииТоваровНаСкладахОбороты.Регистратор, Склады.ОсновноеСредство, Склады.Склад КАК Склад1 ИЗ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПартииТоваровНаСкладахОбороты ПОЛНОЕ СОЕДИНЕНИЕ Склады КАК Склады ПО ПартииТоваровНаСкладахОбороты.Склад.Ссылка = Склады.Склад.Ссылка ГДЕ ПартииТоваровНаСкладахОбороты.Регистратор = &Регистратор Проблема в том, что если использовать ВЫБРАТЬ первые он не выводит Склад из Регистра СкладыХраненияОстатковГСМвОССрезПоследних. Использую Выбрать первые так как могут быть несколько складов для одного ОС, если выбрать первые не использовать, то склад из регистра выводится, но как я уже говорила, выводится несколько складов. Помогите разобраться почему так, почему не выводится склад из Регистра сведений. Использую выбрать первые Выборка получилась: Склад - Склад Трактор 111 СтоимостьРасход -100 Регистратор - Требование накладная Основное средство- Пусто Склад-Пусто Не использую выбрать первые Выборка получилась: Строка1 Склад - Склад Трактор 111 СтоимостьРасход -100 Регистратор - Требование накладная Основное средство- Трактор 111 Склад-Склад Трактор 111 Строка 2 Строка1 Склад - Склад Трактор 111 СтоимостьРасход -100 Регистратор - Требование накладная Основное средство- Трактор 111 Склад-Склад2 Трактор 111 | |||
| 1
    
        Beduin 24.08.18✎ 09:45 | 
        А в регистресведений есть записи для основного средства без склада?     | |||
| 2
    
        Eeelena 24.08.18✎ 09:50 | 
        (1) нет, там две записи, в одной склад Склад Трактор 111, в другой Склад2 Трактор 111, с одним и тем же ОС     | |||
| 3
    
        Tonik992 24.08.18✎ 09:53 | 
        "то склад из регистра выводится, но как я уже говорила, выводится несколько складов."
 это все потому, что у вас группировка по периоду еще устанавливается в первом пакете запроса. | |||
| 4
    
        Лефмихалыч 24.08.18✎ 09:56 | 
        какие еще измерения есть в регистре сведений?     | |||
| 5
    
        Лефмихалыч 24.08.18✎ 09:56 | 
        (3) нет, не по этому     | |||
| 6
    
        Eeelena 24.08.18✎ 09:58 | 
        (3) группировку вообще убрала , не помогло     | |||
| 7
    
        Eeelena 24.08.18✎ 09:58 | 
        (4) Измерение -Основное средство
 Ресурс-Склад | |||
| 8
    
        VS-1976 24.08.18✎ 09:59 | 
        (7) А зачем ты используешь ПОЛНОЕ СОЕДИНЕНИЕ?     | |||
| 9
    
        Beduin 24.08.18✎ 10:10 | 
        (2) А у тебя в регистраторе какой склад?     | |||
| 10
    
        catena 24.08.18✎ 10:28 | 
        Выбрать первые 1 вернет одну запись, вы о чем? Он и берет ровно одну пару ос-склад, все остальные ос идут лесом.
 Если для одного ОС есть несколько складов, какой из них должен быть использован? Любой? Старший? И почему соединение только по складу? И зачем ссылку уточнять еще раз ссылкой? Имею в виду эту строчку: ПО ПартииТоваровНаСкладахОбороты.Склад.Ссылка = Склады.Склад.Ссылка | |||
| 11
    
        dmt 24.08.18✎ 10:54 | 
        (0)
 ВЫБРАТЬ СкладыХраненияОстатковГСМвОССрезПоследних.ОсновноеСредство, Максимум(СкладыХраненияОстатковГСМвОССрезПоследних.Склад) КАК Склад ПОМЕСТИТЬ Склады ИЗ РегистрСведений.СкладыХраненияОстатковГСМвОС.СрезПоследних(&КонецПериода, ) КАК СкладыХраненияОстатковГСМвОССрезПоследних СГРУППИРОВАТЬ ПО СкладыХраненияОстатковГСМвОССрезПоследних.ОсновноеСредство, СкладыХраненияОстатковГСМвОССрезПоследних.Период | |||
| 12
    
        Tonik992 24.08.18✎ 10:57 | 
        (11) какое результат возвращает агрегатная функция МАКСИМУМ() для ссылочных значений?     | |||
| 13
    
        Mankubus 24.08.18✎ 11:08 | 
        (12) ссылку возвращает     | |||
| 14
    
        Eeelena 24.08.18✎ 11:12 | 
        (9) склад один и тот же ОС разные, прошу прощения пе6репутала     | |||
| 15
    
        dmt 24.08.18✎ 11:12 | 
        что-то (2) и (4) не согласуются     | |||
| 16
    
        Eeelena 24.08.18✎ 11:13 | 
        (10) там есть с одним и тем же периодом и выводится несколько записей
 потому что только по складу их можно соединить ссылка.ссылка это уже от безысходности) | |||
| 17
    
        Eeelena 24.08.18✎ 11:14 | 
        (15) (15) что именно не согласуется     | |||
| 18
    
        Мимохожий Однако 24.08.18✎ 11:19 | 
        (16) Тогда сделай еще пару ссылка.ссылка. Авось полегчает.))
 .. Покажи кусок регистра сведений, где есть склад с отбором по твоему ОС | |||
| 19
    
        dmt 24.08.18✎ 11:20 | 
        (17) Если ОС - измерение, как "могут быть несколько складов для одного ОС"? Или это не единственное измерение?     | |||
| 20
    
        Eeelena 24.08.18✎ 11:27 | 
        (19) единственное     | |||
| 21
    
        catena 24.08.18✎ 11:28 | 
        (16)Если в один период у одного ОС два склада, какой нужно использовать?     | |||
| 22
    
        Tonik992 24.08.18✎ 11:32 | 
        (13) в том-то и делает, но какую именно ссылку он вернет?     | |||
| 23
    
        Tonik992 24.08.18✎ 11:35 | 
        (13) вот у вас сто элементов справочника "Склад".
 Вы применяете в запросе функцию МАКСИМУМ(Склады.Ссылка). Какую конкретно ссылку даст? | |||
| 24
    
        Eeelena 24.08.18✎ 11:37 | 
        (21) любой из них, но один     | |||
| 25
    
        catena 24.08.18✎ 11:37 | 
        (22)Максимальную по идентификатору. Т.е., для учета фактически случайную.     | |||
| 26
    
        catena 24.08.18✎ 11:37 | 
        (24)Если любой, то и группируйте вон, хоть по максимум склады     | |||
| 27
    
        catena 24.08.18✎ 11:38 | 
        ВЫБРАТЬ ПЕРВЫЕ 1
 СкладыХраненияОстатковГСМвОССрезПоследних.ОсновноеСредство, Максимум(СкладыХраненияОстатковГСМвОССрезПоследних.Склад) ПОМЕСТИТЬ Склады ИЗ РегистрСведений.СкладыХраненияОстатковГСМвОС.СрезПоследних(&КонецПериода, ) КАК СкладыХраненияОстатковГСМвОССрезПоследних СГРУППИРОВАТЬ ПО СкладыХраненияОстатковГСМвОССрезПоследних.ОсновноеСредство | |||
| 28
    
        dmt 24.08.18✎ 11:43 | 
        (27) Регистр оказывается с измерением ОС и ресурсом Склад, но при этом в СрезеПоследних "могут быть несколько складов для одного ОС"
 С нетерпением ждем ответа на (18) | |||
| 29
    
        Eeelena 24.08.18✎ 11:45 | 
        (27) проблема в том, что в таком случае он не выводит вообще склад из Регистра     | |||
| 30
    
        Eeelena 24.08.18✎ 11:45 | 
        и я не пойму почему     | |||
| 31
    
        Eeelena 24.08.18✎ 11:46 | 
        (18)Склад один и тот же, разные ОС     | |||
| 32
    
        catena 24.08.18✎ 11:46 | 
        (29)Значит нет у вас совпадений "случайного" склада и склада из регистра ПартииТоваровНаСкладах     | |||
| 33
    
        catena 24.08.18✎ 11:47 | 
        (31)А в (0) написано, что складов несколько у одного ОС. Определитесь.     | |||
| 34
    
        Eeelena 24.08.18✎ 11:49 | 
        (33) я после этого написала, что ошиблась (32) есть совпадения, я же написала , что когда не использую выбрать первые, то выводится две записи и в них заполнен склад из регистра, а когда делаю выбрать первые выводится одна запись со складом только из Партий     | |||
| 35
    
        catena 24.08.18✎ 11:56 | 
        (34)А я сказала, что не надо использовать ПЕРВЫЕ, надо группировать.     | |||
| 36
    
        catena 24.08.18✎ 11:57 | 
        (34)Вы свой запрос выбрать первые 1 запустите отдельно в консоли и посмотрите, что там совсем не то, что вы ожидаете.     | |||
| 37
    
        dmt 24.08.18✎ 12:11 | 
        (34) постараюсь своими словами описать, вы поправьте если что.
 1. У вас есть документы ПТУ, в них есть склад в шапке и в табличной части ОС. 2. Есть рег.сведений с измерением ОС, ресурсом Склад. Наверное, в него делают движения документы ПТУ. 3. Разные ОС могут находиться на одном и том же складе, что логично. Вопрос: вы хотите, зная только склад, однозначно получить ОС? Или кроме склада еще что-то известно? | |||
| 38
    
        Eeelena 24.08.18✎ 12:50 | 
        (37) У меня есть документ требование накладная я беру оттуда Склад из Регистра накопления и есть регистр сведений 
 в котором хранится соответствие ОС-Склад, проблема в том, что почему то по тем складам у которых несколько записей, то есть несколько складов, я не могу получить последнее при связи с регистром накопления Партии, у меня получается две записи в выборке, поэтому я решила использовать первые чтобы получить одну запись, но так вообще склад из регистра сведений не попадает. | |||
| 39
    
        Eeelena 24.08.18✎ 12:59 | 
        (36) да, вы правы, я почему то была уверена что у меня там записи только по нужному мне складу     | |||
| 40
    
        Eeelena 24.08.18✎ 13:30 | 
        (36) тогда не понимаю почему срез последних выдает мне две записи при разных перодах     | |||
| 41
    
        catena 24.08.18✎ 13:33 | 
        (40)Срез последних работает в разрезе всех измерений. Если склад не единственное измерение, значит эти две записи различаются значениями других измерений.     | |||
| 42
    
        _stay true_ 24.08.18✎ 13:35 | 
        (40) потому что фотокарточки нет     | |||
| 43
    
        Eeelena 24.08.18✎ 13:38 | 
        (41) склад ресурс, измерение ОС     | |||
| 44
    
        Eeelena 24.08.18✎ 13:39 | 
        (41) как тогда быть в таком случае как получить одну запись?     | |||
| 45
    
        catena 24.08.18✎ 13:40 | 
        (44)Еще раз: если все равно, какую пару хочешь получить, группируй по тому полю, которое задваивается с любой агрегатной функцией по второму.     | |||
| 46
    
        dmt 24.08.18✎ 13:41 |  | |||
| 47
    
        Eeelena 24.08.18✎ 13:48 | 
        (45) огромное вам спасибо!!!!!!!!!!     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |