Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Shokoladnaj
3 / 3 / 2
Регистрация: 11.03.2014
Сообщений: 162
1

Ошибка при вызове метода контекста

02.08.2017, 11:50. Просмотров 541. Ответов 1
Метки нет (Все метки)

Задача сделать автоподбор. Но вот при выполнении выдает {Документ.ПродлениеКонтрактов.Форма.ФормаДокументаУправляемая.Форма(24)}: Ошибка при вызове метода контекста (ПолучитьСписокКонтрактовНаПродление)
ТЗ = ПолучитьСписокКонтрактовНаПродление();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'

Подскажите плз в чем проблема?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
&НаКлиенте
Процедура Заполнить(Команда)
    
    Если Объект.Проведен Тогда
        Предупреждение("Заполнение возможно только в непроведенном документе!");
        Возврат;
    КонецЕсли;
    
    Если Объект.Контракты.Количество() > 0 Тогда        
        ТекстВопроса = "Перед заполнением табличная часть будет очищена. Продолжить?";
        Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
        
        Если Ответ = КодВозвратаДиалога.Нет Тогда
            Возврат;
        КонецЕсли;  
        
        Объект.Контракты.Очистить();    
    КонецЕсли;  
    ТЗ = ПолучитьСписокКонтрактовНаПродление();
    мМаксимальныйСрокКонтрактаЛет = 5;
    Для Каждого Стр Из ТЗ Цикл
        НоваяСтрока = Объект.Контракты.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр);
        ОбработкаТабличныхЧастей.РасчитатьСрокКонтракта(НоваяСтрока, мМаксимальныйСрокКонтрактаЛет, Истина, Ложь, Объект.Контракт)
    КонецЦикла;
    
КонецПроцедуры
 
&НаСервере
Функция ПолучитьСписокКонтрактовНаПродление(ТекущаяСтрока = Неопределено, ОпределитьНомерКонтракта = Ложь)
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВложенныйЗапрос.ФизЛицо КАК ФизЛицо,
                   |    ВложенныйЗапрос.ДатаОкончанияКонтракта КАК ДатаОкончанияКонтракта,
                   |    ВложенныйЗапрос.НомерКонтракта КАК НомерКонтракта,
                   |    ВложенныйЗапрос.ДатаНачалаКонтракта КАК ДатаНачалаКонтракта,
                   |    ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ДЕНЬ, 1) КАК КонтрактС,
                   |    ВЫБОР
                   |        КОГДА ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ГОД, 1) < ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаНачалаКонтракта, ГОД, &МаксимальныйСрокКонтрактаЛет)
                   |            ТОГДА ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ГОД, 1)
                   |        ИНАЧЕ ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаНачалаКонтракта, ГОД, &МаксимальныйСрокКонтрактаЛет)
                   |    КОНЕЦ КАК КонтрактПо,
                   |    1 КАК КонтрактЛет,
                   |    Контракты.Регистратор КАК ДокументЗаключенияКонтракта,
                   |    ВложенныйЗапрос.Приказ
                   |ПОМЕСТИТЬ ВТКонтрактыНаПродление
                   |ИЗ
                   |    (ВЫБРАТЬ
                   |        КонтрактыСрезПоследних.ФизЛицо КАК ФизЛицо,
                   |        КонтрактыСрезПоследних.ДатаОкончанияКонтракта КАК ДатаОкончанияКонтракта,
                   |        КонтрактыСрезПоследних.НомерКонтракта КАК НомерКонтракта,
                   |        МАКСИМУМ(Контракты.Период) КАК ДатаНачалаКонтракта,
                   |        Контракты.Приказ КАК Приказ
                   |    ИЗ
                   |        РегистрСведений.Контракты.СрезПоследних(
                   |                ,
                   |                НЕ &ОдинКонтракт
                   |                    ИЛИ &ОдинКонтракт
                   |                        И ФизЛицо = &Физлицо
                   |                        И (НомерКонтракта = &НомерКонтракта
                   |                            ИЛИ &ОпределитьНомерКонтракта)) КАК КонтрактыСрезПоследних
                   |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Контракты КАК Контракты
                   |            ПО КонтрактыСрезПоследних.ФизЛицо = Контракты.ФизЛицо
                   |                И КонтрактыСрезПоследних.НомерКонтракта = Контракты.НомерКонтракта
                   |                И (НЕ Контракты.Регистратор ССЫЛКА Документ.ПродлениеКонтрактов)
                   |                И КонтрактыСрезПоследних.Приказ = Контракты.Приказ
                   |    ГДЕ
                   |        КонтрактыСрезПоследних.Контракт = &Контракт
                   |        И (КонтрактыСрезПоследних.ДатаОкончанияКонтракта <= &ДатаПо
                   |                ИЛИ &ДатаПо = &ПустаяДата)
                   |        И (КонтрактыСрезПоследних.ДатаОкончанияКонтракта >= &ДатаС
                   |                ИЛИ &ДатаС = &ПустаяДата)
                   |    
                   |    СГРУППИРОВАТЬ ПО
                   |        КонтрактыСрезПоследних.ФизЛицо,
                   |        КонтрактыСрезПоследних.ДатаОкончанияКонтракта,
                   |        КонтрактыСрезПоследних.НомерКонтракта,
                   |        Контракты.Приказ) КАК ВложенныйЗапрос
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Контракты КАК Контракты
                   |        ПО ВложенныйЗапрос.ФизЛицо = Контракты.ФизЛицо
                   |            И ВложенныйЗапрос.НомерКонтракта = Контракты.НомерКонтракта
                   |            И ВложенныйЗапрос.ДатаНачалаКонтракта = Контракты.Период
                   |            И (НЕ Контракты.Регистратор ССЫЛКА Документ.ПродлениеКонтрактов)
                   |            И ВложенныйЗапрос.Приказ = Контракты.Приказ
                   |ГДЕ
                   |    ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ДЕНЬ, 1) < ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаНачалаКонтракта, ГОД, &МаксимальныйСрокКонтрактаЛет)
                   |    И Контракты.Контракт = &Контракт
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    РаботникиОрганизацийСрезПоследних.Физлицо,
                   |    РаботникиОрганизацийСрезПоследних.Приказ КАК Приказ,
                   |    МАКСИМУМ(РаботникиОрганизацийСрезПоследних.Регистратор) КАК Регистратор
                   |ПОМЕСТИТЬ ВТРаботники
                   |ИЗ
                   |    РегистрСведений.РаботникиОрганизаций.СрезПоследних(
                   |            &Дата,
                   |            Физлицо В
                   |                (ВЫБРАТЬ
                   |                    ВТКонтрактыНаПродление.ФизЛицо
                   |                ИЗ
                   |                    ВТКонтрактыНаПродление КАК ВТКонтрактыНаПродление)) КАК РаботникиОрганизацийСрезПоследних
                   |ГДЕ
                   |    НЕ РаботникиОрганизацийСрезПоследних.Регистратор ССЫЛКА Документ.УвольнениеСотрудника
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    РаботникиОрганизацийСрезПоследних.Физлицо,
                   |    РаботникиОрганизацийСрезПоследних.Приказ
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВТРаботники.Физлицо КАК Физлицо,
                   |    ВТКонтрактыНаПродление.ДатаОкончанияКонтракта,
                   |    ВТКонтрактыНаПродление.НомерКонтракта,
                   |    ВТКонтрактыНаПродление.ДатаНачалаКонтракта КАК ДатаНачалаКонтракта,
                   |    ВТКонтрактыНаПродление.КонтрактС,
                   |    ВТКонтрактыНаПродление.КонтрактПо,
                   |    ВТКонтрактыНаПродление.КонтрактЛет,
                   |    ВТКонтрактыНаПродление.ДокументЗаключенияКонтракта,
                   |    ВТРаботники.Приказ
                   |ИЗ
                   |    ВТРаботники КАК ВТРаботники
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКонтрактыНаПродление КАК ВТКонтрактыНаПродление
                   |        ПО ВТРаботники.Физлицо = ВТКонтрактыНаПродление.ФизЛицо
                   |            И ВТРаботники.Приказ = ВТКонтрактыНаПродление.Приказ
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    ДатаНачалаКонтракта УБЫВ";  
    Запрос.УстановитьПараметр("Дата", Объект.Дата);
    Запрос.УстановитьПараметр("МаксимальныйСрокКонтрактаЛет", мМаксимальныйСрокКонтрактаЛет);
    Запрос.УстановитьПараметр("Контракт", Объект.Контракт);
    Запрос.УстановитьПараметр("ОпределитьНомерКонтракта", ОпределитьНомерКонтракта);
    Запрос.УстановитьПараметр("ПустаяДата", Дата(1,1,1));
    Если ТекущаяСтрока = Неопределено Тогда
        Запрос.УстановитьПараметр("Физлицо", Справочники.ФизическиеЛица.ПустаяСсылка());
        //Запрос.УстановитьПараметр("ДатаНачалаКонтракта", Дата(1,1,1));
        Запрос.УстановитьПараметр("НомерКонтракта", "");
        Запрос.УстановитьПараметр("ОдинКонтракт", Ложь);
        Запрос.УстановитьПараметр("ДатаС", НачалоДня(Объект.ДатаС));
        Запрос.УстановитьПараметр("ДатаПо", КонецДня(Объект.ДатаПо));
    Иначе   
        Запрос.УстановитьПараметр("Физлицо", ТекущаяСтрока.ФизЛицо);
        //Запрос.УстановитьПараметр("ДатаНачалаКонтракта", ТекущаяСтрока.ДатаНачалаКонтракта);
        Запрос.УстановитьПараметр("НомерКонтракта", ТекущаяСтрока.НомерКонтракта);
        Запрос.УстановитьПараметр("ОдинКонтракт", Истина);
        Запрос.УстановитьПараметр("ДатаС", Дата(1,1,1));
        Запрос.УстановитьПараметр("ДатаПо", Дата(1,1,1));
    КонецЕсли; 
    Результат = Запрос.Выполнить();
    ТЗ = Результат.Выгрузить();
    Возврат ТЗ;
    
КонецФункции // ()
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2017, 11:50
Ответы с готовыми решениями:

Ошибка при вызове метода контекста
есть ссылка &quot;e79ba7ae-0747-11db-9244-0011955c22cb&quot;... как присвоить ее новому элементу справочника...

Ошибка при вызове метода контекста (ВыбратьИзСписка)
Люди срочно помогите что не так???? В программе не лазили возникла ошибка: При выборе...

Ошибка при вызове метода контекста (ПолучитьОбъект)
Привет народ Программа ругается что: {Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений...

Ошибка при вызове метода контекста (МоментВремени): Элемент не выбран
В УТ 8.2 скопировал печатную форму &quot;Сравнительная накладная &quot; из РеализацияТоваровУслуг в Заказ...

1
Phil
Эксперт 1С
404 / 281 / 86
Регистрация: 28.05.2014
Сообщений: 1,138
02.08.2017, 11:56 2
Shokoladnaj, нельзя с сервера на клиент передать Таблицу Значений

Добавлено через 1 минуту
что мешает заполнить объект на Сервере?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2017, 11:56

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать)
1C 8.2 Документооборот КОРП 1.2 Текст ошибки...

Ошибка при вызове метода контекста по причине испльзование модальных окон в данном режиме запрещено
Здравствуйте! столкнулась вот с такой ошибкой, понятия не имею, что делать. Сделала все по...

Не удалось сформировать внешнюю печатную форму(толстую)! Ошибка при вызове метода контекста (Выполнить): {(14, 1)}: Синтаксическая ошибка "ИЗ" <<?>>ИЗ
Подскажите, пожалуйста. Выбрал для счета только услуги, написал: Шапка =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru