|
Запрос ТЧ "Товары" по любому типу документа | ☑ | ||
---|---|---|---|---|
0
spiller26
04.02.13
✎
16:01
|
Суть такова хочу сделать универсальную функцию для проверки Номенклатуры в ТЧ "Товары", для любого типа документа (в котором есть ТЧ "Товары" естественно проверка мне не нужна, т.к. она будет вписываться мною), но с запросом всё никак.
Функция ЭтоПродукцияКомпании(пДокументСсылка, пГруппаНоменклатурыСсылка) Экспорт ЭтоПродукция = Истина; // Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Док.Товары.Номенклатура.Ссылка, | Док.Товары.Ссылка, | ВЫБОР | КОГДА Док.Товары.Номенклатура.Ссылка В ИЕРАРХИИ (&Группа) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВГруппе |ИЗ | Док КАК Док |ГДЕ | Док.Ссылка = &пДокумент"; Запрос.УстановитьПараметр("Группа", пГруппаНоменклатурыСсылка); //Группа Номенклатура Запрос.УстановитьПараметр("пДокумент", пДокументСсылка); //Заказ покупателя Результат = Запрос.Выполнить().Выбрать(); // Пока Результат.Следующий() Цикл Если Не Результат.ВГруппе Тогда ГруппаДа = Ложь; КонецЕсли; КонецЦикла; Возврат ГруппаДа; КонецФункции хелп ми! |
|||
1
GLazNik
04.02.13
✎
16:04
|
меняй текст запроса в зависимости от вида документа
|
|||
2
spiller26
04.02.13
✎
16:18
|
(1) Всё реализовал свой злосный план
Функция ЭтоПродукцияКомпании(пДокументСсылка, пГруппаНоменклатурыСсылка) Экспорт ЭтоПродукция = Истина; // ТипДока = пДокументСсылка.Метаданные().Имя; // Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДокТовары.Номенклатура, | ВЫБОР | КОГДА ДокТовары.Номенклатура В ИЕРАРХИИ (&Группа) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВГруппе |ИЗ | Документ." + ТипДока +".Товары КАК ДокТовары |ГДЕ | ДокТовары.Ссылка = &ДокСсылка"; Запрос.УстановитьПараметр("Группа", пГруппаНоменклатурыСсылка); //Группа Номенклатура Запрос.УстановитьПараметр("ДокСсылка", пДокументСсылка); //Заказ покупателя Результат = Запрос.Выполнить().Выбрать(); // Пока Результат.Следующий() Цикл Если Не Результат.ВГруппе Тогда ГруппаДа = Ложь; КонецЕсли; КонецЦикла; Возврат ГруппаДа; КонецФункции |
|||
3
Serg_1960
04.02.13
✎
16:20
|
(0) А если ТЧ документа будет называться не "Товары", а допустим - "Материалы"? :)
|
|||
4
spiller26
04.02.13
✎
16:23
|
(3) Я ж писал, что это мне и не нужно. Я проверку вставлять буду только в документы с ТЧ "Товары", на крайняк можно добавить в параметр "пТипТЧ" (строка) и передавать туда "Товары" или "Материалы", запихнуть также в запрос:
Функция ЭтоПродукцияКомпании(пДокументСсылка, пГруппаНоменклатурыСсылка, пТипТЧ) Экспорт |
|||
5
Serg_1960
04.02.13
✎
16:35
|
Жуть. В начале функции "ЭтоПродукция = Истина;" - без продолжения, а в окончание функции - неожиданное "Возврат ГруппаДа;"
|
|||
6
Fragster
гуру
04.02.13
✎
16:37
|
Из
&_Товары КАК ДокТовары Запрос.Текст = СтрЗаменить(ТекстЗапроса, "&_Товары", Метаданные.ПолноеИмя()); |
|||
7
Fragster
гуру
04.02.13
✎
16:38
|
вообще жесткий велосипед где-то вокруг этого кода...
|
|||
8
spiller26
04.02.13
✎
16:47
|
(5) ну забыл там по идее "ГруппаДа"
|
|||
9
Fragster
гуру
04.02.13
✎
17:27
|
Выбрать Первые 1 Из ... где ДокТовары.Номенклатура Не В ИЕРАРХИИ (&Группа)
Возврат Не Результат.Пустой() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |