Имя: Пароль:
1C
1С v8
Не получает данные из запроса в УТП
0 I_Stranger
 
29.10.12
16:31
Доброго времени суток!

Есть CRM где юзвери вводят данные. Обработкой они вытягивают эти данные из CRM и вводят в 1С Бухгалтерию. Недавно решили перейти на УТП, и нужно эту обработку под УТП подтесать. Итого, вроде как обработка данные из CRM получает, но не выводит. Обнаружилось, что данные пропадают на следующем участке кода:

Данные=ПолучитьДанныеИзСРМ(Текст);

МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
   Запрос = Новый Запрос;
   Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;

   Запрос.Текст =
   "ВЫБРАТЬ
   |    ВнешнийИсточник.CLCODE,
   |    ВнешнийИсточник.CLNAME,
   |    ВнешнийИсточник.CLZKPO,
   |    ВнешнийИсточник.CLDOGOVOR,
   |    ВЫБОР
   |        КОГДА ГОД(ВнешнийИсточник.CLDOGOVOR_DT) > 3999
   |            ТОГДА """"
   |        ИНАЧЕ ВнешнийИсточник.CLDOGOVOR_DT
   |    КОНЕЦ КАК CLDOGOVOR_DT,
   |    ВнешнийИсточник.TMCCODE,
   |    ВнешнийИсточник.TMCNAME,
   |    ВнешнийИсточник.TMCSUMM
   |ПОМЕСТИТЬ ИсхТаб
   |ИЗ
   |    &ВнешнийИсточник КАК ВнешнийИсточник";
   
   Запрос.УстановитьПараметр("ВнешнийИсточник", Данные);
   Запрос.Выполнить();
   
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ИсхТаб.CLCODE КАК КодКлиента,
   |    ИсхТаб.CLNAME КАК НаименованиеКлиента,
   |    ИсхТаб.CLZKPO КАК КодЕДРПОУ,
   |    ИсхТаб.CLDOGOVOR КАК НомерДоговора,
   |    ИсхТаб.CLDOGOVOR_DT КАК ДатаДоговора,
   |    ИсхТаб.TMCCODE КАК КодУслуги,
   |    ИсхТаб.TMCNAME КАК Услуга,
   |    ИсхТаб.TMCSUMM КАК СуммаУслуги,
   |    ДоговорыКонтрагентов.Ссылка КАК ДоговорВ1С,
   |    ЗначенияСвойствОбъектов.Объект КАК УслугаВ1С,
   |    ДоговорыКонтрагентов.Владелец.Ссылка КАК КонтрагентВ1С
   |ИЗ
   |    ИсхТаб КАК ИсхТаб
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
   |        ПО ((ВЫРАЗИТЬ(ИсхТаб.CLDOGOVOR КАК СТРОКА(50))) = ДоговорыКонтрагентов.Номер)
   |            И ((ВЫРАЗИТЬ(ИсхТаб.CLZKPO КАК СТРОКА(12))) = ДоговорыКонтрагентов.Владелец.КодПоЕДРПОУ)
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
   |        ПО ИсхТаб.TMCCODE = ЗначенияСвойствОбъектов.Значение
   |ГДЕ
   |    ЗначенияСвойствОбъектов.Свойство.Наименование = ""КодВCRM""
   |ИТОГИ
   |    МАКСИМУМ(НаименованиеКлиента),
   |    МАКСИМУМ(КонтрагентВ1С),
   |    МАКСИМУМ(КодЕДРПОУ),
   |    СУММА(СуммаУслуги)
   |ПО
   |    КодКлиента";

ВыборкаПоКлиенту=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"КодКлиента");



Данные - ТЗ, заполненная данными из CRM. И вот ВыборкаПоКлиенту после этих запросов пустая. Хотя в Бухгалтерии запрос выполняется.

Помогите понять почему.

Управление торговым предприятием и бух - 8.2, платформа 16я
1 shuhard
 
29.10.12
16:48
(0)[Запрос.УстановитьПараметр("ВнешнийИсточник", Данные);]
скорее всего Данные не типизированы
и поэтому не работают джойны
2 pessok
 
29.10.12
16:49
(1) при нетипизированной ТЗ он бы при выполнении ругнулся, не?
3 I_Stranger
 
29.10.12
17:09
не ругается - просто запрос пустой.

Данные описаны в начале - получаем ТЗ:

Данные=ПолучитьДанныеИзСРМ(Текст);
4 shuhard
 
29.10.12
17:12
(3) что-то мешает для отладки убрать все Where  в запросе и последовательно вернуть их обратно ?
5 pessok
 
29.10.12
17:16
думается, что бока тут

 |ГДЕ
   |    ЗначенияСвойствОбъектов.Свойство.Наименование = ""КодВCRM""
6 I_Stranger
 
29.10.12
17:41
pessok верно

Это не было введено в рабочей УТП. При подгонке регистра под бухгалтерию все заработало.

Спасибо!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.