Вход | Регистрация


1С:Предприятие ::

Метки: 

Запрос выдает ошибку. 8.2 Самописная, управляемое приложение

Я
   DenSpb
 
09.01.13 - 16:59
Запрос выдает ошибку.
"ВЫБРАТЬ
   //|    ЕстьNULL(ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)) КАК ВалютаВзаиморасчетов, 
 
    |       ВЫБОР
    | КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.ЗаказНаряд
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
    | КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.КассовыйОрдер
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.СтрокаВыписки
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.ВозвратПоставщику
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Инвойс
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Поступление
    | ТОГДА ТаблицаТоваров.Ссылка.Валюта
    | ИНАЧЕ ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов
    | КОНЕЦ КАК ВалютаВзаиморасчетов,
    |    ТаблицаТоваров.Товар КАК ТоварнаяПозиция,
    |    ТаблицаТоваров.Товар.Представление КАК НаименованиеПозиции,
    |    ТаблицаТоваров.Товар.Артикул КАК Артикул,
    |    ТаблицаТоваров.Товар.НаименованиеБазовойЕдиницы КАК ЕдИзм,
    |    СУММА(ТаблицаТоваров.Количество - ЕстьNull(ВозвратТоваров.Количество,0)) КАК Количество,
    |    СУММА(ТаблицаТоваров.Сумма - ЕстьNull(ВозвратТоваров.Сумма,0)) КАК Сумма
    |ИЗ
    |    Документ."+ТипДокумента+"."+ТаблицаИсточник+" КАК ТаблицаТоваров
    |    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратОтПокупателя.Товары КАК ВозвратТоваров
    |        ПО ТаблицаТоваров.Товар = ВозвратТоваров.Товар И ТаблицаТоваров.Ссылка =  ВозвратТоваров.Ссылка.ДокументОснование
    |ГДЕ
    |   ТаблицаТоваров.Ссылка " + ТекстУсловия + "
    |СГРУППИРОВАТЬ ПО
   //|    ЕстьNULL(ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)),
 
    |       ВЫБОР
    | КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.ЗаказНаряд
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
    | КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.КассовыйОрдер
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.СтрокаВыписки
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.ВозвратПоставщику
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Инвойс
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Поступление
    | ТОГДА ТаблицаТоваров.Ссылка.Валюта
    | ИНАЧЕ ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов
    | КОНЕЦ,
    |   ТаблицаТоваров.Товар,
    |   ТаблицаТоваров.Товар.Представление,
    |    ТаблицаТоваров.Товар.Артикул,
    |    ТаблицаТоваров.Товар.НаименованиеБазовойЕдиницы
    |ИМЕЮЩИЕ
    |    СУММА(ТаблицаТоваров.Количество - ЕстьNull(ВозвратТоваров.Количество,0)) > 0";

Ошибка:
{Обработка.ПечатьБухгалтерскихДокументов.МодульОбъекта(116)}: Ошибка при вызове метода контекста (Выполнить)
    ТаблицаТоваров = ЗапросТовары.Выполнить().Выгрузить();
по причине:
{(5, 30)}: Несовместимые типы "ССЫЛКА"
КОГДА ТаблицаТоваров.Ссылка <<?>>ССЫЛКА Документ.КассовыйОрдер

Как исправить?
 
 
   Леха Дум
 
1 - 09.01.13 - 17:03
дак ты же задаешь в 
"Документ."+ТипДокумента+"."+ТаблицаИсточник+" КАК ТаблицаТоваров
"
зачем еще по типу ссылки фильтровать???
   ДенисЧ
 
2 - 09.01.13 - 17:03
(0) прочитать справку по запросам - не предлагать?
   DenSpb
 
3 - 09.01.13 - 17:04
(1) ТаблицаИсточник - это табличная часть "Товары"
   DenSpb
 
4 - 09.01.13 - 17:05
(2) читал, не понял:) Лучше подсказать что исправить, так будет легче разобраться:)
   zladenuw
 
5 - 09.01.13 - 17:05
у тебя Документ."+ТипДокумента+"."+ТаблицаИсточник+"

что ты еще туда передаешь. может у Документа нет такой ТЧ
   DenSpb
 
6 - 09.01.13 - 17:06
(5) есть
   pessok
 
7 - 09.01.13 - 17:07
ТаблицаТоваров.Ссылка
в таблице ДЕЙСТВИТЕЛЬНО есть колонка с названием "Ссылка"?
   Леха Дум
 
8 - 09.01.13 - 17:08
тебе вместо условия в запросе

ВЫБОР
    | КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.ЗаказНаряд
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
    | КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.КассовыйОрдер
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.СтрокаВыписки
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.ВозвратПоставщику
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Инвойс
    | ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Поступление

 

придется писать нечто подобное:

ТекстПолученияВалюты + " КАК ВалютаВзаиморасчетов
   DenSpb
 
9 - 09.01.13 - 17:08
(7) это ТаблицаТоваров - это табличная часть, а ТаблицаТоваров.Ссылка - это ссылка на сам документ
   DenSpb
 
10 - 09.01.13 - 17:09
(8) а ТекстПолученияВалюты - чему равен?
 
 Рекламное место пустует
   DenSpb
 
11 - 09.01.13 - 17:10
(8) ну или по какому принципу его строить?
   Леха Дум
 
12 - 09.01.13 - 17:12
(11) так же как и 
Документ."+ТипДокумента+"."+ТаблицаИсточник+" КАК ТаблицаТоваров
   pessok
 
13 - 09.01.13 - 17:16
(9) а так не взлетит вроде
   DenSpb
 
14 - 09.01.13 - 17:18
(13) а как взлетит?
   pessok
 
15 - 09.01.13 - 17:21
попробуй ТаблицаТоваров.Ссылка получить во временной таблице, потом передай в основной запрос это поле и уже его проверяй на тип
   DenSpb
 
16 - 09.01.13 - 17:23
Сделал     ЗапросТовары.Текст =
    "ВЫБРАТЬ
   //|    ЕстьNULL(ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)) КАК ВалютаВзаиморасчетов, 
 
    |       ВЫБОР
    | КОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.ЗаказНаряд
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
    | КОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.КассовыйОрдер
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.СтрокаВыписки
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.ВозвратПоставщику
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.Инвойс
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.Поступление
    | ТОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка.Валюта
    | ИНАЧЕ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка.Контрагент.ВалютаВзаиморасчетов
    | КОНЕЦ КАК ВалютаВзаиморасчетов,
    |    ТаблицаТоваров.Товар КАК ТоварнаяПозиция,
    |    ТаблицаТоваров.Товар.Представление КАК НаименованиеПозиции,
    |    ТаблицаТоваров.Товар.Артикул КАК Артикул,
    |    ТаблицаТоваров.Товар.НаименованиеБазовойЕдиницы КАК ЕдИзм,
    |    СУММА(ТаблицаТоваров.Количество - ЕстьNull(ВозвратТоваров.Количество,0)) КАК Количество,
    |    СУММА(ТаблицаТоваров.Сумма - ЕстьNull(ВозвратТоваров.Сумма,0)) КАК Сумма
    |ИЗ
    |    Документ."+ТипДокумента+"."+ТаблицаИсточник+" КАК ТаблицаТоваров
    |    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратОтПокупателя.Товары КАК ВозвратТоваров
    |        ПО ТаблицаТоваров.Товар = ВозвратТоваров.Товар И ТаблицаТоваров.Ссылка =  ВозвратТоваров.Ссылка.ДокументОснование
    |ГДЕ
    |   ТаблицаТоваров.Ссылка " + ТекстУсловия + "
    |СГРУППИРОВАТЬ ПО
   //|    ЕстьNULL(ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)),
 
    | КОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.ЗаказНаряд
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
    | КОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.КассовыйОрдер
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.СтрокаВыписки
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.ВозвратПоставщику
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.Инвойс
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.Поступление
    | ТОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка.Валюта
    | ИНАЧЕ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка.Контрагент.ВалютаВзаиморасчетов
    | КОНЕЦ,
    |   ТаблицаТоваров.Товар,
    |   ТаблицаТоваров.Товар.Представление,
    |    ТаблицаТоваров.Товар.Артикул,
    |    ТаблицаТоваров.Товар.НаименованиеБазовойЕдиницы
    |ИМЕЮЩИЕ
    |    СУММА(ТаблицаТоваров.Количество - ЕстьNull(ВозвратТоваров.Количество,0)) > 0";

Получил ошибку: 
{Обработка.ПечатьБухгалтерскихДокументов.МодульОбъекта(115)}: Ошибка при вызове метода контекста (Выполнить)
    ТаблицаТоваров = ЗапросТовары.Выполнить().Выгрузить();
по причине:
{(26, 2)}: Синтаксическая ошибка "КОГДА"
<<?>>КОГДА Документ.ЗаказНаряд.Товары.Ссылка ССЫЛКА Документ.ЗаказНаряд
   Леха Дум
 
17 - 09.01.13 - 17:27
ппц...

вместо

"ВЫБРАТЬ
   //|    ЕстьNULL(ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)) КАК ВалютаВзаиморасчетов, 
 
 
    |       ВЫБОР
    | КОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.ЗаказНаряд
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
 
    | КОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.КассовыйОрдер 
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.СтрокаВыписки 
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.ВозвратПоставщику 
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.Инвойс 
    | ИЛИ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка ССЫЛКА Документ.Поступление 
    | ТОГДА Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка.Валюта
    | ИНАЧЕ Документ."+ТипДокумента+"."+ТаблицаИсточник+".Ссылка.Контрагент.ВалютаВзаиморасчетов
    | КОНЕЦ КАК ВалютаВзаиморасчетов,


должно быть

|" + ТекстПолученияВалюты + " КАК ВалютаВзаиморасчетов

ТекстПолученияВалюты нужно формировать до исполнения запроса
   Леха Дум
 
18 - 09.01.13 - 17:30
+ к (17)

Если ТипЗнч(что-то там) = Тип("Типчегототам") Тогда
ТекстПолученияВалюты = "ТаблицаТоваров.Ссылка.Валюта";
Иначе..
   DenSpb
 
19 - 09.01.13 - 17:34
(18) ТинЗнч(что-то там) - что-то там может быть несколько документов и разных типов
   DenSpb
 
20 - 09.01.13 - 17:35
(18) так что это не прокатит
   Леха Дум
 
21 - 09.01.13 - 17:41
дважды ппц...
условие Или уже отменили?
Если ТипЗнч(что-то там) = Тип("Типчегототам")
Или ТипЗнч(что-то там1) = Тип("Типчегототам1")
Или ТипЗнч(что-то там2) = Тип("Типчегототам2")
Тогда....

но можно и по другому, если допустим количество документов, попадающих в путь "Ссылка.Контрагент.ВалютаВзаиморасчетов" значительно меньше или вообще один написать:

Если ТипЗнч(что-то там) = Тип("Типчегототам") Тогда
ТекстПолученияВалюты = "ТаблицаТоваров.Контрагент.ВалютаВзаиморасчетов";
Иначе
ТекстПолученияВалюты = "ТаблицаТоваров.Ссылка.Валюта";
КОНЕЦ!!!!
   Леха Дум
 
22 - 09.01.13 - 17:42
С НОВЫМ ГОДОМ!!!
   Jaap Vduul
 
23 - 09.01.13 - 17:42
Функция ТИПЗНАЧЕНИЯ

Функция опеределения типа значения в запросе. 

Параметры функции:

Параметр — выражение любого типа

Возвращаемое значение: тип значения.
   DenSpb
 
24 - 09.01.13 - 17:44
(21) - это ты полный пипец
|ГДЕ
    |   ТаблицаТоваров.Ссылка " + ТекстУсловия + "
 
В тексте условия может быть массив доков. И эти доки могут быть разного типа. Если мы заменим условие валюты, например на ТаблицаТоваров.Ссылка.Валюта, то для одного дока может быть валюта, а для другого может и не быть.
С Рождеством тебя!
   DenSpb
 
25 - 09.01.13 - 17:45
(23) - это ты зачем написал?
   Леха Дум
 
26 - 09.01.13 - 17:49
(24) не пиши херню...

|    Документ."+ТипДокумента+"."+ТаблицаИсточник+" КАК ТаблицаТоваров

и в |ГДЕ 
    |   ТаблицаТоваров.Ссылка " + ТекстУсловия + "

если под ТекстУсловия понимается "ССЫЛКА Документ.ХренЗнаетКакойто - то это ни о чем, вы УЖЕ ВЫБРАЛИ в 
|    Документ."+ТипДокумента+"."+ТаблицаИсточник+" КАК нужный тип документа
   DenSpb
 
27 - 09.01.13 - 17:51
(26) я только сейчас понял, что это условие тоже надо будет менять.
   Леха Дум
 
28 - 09.01.13 - 17:54
(27) его нужно будет убирать, если выборка в рамках одного запроса будет происходить только из одного документа
   DenSpb
 
29 - 09.01.13 - 17:55
(28) как я понял запрос надо будет перелапатить конкретно, дело не только в условии по валюте
   Jaap Vduul
 
30 - 09.01.13 - 18:02
(25)
Вместо
КОГДА ТаблицаТоваров.Ссылка ССЫЛКА ...
используй
КОГДА ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(...)
   Леха Дум
 
31 - 09.01.13 - 18:04
(29) что то мне подсказывает, что лопатить нужно "самописная"...
оборотный регистр по продажам присутствует? а возвраты там фиксируются? по документам это все как то бывает не очень быстро выбирается...
   Леха Дум
 
32 - 09.01.13 - 18:05
+(31) хотя нет, судя по тексту - нужен регистр накопления по взаиморасчетам
   КуплюКровать
 
33 - 09.01.13 - 18:08
тоже хотел что и (30) написать, плюсану ))
 
 
   Леха Дум
 
34 - 09.01.13 - 18:18
(33) присоединяюсь, но т.к. текст запроса строится программно то строить уж и эту часть лучше там же
(32) взаиморасчеты тоже не подойдут... но рег под это дело желательно иметь или использовать имеющиеся регистры
   DenSpb
 
35 - 09.01.13 - 18:21
Сделал запрос:
"ВЫБРАТЬ
   //|    ЕстьNULL(ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)) КАК ВалютаВзаиморасчетов, 
 
    |       ВЫБОР
    | КОГДА ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.ЗаказНаряд)
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
    | КОГДА ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.КассовыйОрдер)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.СтрокаВыписки)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.ВозвратПоставщику)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.Инвойс)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.Поступление)
    | ТОГДА ТаблицаТоваров.Ссылка.Валюта
    | ИНАЧЕ ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов
    | КОНЕЦ КАК ВалютаВзаиморасчетов,
    |    ТаблицаТоваров.Товар КАК ТоварнаяПозиция,
    |    ТаблицаТоваров.Товар.Представление КАК НаименованиеПозиции,
    |    ТаблицаТоваров.Товар.Артикул КАК Артикул,
    |    ТаблицаТоваров.Товар.НаименованиеБазовойЕдиницы КАК ЕдИзм,
    |    СУММА(ТаблицаТоваров.Количество - ЕстьNull(ВозвратТоваров.Количество,0)) КАК Количество,
    |    СУММА(ТаблицаТоваров.Сумма - ЕстьNull(ВозвратТоваров.Сумма,0)) КАК Сумма
    |ИЗ
    |    Документ."+ТипДокумента+"."+ТаблицаИсточник+" КАК ТаблицаТоваров
    |    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратОтПокупателя.Товары КАК ВозвратТоваров
    |        ПО ТаблицаТоваров.Товар = ВозвратТоваров.Товар И ТаблицаТоваров.Ссылка =  ВозвратТоваров.Ссылка.ДокументОснование
    |ГДЕ
    |   ТаблицаТоваров.Ссылка " + ТекстУсловия + "
    |СГРУППИРОВАТЬ ПО
   //|    ЕстьNULL(ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)),
 
    |       ВЫБОР
    | КОГДА ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.ЗаказНаряд)
    | ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
    | КОГДА ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.КассовыйОрдер)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.СтрокаВыписки)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.ВозвратПоставщику)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.Инвойс)
    | ИЛИ ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.Поступление)
    | ТОГДА ТаблицаТоваров.Ссылка.Валюта
    | ИНАЧЕ ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов
    | КОНЕЦ,
   //| КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.ЗаказНаряд
 
   //| ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль) 
 
   //| КОГДА ТаблицаТоваров.Ссылка ССЫЛКА Документ.КассовыйОрдер
 
   //| ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.СтрокаВыписки
 
   //| ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.ВозвратПоставщику
 
   //| ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Инвойс
 
   //| ИЛИ ТаблицаТоваров.Ссылка ССЫЛКА Документ.Поступление
 
   //| ТОГДА ТаблицаТоваров.Ссылка.Валюта
 
   //| ИНАЧЕ ТаблицаТоваров.Ссылка.Контрагент.ВалютаВзаиморасчетов
 
   //| КОНЕЦ,
 
    |   ТаблицаТоваров.Товар,
    |   ТаблицаТоваров.Товар.Представление,
    |    ТаблицаТоваров.Товар.Артикул,
    |    ТаблицаТоваров.Товар.НаименованиеБазовойЕдиницы
    |ИМЕЮЩИЕ
    |    СУММА(ТаблицаТоваров.Количество - ЕстьNull(ВозвратТоваров.Количество,0)) > 0";

Выдает ошибку:
{Обработка.ПечатьБухгалтерскихДокументов.МодульОбъекта(126)}: Ошибка при вызове метода контекста (Выполнить)
    ТаблицаТоваров = ЗапросТовары.Выполнить().Выгрузить();
по причине:
{(10, 30)}: Поле не найдено "ТаблицаТоваров.Ссылка.Валюта"
ТОГДА ТаблицаТоваров.Ссылка.<<?>>Валюта
   Леха Дум
 
36 - 09.01.13 - 18:35
(35) возьми консоль запросов, да погоняй свой запрос, здесь твоей конфы нет, чтобы видеть в каком документе у тебя нет реквизита "Валюта"
   DenSpb
 
37 - 09.01.13 - 18:38
Если печатаю док, у которого есть реквизит валюта, то нормально печатается, если у документа нет реквизита валюта, то рубится на строке {(10, 39)}: Поле не найдено "ТаблицаТоваров.Ссылка.Валюта"
ТОГДА ЕстьNULL(ТаблицаТоваров.Ссылка.<<?>>Валюта, ЗНАЧЕНИЕ(Справочник.Валюты.Рубль))

Как это можно обойти?
   Jaap Vduul
 
38 - 09.01.13 - 18:42
КОГДА ТИПЗНАЧЕНИЯ(ТаблицаТоваров.Ссылка) = ТИП(Документ.ЗаказНаряд)
ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.Рубль)
   DenSpb
 
39 - 09.01.13 - 18:44
(38) - это написано, но в заказе наряде нет реквизита валюта, поэтому ругнется на строчку  ТОГДА ТаблицаТоваров.Ссылка.Валюта
   Jaap Vduul
 
40 - 09.01.13 - 18:44
(37)Никак, кроме как текст запроса менять.
   DenSpb
 
41 - 09.01.13 - 18:58
В итоге решил все в обработке запроса сделать.



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует