|
УТ 11 Запрос из отчета прайс лист | ☑ | ||
---|---|---|---|---|
0
falselight
17.11.16
✎
17:30
|
Вытащил запрос из отчета прайс лист.
Какого типа параметр &ПодстановкаТоварногоОграничения? Можно ли посмотреть выполнение запроса по коду? В модуле отчета где не ставил точки останова, ничего не срабатывает ( || ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ Сегменты.Номенклатура КАК Номенклатура, Сегменты.Характеристика КАК Характеристика, ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты {ГДЕ Сегменты.Сегмент.* КАК СегментНоменклатуры, Сегменты.Номенклатура.* КАК Номенклатура, Сегменты.Характеристика.* КАК Характеристика} ИНДЕКСИРОВАТЬ ПО Номенклатура, Характеристика, ИспользуетсяОтборПоСегментуНоменклатуры ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Ассортимент.Номенклатура КАК Номенклатура, Ассортимент.ОбъектПланирования КАК ОбъектПланирования, ИСТИНА КАК ИспользуетсяОтборПоАссортименту ПОМЕСТИТЬ ОтборПоАссортименту ИЗ РегистрСведений.Ассортимент.СрезПоследних(&Период, ) КАК Ассортимент {ГДЕ Ассортимент.Номенклатура.* КАК Номенклатура, Ассортимент.ОбъектПланирования.* КАК ОбъектПланирования, Ассортимент.КоллекцияНоменклатуры.* КАК КоллекцияНоменклатуры, Ассортимент.РазрешеныПродажи КАК РазрешеныПродажи} ИНДЕКСИРОВАТЬ ПО Номенклатура, ОбъектПланирования, ИспользуетсяОтборПоАссортименту ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ СвободныеОстаткиОстатки.Номенклатура, СвободныеОстаткиОстатки.Характеристика, СвободныеОстаткиОстатки.Склад, СвободныеОстаткиОстатки.ВНаличииОстаток КАК ВНаличииОстаток, СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток КАК ВРезервеОстаток, ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток, 0) КАК Остаток, ТоварныеОграничения.СтраховоеКоличествоЗапаса КАК СтраховоеКоличествоЗапаса, ТоварныеОграничения.МинимальноеКоличествоЗапаса КАК МинимальноеКоличествоЗапаса, ТоварныеОграничения.МаксимальноеКоличествоЗапаса КАК МаксимальноеКоличествоЗапаса, ТоварныеОграничения.МетодОбеспеченияПотребностей КАК МетодОбеспеченияПотребностей ПОМЕСТИТЬ СвободныеОстатки ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТоварныеОграничения КАК ТоварныеОграничения ПО (&ПодстановкаТоварногоОграничения) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика, ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены, ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Упаковка КОНЕЦ КАК Упаковка, ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта, ЦеныНоменклатурыСрезПоследних.Номенклатура.ЦеноваяГруппа КАК ЦеноваяГруппа, ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) ТОГДА СвободныеОстатки.Остаток ИНАЧЕ СвободныеОстатки.Остаток / &ТекстЗапросаКоэффициентУпаковки КОНЕЦ КАК Остаток, ВЫБОР КОГДА СвободныеОстатки.Остаток <= 0 ТОГДА ЗНАЧЕНИЕ(Перечисление.ДоступностьТовараДляКлиента.НетВНаличии) ИНАЧЕ ВЫБОР КОГДА СвободныеОстатки.Остаток <= СвободныеОстатки.МинимальноеКоличествоЗапаса ТОГДА ЗНАЧЕНИЕ(Перечисление.ДоступностьТовараДляКлиента.УточняйтеНаличие) ИНАЧЕ ВЫБОР КОГДА СвободныеОстатки.Остаток < СвободныеОстатки.СтраховоеКоличествоЗапаса + СвободныеОстатки.МинимальноеКоличествоЗапаса ТОГДА ЗНАЧЕНИЕ(Перечисление.ДоступностьТовараДляКлиента.Мало) ИНАЧЕ ВЫБОР КОГДА СвободныеОстатки.Остаток < СвободныеОстатки.МаксимальноеКоличествоЗапаса ТОГДА ЗНАЧЕНИЕ(Перечисление.ДоступностьТовараДляКлиента.Достаточно) ИНАЧЕ ВЫБОР КОГДА СвободныеОстатки.Остаток >= СвободныеОстатки.МаксимальноеКоличествоЗапаса ТОГДА ЗНАЧЕНИЕ(Перечисление.ДоступностьТовараДляКлиента.Много) ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ДоступностьТовараДляКлиента.Неизвестно) КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КАК ОстатокТекстом, СвободныеОстатки.Склад КАК Склад, СвободныеОстатки.МетодОбеспеченияПотребностей КАК МетодОбеспеченияПотребностей ПОМЕСТИТЬ Цены ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены В (&ВидыЦен) {((Номенклатура, Характеристика) В (ВЫБРАТЬ ОтборПоСегментуНоменклатуры.Номенклатура, ОтборПоСегментуНоменклатуры.Характеристика ИЗ ОтборПоСегментуНоменклатуры ГДЕ ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)) КАК Поле2, (Номенклатура В (ВЫБРАТЬ ОтборПоАссортименту.Номенклатура ИЗ ОтборПоАссортименту ГДЕ ОтборПоАссортименту.ИспользуетсяОтборПоАссортименту = &ИспользуетсяОтборПоАссортименту)) КАК Поле4}) КАК ЦеныНоменклатурыСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ СвободныеОстатки КАК СвободныеОстатки ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура И ЦеныНоменклатурыСрезПоследних.Характеристика = СвободныеОстатки.Характеристика {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, {(ВидЦены) КАК ВидЦеныДиапазон}) КАК ЦеныНоменклатурыОтбор ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыОтбор.Номенклатура И ЦеныНоменклатурыСрезПоследних.Характеристика = ЦеныНоменклатурыОтбор.Характеристика} ГДЕ ЦеныНоменклатурыСрезПоследних.Цена > 0 {ГДЕ ЦеныНоменклатурыОтбор.Цена КАК ЦенаОт, ЦеныНоменклатурыОтбор.Цена КАК ЦенаДо} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Цены.Номенклатура, Цены.Характеристика, Цены.ВидЦены, Цены.Цена, Цены.Упаковка, Цены.Валюта, Цены.ЦеноваяГруппа, Цены.Склад, ВЫБОР КОГДА Цены.Остаток < 0 ТОГДА 0 ИНАЧЕ Цены.Остаток КОНЕЦ КАК Остаток, ВЫБОР КОГДА Цены.МетодОбеспеченияПотребностей = ЗНАЧЕНИЕ(Перечисление.МетодыОбеспеченияПотребностей.ЗаказПодЗаказ) ИЛИ Цены.МетодОбеспеченияПотребностей ЕСТЬ NULL И Цены.Остаток > 0 ТОГДА "под заказ" ИНАЧЕ Цены.ОстатокТекстом КОНЕЦ КАК ОстатокТекстом {ВЫБРАТЬ Номенклатура.*, Характеристика.*, ВидЦены.*, Цена, Упаковка.*, Валюта.*, ЦеноваяГруппа.*, Склад.*} ИЗ Цены КАК Цены {ГДЕ Цены.Номенклатура.*, Цены.Характеристика.*, Цены.ВидЦены.*, Цены.Цена, Цены.Упаковка.*, Цены.Валюта.*, Цены.Склад.*} |
|||
1
falselight
17.11.16
✎
17:41
|
какого типа параметр может быть?
ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТоварныеОграничения КАК ТоварныеОграничения ПО (&ПодстановкаТоварногоОграничения) |
|||
2
falselight
17.11.16
✎
17:45
|
никто не подскажет?
|
|||
3
HardBall
17.11.16
✎
18:41
|
(2) выражение типа "СвободныеОстаткиОстатки.Товар = ТоварныеОграничения.Товар"
|
|||
4
falselight
17.11.16
✎
18:53
|
(3) Тип параметра &ПодстановкаТоварногоОграничения номенклатура?
|
|||
5
falselight
17.11.16
✎
18:57
|
(3) вытащив запрос нужно задать там этот параметр, что в нем будет то ?
|
|||
6
falselight
17.11.16
✎
19:02
|
в консоли запрос не формируется без этого параметра, выходит ошибка, не пойму что туда можно задать (
|
|||
7
HardBall
17.11.16
✎
19:15
|
Замени на
СвободныеОстаткиОстатки.Номенклатура =ТоварныеОграничения.Номенклатура |
|||
8
Lexey_
17.11.16
✎
21:27
|
(6) так бывает, когда ты Ливингстар
|
|||
9
falselight
18.11.16
✎
07:10
|
(7)
РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТоварныеОграничения КАК ТоварныеОграничения ПО (&ПодстановкаТоварногоОграничения) заменить на РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТоварныеОграничения КАК ТоварныеОграничения ПО СвободныеОстаткиОстатки.Номенклатура =ТоварныеОграничения.Номенклатура ??? |
|||
10
vyaz
18.11.16
✎
07:17
|
ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.ПрайсЛист.Запрос;
ТекстЗапроса = СтрЗаменить( ТекстЗапроса, "&ТекстЗапросаКоэффициентУпаковки", Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки( "ЦеныНоменклатурыСрезПоследних.Упаковка", "ЦеныНоменклатурыСрезПоследних.Номенклатура")); Поля = "СвободныеОстаткиОстатки.Номенклатура,СвободныеОстаткиОстатки.Характеристика,СвободныеОстаткиОстатки.Склад"; ТекстЗапроса = РегистрыСведений.ТоварныеОграничения.ПодставитьСоединение(ТекстЗапроса, "ПодстановкаТоварногоОграничения", Поля); СхемаКомпоновкиДанных.НаборыДанных.ПрайсЛист.Запрос = ТекстЗапроса; |
|||
11
falselight
18.11.16
✎
07:18
|
В какой общей форме УТ 11 можно посмотреть пред выполнение запроса отчета прайс лист? В самом отчете прайс лист этого не удастся как я увидел.
|
|||
12
falselight
18.11.16
✎
07:19
|
(10) ну то есть в эту переменную идет часть текста запроса?
А где вы это нашли в УТ11, в какой форме можно поставить точку останова и отследить это? |
|||
13
vyaz
18.11.16
✎
07:20
|
Модуль объекта отчета ПрайсЛист
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) |
|||
14
falselight
18.11.16
✎
07:21
|
(10) В консоле запросов, этого не сьимитировать получается?
|
|||
15
falselight
18.11.16
✎
07:21
|
(13) Странно в отчете в составе конфигурации в модуле объекта я ставил точки останова во всех процедурах, но не срабатывало ничего... Так то я так и хотел отследить эту переменную.
|
|||
16
vyaz
18.11.16
✎
07:22
|
(14) возьми итоговый текст запроса, после подстановок, и имитируй в консоли
|
|||
17
falselight
18.11.16
✎
07:23
|
(16) Вот его я и хотел вытащить!!!! Но получается что прайс лист, это тот отчет в котором не срабатывают точки останова как я понял. Бывают такие отчеты. Я думал нужно через общую форму какую это отлавливать.
|
|||
18
vyaz
18.11.16
✎
07:23
|
(17) включи отладку на сервере
|
|||
19
falselight
18.11.16
✎
07:24
|
(16) Ясно спасибо! Буду пробовать ещё.
То что не сработало, может глюк какой? Или внешним его нужно сделать. По какой ещё причине могли не сработать точки останова? |
|||
20
falselight
18.11.16
✎
07:24
|
(18) База файловая.
Ок, буду пробовать. Спасибо! |
|||
21
Romyr
18.11.16
✎
07:26
|
(0) >В модуле отчета где не ставил точки останова, ничего не срабатывает (
поставь точку останова перед "запрос.выполнить" и посмотри в свойства запроса. (19) >По какой ещё причине могли не сработать точки останова? формируется фоновым заданием, поэтому не срабатывают. Поставь автоматическое подключение к фоновым заданиям |
|||
22
Romyr
18.11.16
✎
07:27
|
(21) отладка->подключение->автоматическое подключение
|
|||
23
falselight
18.11.16
✎
07:54
|
(22) Ок! Спасибо! Пробую все выше изложенные рекомендации!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |