|   |   | 
| 
 | Где запрос хранится в СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        sidalexsandr 29.06.18✎ 11:09 | 
        Где хранится текст запроса отчета написанного на СКД?     | |||
| 1
    
        PiotrLoginov 29.06.18✎ 11:17 | 
        по умолчанию - в "основной" схеме отчета (в макете соответствующего типа). Можно открыть макет и посмотреть запрос на вкладке "Наборы данных"     | |||
| 2
    
        NuclearWinter 29.06.18✎ 11:19 | 
        А где вы его ищите? Странный вопрос. 
 Итоговый текст запроса может отличаться от указанного в схеме СКД | |||
| 3
    
        sidalexsandr 29.06.18✎ 11:22 | 
        (2) Нашел в модуле отчета     | |||
| 4
    
        sidalexsandr 29.06.18✎ 11:23 | 
        Ошибка в запросе. Вот запрос:
 ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры, | ТоварыНаСкладахОстатки.Качество КАК Качество, | ТоварыНаСкладахОстатки.Склад КАК Склад, | ТоварыНаСкладахОстатки.КоличествоОстаток | МестаХраненияНоменклатуры.МестоХранения |ПОМЕСТИТЬ Остатки |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(#УсловиеДата, ) КАК ТоварыНаСкладахОстатки |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры | ПО ТоварыНаСкладахОстатки.Номенклатура = МестаХраненияНоменклатуры.Номенклатура | |ИНДЕКСИРОВАТЬ ПО | Склад, | СерияНоменклатуры, | Номенклатура, | ХарактеристикаНоменклатуры, | Качество Выдает ошибку {ВнешнийОтчет.ОтчетСебестоимостьПартийНаСкладах.МодульОбъекта(159)}: Ошибка при вызове метода контекста (Выполнить) РезультатЗапроса = Запрос.Выполнить(); по причине: {(8, 4)}: Неправильный псевдоним "МестаХраненияНоменклатуры.МестоХранения" <<?>>МестаХраненияНоменклатуры.МестоХранения | |||
| 5
    
        AllJoke 29.06.18✎ 11:24 | 
        Запятая:
 ТоварыНаСкладахОстатки.КоличествоОстаток, | МестаХраненияНоменклатуры.МестоХранения | |||
| 6
    
        sidalexsandr 29.06.18✎ 13:05 | 
        (5) Спасибо     | |||
| 7
    
        sidalexsandr 29.06.18✎ 13:07 | 
        Теперь в отчете если щелкаю МестоХранения то появляется значение не определено.
 Вот текст программы по заполнению ТЗ: РезультатЗапроса = Запрос.Выполнить(); ВыборкаСклад = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаСклад.Следующий() Цикл ВыборкаНоменклатура = ВыборкаСклад.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНоменклатура.Следующий() Цикл ВыборкаХарактеристикаНоменклатуры = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаХарактеристикаНоменклатуры.Следующий() Цикл ВыборкаСерияНоменклатуры = ВыборкаХарактеристикаНоменклатуры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаСерияНоменклатуры.Следующий() Цикл ВыборкаКачество = ВыборкаСерияНоменклатуры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКачество.Следующий() Цикл ВыборкаДетальныеЗаписи = ВыборкаКачество.Выбрать(); КоличествоОстаток = ВыборкаКачество.КоличествоОстаток; НетПартии = Истина; Пока ВыборкаДетальныеЗаписи.Следующий() И КоличествоОстаток > 0 Цикл НоваяСтрока = ТЗ.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи); КоличествоВПартии = Мин(КоличествоОстаток, ВыборкаДетальныеЗаписи.КоличествоПриход); Если КоличествоВПартии <> 0 Тогда Если КоличествоВПартии = ВыборкаДетальныеЗаписи.КоличествоПриход Тогда СтоимостьВПартии = ВыборкаДетальныеЗаписи.СтоимостьПриход; Иначе СтоимостьВПартии = КоличествоВПартии * ВыборкаДетальныеЗаписи.СтоимостьПриход / ВыборкаДетальныеЗаписи.КоличествоПриход; КонецЕсли; Иначе СтоимостьВПартии = 0; КонецЕсли; НоваяСтрока.КоличествоВПартии = КоличествоВПартии; НоваяСтрока.СтоимостьВПартии = СтоимостьВПартии; НоваяСтрока.ЦенаВПартии = ?(КоличествоВПартии = 0, 0, СтоимостьВПартии / КоличествоВПартии); НоваяСтрока.СуммаПоПрайсу = КоличествоВПартии * ВыборкаДетальныеЗаписи.ЦенаПоПрайсу; КоличествоОстаток = КоличествоОстаток - КоличествоВПартии; КонецЦикла; Если КоличествоОстаток > 0 Тогда ЦенаСредняяСебестоимость = ПолучитьЦенуСредняяСебестоимость(ВыборкаКачество); НоваяСтрока = ТЗ.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаКачество); НоваяСтрока.Партия = "Стоимость по документу установки цен"; НоваяСтрока.КоличествоВПартии = КоличествоОстаток; НоваяСтрока.ЦенаВПартии = ЦенаСредняяСебестоимость; НоваяСтрока.СтоимостьВПартии = ЦенаСредняяСебестоимость * КоличествоОстаток; НоваяСтрока.СуммаПоПрайсу = КоличествоОстаток * ВыборкаКачество.ЦенаПоПрайсу; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; НаборДанных = Новый Структура("ТЗ", ТЗ); КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет, НаборДанных, ДанныеРасшифровки); ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); | |||
| 8
    
        sidalexsandr 29.06.18✎ 14:36 | 
        Дописал // Заполнить МестоХранения
 НоваяСтрока.МестоХранения = ВыборкаНоменклатура.МестоХранения; НоваяСтрока.КоличествоВПартии = КоличествоВПартии; НоваяСтрока.СтоимостьВПартии = СтоимостьВПартии; НоваяСтрока.ЦенаВПартии = ?(КоличествоВПартии = 0, 0, СтоимостьВПартии / КоличествоВПартии); НоваяСтрока.СуммаПоПрайсу = КоличествоВПартии * ВыборкаДетальныеЗаписи.ЦенаПоПрайсу; КоличествоОстаток = КоличествоОстаток - КоличествоВПартии; КонецЦикла; | |||
| 9
    
        sidalexsandr 29.06.18✎ 14:37 | 
        Дописано НоваяСтрока.МестоХранения = ВыборкаНоменклатура.МестоХранения;     | |||
| 10
    
        HomoAlbus 29.06.18✎ 14:39 | 
        (7) Вот за такие простыни у нас чулане закрывают пока неотрефакторишь     | |||
| 11
    
        sidalexsandr 29.06.18✎ 14:41 | 
        (10) Согласен с тобой. Писал не я поэтому такая простынь.     | |||
| 12
    
        sidalexsandr 29.06.18✎ 14:42 | 
        (9) Выдает ошибку:
 {ВнешнийОтчет.ОтчетСебестоимостьПартийНаСкладах.МодульОбъекта(190)}: Поле объекта не обнаружено (МестоХранения) НоваяСтрока.МестоХранения = ВыборкаНоменклатура.МестоХранения; | |||
| 13
    
        HomoAlbus 29.06.18✎ 14:48 | 
        (12) В твоей таблице значений ТЗ нет такой колонки либо в выборке ее нет     | |||
| 14
    
        sidalexsandr 29.06.18✎ 15:12 | 
        (13) Исправил, написал в запросе |   Остатки.МестоХранения,     | |||
| 15
    
        sidalexsandr 29.06.18✎ 15:12 | 
        Отчет стал работать, но МестоХранения пустое     | |||
| 16
    
        sidalexsandr 29.06.18✎ 15:46 | 
        Подниму     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |