Имя: Пароль:
1C
1С v8
УТ 11 ошибка при вызове метода контекста (выполнить) без рашифровки
,
0 ARCorp
 
16.11.16
23:14
Добрый день, форумчане!

Файловая база УТ 11.3

Подскажите куда копать,
есть запрос, простейший, находится в модуле регистра накопления РасчетыСПоставщиками, процедура ПередЗаписью

    Запрос = Новый Запрос("
    |ВЫБРАТЬ
    |    Расчеты.Период                    КАК Период,
    |    Расчеты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
    |    Расчеты.ЗаказПоставщику           КАК ЗаказПоставщику,
    |    Расчеты.Валюта                    КАК Валюта,
    |    Расчеты.Сумма                     КАК Сумма,
    |    Расчеты.Оплачивается              КАК Оплачивается,
    |    Расчеты.ХозяйственнаяОперация     КАК ХозяйственнаяОперация,
    |    Расчеты.СуммаРегл                 КАК СуммаРегл,
    |    Расчеты.СуммаУпр                  КАК СуммаУпр,
    |    Расчеты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств
    |ПОМЕСТИТЬ РасчетыСПоставщикамиИсходныеДвижения
    |ИЗ
    |    РегистрНакопления.РасчетыСПоставщиками КАК Расчеты
    |ГДЕ
    |    Расчеты.Регистратор = &Регистратор
    |    И Расчеты.Сумма <> 0
    |");
    
    Запрос.УстановитьПараметр("Регистратор", Отбор.Регистратор.Значение);
    Запрос.МенеджерВременныхТаблиц = ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;
    Запрос.Выполнить();


При выполнении этого запроса получаю ошибку "ошибка при вызове метода контекста (выполнить)", в расшифровки нет. Чего ему не нравится?

Подскажите как включить расшифровку и вообще что может быть?
1 ARCorp
 
16.11.16
23:15
(0) Добавлю, что параметр передается корректно, документ ссылка, этот документ является регистратором.
2 Torquader
 
16.11.16
23:18
То есть ты пишешь запись вручную, а тебе не дают её записать ?
Отбор-то правильно установлен ?
3 ARCorp
 
16.11.16
23:20
Да, пишу вручную в подписке

Процедура ПроведениеРТиУОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
    Агент = Справочники.Контрагенты.ПустаяСсылка();
    нСтрока = НайтиСтрокуДополнительныхСвойств(Источник.Ссылка);
    Если нСтрока <> Неопределено
        И ЗначениеЗаполнено(нСтрока.Значение) Тогда
        Агент = нСтрока.Значение;
    КонецЕсли;
    
    Если Не ЗначениеЗаполнено(Агент) Тогда
        Возврат;
    КонецЕсли;
    
    КлючиАналитикиУчета = Новый Структура;
    КлючиАналитикиУчета.Вставить("Организация", Источник.Организация);
    КлючиАналитикиУчета.Вставить("Контрагент", Агент);
    КлючиАналитикиУчета.Вставить("Партнер", Справочники.Партнеры.ПустаяСсылка());
    КлючиАналитикиУчета.Вставить("Договор", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
    КлючиАналитикиУчета.Вставить("НаправлениеДеятельности", Справочники.НаправленияДеятельности.ПустаяСсылка());
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Валюта,
        |    РеализацияТоваровУслуг.СуммаДокумента / 100 * 3 КАК КОплате,
        |    РеализацияТоваровУслуг.СуммаДокумента / 100 * 3 КАК Сумма,
        |    &Период,
        |    ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
        |    &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
        |    РеализацияТоваровУслуг.Ссылка КАК Регистратор
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |    РеализацияТоваровУслуг.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("АналитикаУчетаПоПартнерам", РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(КлючиАналитикиУчета));
    Запрос.УстановитьПараметр("Период", Источник.Дата);
    Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Источник.Движения.РасчетыСПоставщиками.Очистить();
    Источник.Движения.РасчетыСПоставщиками.Загрузить(РезультатЗапроса.Выгрузить());    
    Источник.Движения.РасчетыСПоставщиками.Записывать = Истина;    
КонецПроцедуры
4 Torquader
 
16.11.16
23:29
А отбор где ?
Если отбора нет, то очистить может очистить вообще всё.
И я бы лучше сделал через ЗаполнитьЗначенияСвойств, чтобы лишнего не изменить.
5 d546
 
16.11.16
23:31
а зачем для движений объекта нужно устанавливать отбор и какой?
6 ARCorp
 
16.11.16
23:31
Так я же только с движениями конкретного документа оперирую, какой отбор?

ЗаполнитьЗначенияСвойств это перебирать выборку? Я как только не пробовал уже - все равно такая же ошибка
7 Torquader
 
16.11.16
23:43
(6) Просто или писать туда значения, не обновляя поле регистратора вообще или писать всё, что система хочет.
Есть мнение, что РеализацияТоваровУслуг.Ссылка КАК Регистратор нужно из запроса убрать, так как это поле должно быть заполнено автоматом.
8 ARCorp
 
17.11.16
07:26
Убирал, не помогает
9 ARCorp
 
17.11.16
13:36
Ап, спасите помогите
10 DrShad
 
17.11.16
13:44
а случайно нет ли в менеджере уже такой таблицы?
11 DrShad
 
17.11.16
13:48
попробуй в начале запроса уничтожить ВТ с этим наименованием
12 Ёпрст
 
17.11.16
13:51
(0) вот тут то точно ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц

менеджерВременных таблиц передаётся ?
13 Ёпрст
 
17.11.16
13:52
и.. точно его надо туда писать ?
14 DrShad
 
17.11.16
13:53
(13) ну так он хочет в запросе сравнивать новые движения со старыми
15 ARCorp
 
17.11.16
13:58
Это типовой код. Я ничего не менял в этом модуле. Прием ошибка возникает только если я пишу свои движения в этот регистр, если не пишу - ошибки нет
16 ARCorp
 
17.11.16
13:58
Я вот думаю может какой нибудь конфликт блокировок или еще что то
17 DrShad
 
17.11.16
13:59
(15) ок,  и как же ты пишешь свои движения? чудес не бывает
18 DrShad
 
17.11.16
14:07
у тебя наверняка дважды отрабатывает
19 ARCorp
 
17.11.16
14:09
(17) через подписку на событие - код в начале топика
20 ARCorp
 
17.11.16
14:10
больше документ не делает движений по этому регистру, т.к. в движения я добавлял этот регистр сам
21 DrShad
 
17.11.16
14:13
(19) событие в подписке какое?
22 DrShad
 
17.11.16
14:16
и посмотри уже сколько раз отрабатывает перед записью
23 ARCorp
 
17.11.16
14:20
(21) обработка проведения
24 ARCorp
 
17.11.16
14:20
(22) это как посмотреть?
25 DrShad
 
17.11.16
14:22
(24) сделай замер производительности
26 DrShad
 
17.11.16
14:24
или точку останова поставь и считай )))
27 ARCorp
 
17.11.16
14:25
(25) один раз вызывается код, и этот один раз и есть ошика
28 DrShad
 
17.11.16
14:32
ну кроме как имя ВТ там больше нечему ошибаться
29 ARCorp
 
17.11.16
14:36
(28) ты про это имя? "РасчетыСПоставщикамиИсходныеДвижения"
30 ARCorp
 
17.11.16
17:01
(28) уничтожил ВТ в этом запросе в начале запроса, ровным счетом ничего не изменилось
31 d546
 
17.11.16
22:55
ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц
точно там менеджер?