|   |   | 
| 
 | СКД: запрос по регистру и ВТ | ☑ | ||
|---|---|---|---|---|
| 0
    
        Вжескрыылг 21.09.17✎ 08:06 | 
        Есть запрос по продажам продукции "Номенклатура", есть ВТ "ЦеныОпераций" с полями "Номенклатура, Операция, Количество, Цена", т.е. кол-во и цена операции на единицу продукции.
 Запрос в СКД ВЫБРАТЬ Продажи.Номенклатура КАК Номенклатура, Продажи.КоличествоОборот КАК Количество, ЦеныОпераций.Операция КАК Операция, ЦеныОпераций.Цена КАК ЦенаОперации, ЦеныОпераций.Количество * Продажи.КоличествоОборот КАК КоличествоОперации, ЦеныОпераций.Цена * Продажи.КоличествоОборот КАК Выручка, ЦеныОпераций.Цена * Продажи.КоличествоОборот КАК Наценка ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК Продажи ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаЦеныОпераций КАК ЦеныОпераций ПО Продажи.Номенклатура = ЦеныОпераций.Номенклатура В консоли все киргуду, в отчете выводит не всю номенклатуру. | |||
| 1
    
        Wirtuozzz 21.09.17✎ 08:16 | 
        м.б. проблема в том, что не было продаж за этот период? 
 Что бы выводить портянку из всей номенклатуре, надо обратиться к справочнику, и к нему левым соединением соединять РН Продажи. | |||
| 2
    
        Вжескрыылг 21.09.17✎ 08:27 | 
        (1) Продажи есть, показывает отдельный отчет. Да и в консоли все есть, но не будешь же юзерам про консоль рассказывать.     | |||
| 3
    
        VladZ 21.09.17✎ 08:30 | 
        (0) "выводит не всю номенклатуру." А с чего решил, что будет "вся"? И что ты понимаешь под словом "вся"? Согласно запроса выводиться будет номенклатура, которая есть в продажа и в ЦеныОпераций (см. Внутреннее соединение).     | |||
| 4
    
        Вжескрыылг 21.09.17✎ 08:34 | 
        (3) Делал всякое соединение. Как обычно, все равно - соединяет налево. Полное соединение делается по-другому, после СОЕДИНЕНИЕ {ВЫБРАТЬ...}     | |||
| 5
    
        Вжескрыылг 21.09.17✎ 08:35 | 
        Объединить тоже делал - те же яйца..     | |||
| 6
    
        VladZ 21.09.17✎ 08:36 | 
        (4) "Как обычно, все равно - соединяет налево" - вот тут какой-то бред. Программа делает именно то, что ты ей пишешь. Сама она не может заменить "внутреннее соединение" на "левое".     | |||
| 7
    
        Rokford 21.09.17✎ 08:39 | 
        Как получается ВТ "ЦеныОпераций" ?     | |||
| 8
    
        Вжескрыылг 21.09.17✎ 08:41 | 
        (6) короче, сделал сейчас налево - то же самое. и номенклатура  именно проданная за период, сначала специально выбранная:
 ВЫБРАТЬ РАЗЛИЧНЫЕ Продажи.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК Продажи | |||
| 9
    
        Вжескрыылг 21.09.17✎ 08:45 | 
        (7) Есть у меня такой веселый регистр "ЗатратыНаНоменклатуру". Номенклатура состоит из заготовок, те состоят из еще заготовок и т.д. При выпусках продукции/заготовок состав комлектующих переписывается на выпущенную номенклатуру, и в конечном счете продукция состоит из маталла, краски, болтов и прочих гаек.
 ВЫБРАТЬ РасходыНаНоменклатуру.Номенклатура КАК Номенклатура, РасходыНаНоменклатуру.Аналитика КАК Операция, СУММА(РасходыНаНоменклатуру.СуммаОборот) КАК Сумма, СУММА(РасходыНаНоменклатуру.КоличествоОборот) КАК Количество, СУММА(РасходыНаНоменклатуру.КоличествоАналитикаОборот) КАК КоличествоОпераций ПОМЕСТИТЬ ТаблицаОперации ИЗ РегистрНакопления.РасходыНаНоменклатуру.Обороты(ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, -3), &КонецПериода, Авто, ) КАК РасходыНаНоменклатуру ГДЕ РасходыНаНоменклатуру.Аналитика ССЫЛКА Справочник.Номенклатура И РасходыНаНоменклатуру.Аналитика.ВидНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Работа), ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)) И РасходыНаНоменклатуру.Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Продажи.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК Продажи) СГРУППИРОВАТЬ ПО РасходыНаНоменклатуру.Номенклатура, РасходыНаНоменклатуру.Аналитика Аналитика - это ТМЦ, работы, статьи затрат | |||
| 10
    
        Вжескрыылг 21.09.17✎ 08:47 | 
        (7) Потом
 ВЫБРАТЬ ТаблицаОперации.Номенклатура КАК Номенклатура, ТаблицаОперации.Операция КАК Операция, СРЕДНЕЕ(ТаблицаОперации.КоличествоОпераций / ТаблицаОперации.Количество) КАК Количество, СРЕДНЕЕ(ТаблицаОперации.Сумма / ТаблицаОперации.КоличествоОпераций) КАК Цена ПОМЕСТИТЬ ТаблицаЦеныОпераций ИЗ ТаблицаОперации КАК ТаблицаОперации СГРУППИРОВАТЬ ПО ТаблицаОперации.Номенклатура, ТаблицаОперации.Операция | |||
| 11
    
        Rokford 21.09.17✎ 08:54 | 
        (9),(10)Я бы смотрел с помощью консоли компоновки какой получается результирующий запрос. Думаю СКД меняет запрос. Поэтому результаты в консоли запросов и в отчете - разные.     | |||
| 12
    
        Вжескрыылг 21.09.17✎ 08:56 | 
        (11) Я ж писал, что в консоли все есть, а в СКД даже системы выборки операций нет, выбирает от балды.     | |||
| 13
    
        Вжескрыылг 21.09.17✎ 08:58 | 
        (11) Сколько отчетов написал на СКД, простых и сложных, все равно чувствую, что знаю ее процентов на 50. Тут нужен гуру по СКД.     | |||
| 14
    
        Rokford 21.09.17✎ 08:58 | 
        Я про консоль компоновок говорю, а не про консоль запросов.     | |||
| 15
    
        Rokford 21.09.17✎ 08:59 | 
        Например на ИТС есть КонсольСистемыКомпоновкиДанных83.erf или в инструментах разработчика от TormozIT     | |||
| 16
    
        Вжескрыылг 21.09.17✎ 09:03 | 
        (15) ИТС нет, КонсольСистемыКомпоновкиДанных83 не гуглится. Кинь ссылку, а?     | |||
| 17
    
        KrasnSergey 21.09.17✎ 09:08 | 
        (16) инструменты разработчика скачай там в составе есть консоль компоновки я ей пользуюсь     | |||
| 18
    
        Rokford 21.09.17✎ 09:14 | 
        https://its.1c.ru/db/metod8dev#content:3401:hdoc:_top:консольсистемыкомпоновкиданных
 Хотя мне тоже больше из инструментов разработчика нравится (правда она на обычных формах). | |||
| 19
    
        Rokford 21.09.17✎ 09:16 | 
        (16) проверь почту     | |||
| 20
    
        Вжескрыылг 21.09.17✎ 09:23 | 
        (16), (17), (18) Скачал и так, и из письма. Работает только в толстои клиенте. блин!     | |||
| 21
    
        Вжескрыылг 21.09.17✎ 09:33 | 
        (19) Загрузил. Выполнил. Надо разбираться, что эта консоль может.     | |||
| 22
    
        Rokford 21.09.17✎ 09:48 | 
        (21) Покажи настройку отчета (выбранные поля интересуют)     | |||
| 23
    
        Вжескрыылг 21.09.17✎ 09:50 | 
        (0) что-то в соединении. как соединяется с ВТ "ЦеныОпераций", если там этих номенклатур несколько?     | |||
| 24
    
        Rokford 21.09.17✎ 09:55 | 
        Проверил. Запрос не меняется. Нужно копать в другую сторону.     | |||
| 25
    
        alxxsssar 21.09.17✎ 09:59 | 
        Так может дело и не в запросе. Смотри на вкладке настроек, может СКД на уже сформированную таблицу какие-то отборы накладывает или что-то в таком духе. Параметры запроса поковыряй.     | |||
| 26
    
        AneJIbcuH 21.09.17✎ 10:00 | 
        (0) Отборов нет?     | |||
| 27
    
        LordCMEPTb 21.09.17✎ 10:00 | 
        Т.е. если выполнить в консоли запросов оптимизированный запрос из макета компоновки (ну или из консоли отчета, который получился на какой-то из закладок) и исходный запрос с одинаковыми параметрами, то результат разный? При том, что по информации из (24) запросы одинаковые?
 Что-то не так в исходных данных... | |||
| 28
    
        Вжескрыылг 21.09.17✎ 10:38 | 
        (26) только период     | |||
| 29
    
        Вжескрыылг 21.09.17✎ 11:01 | 
        (27) Да, тексты одинаковые. Данные проверялись отчетом по продажам и отчетом "Затраты на номенклатуру", содержание промежуточных ВТ в консоли. Что-то в соединении.     | |||
| 30
    
        LordCMEPTb 21.09.17✎ 11:16 | 
        (29) Не понимаю фразу "Данные проверялись отчетом по продажам и отчетом "Затраты на номенклатуру", содержание промежуточных ВТ в консоли"
 Требуется либо поставить точку останова в модуле отчета при компоновке результата, либо взять оптимизированный запрос из консоли СКД. ОПТИМИЗИРОВАННЫЙ, а не ИСХОДНЫЙ. Выполнить в консоли запросов. Затем взять исходный текст запроса и с теми же параметрами выполнить. После этого анализировать результаты. | |||
| 31
    
        write 21.09.17✎ 12:12 | 
        (0) Перенеси ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, -3) из параметров виртуальной талицы РегистрНакопления.РасходыНаНоменклатуру.Обороты в параметры этой же виртуальной таблицы только на вкладке "КОМПОНОВКА ДАННЫХ"     | |||
| 32
    
        h-sp 21.09.17✎ 12:33 | 
        (29) да, вот эту хрень ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, -3)  туда не пиши. Она всё равно на нее наплюет. И вставит свою дату.     | |||
| 33
    
        Вжескрыылг 21.09.17✎ 13:05 | 
        (31), (32). Действительно, вместо ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, -3) вставляет что-то.     | |||
| 34
    
        Вжескрыылг 21.09.17✎ 14:29 | 
        (31) Спец! Взлетело!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |