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

1

2

3

4

5

..6

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Николай Иванов

активный пользователь

офлайн

Дата регистрации: 13.04.2017
Сообщений: 31

Здравствуйте. Используется последний релиз Зарплата и управление персоналом КОРП, редакция 2.5 (2.5.184.1). Платформа 1С:Предприятие 8.3 (8.3.18.1289).
Формируется регламентный отчет «Расчет по страховым взносам» за 1-й квартал 2023 г.. Отчет формируется по новой форме, ошибок не возникает. Но при попытке заполнить отчет по соответствующей кнопке возникает ошибка «Во время заполнения отчета произошла ошибка: Ошибка при вызове метода контекста (Выполнить)». Никакой дополнительной информации не указывается, в журнале регистрации также никакой информации по ошибке нет. В отладчике видно, что ошибка возникает в процедуре “РасчетПоказателей_РСВ_2023», на этапе выполнения запроса, когда обрабатывается свойство «ЧисленностьЗастрахованныхВРазрезеТарифов2023». Отследить детально сложно, одно из подозрений, что не заполнены какие-то справочные данные, хотя вроде как тарифы заполнены.
Возможно нужно сделать какие-то дополнительные настройки для выполнения этого отчета, но какие – непонятно.
Может быть, кто-то сталкивался с этой ошибкой, подскажите пожалуйста пути решения. Или же, может быть, это ошибка релиза?

gvf

активный пользователь

офлайн

Дата регистрации: 10.04.2023
Сообщений: 5

Николай Иванов,
Проблема в общем модуле «ЗаполнениеРегламентированнойОтчетности» процедуре «РасчетПоказателей_РСВ_2023»
в этом коде (здесь ничего не отбирается):

                  |ОБЪЕДИНИТЬ ВСЕ
                  |
                  |ВЫБРАТЬ
                  |      ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОрганизацииЗанимающиесяОбщепитом),
                  |      Доходы.Период,
                  |      Доходы.ФизЛицо
                  |ИЗ
                  |      ВТЗастрахованныеЛицаОрганизации КАК Доходы
                  |            ЛЕВОЕ СОЕДИНЕНИЕ ВТВидыТарифныхСтавокОрганизаций КАК ВидыТарифныхСтавокОрганизаций
                  |            ПО Доходы.Период = ВидыТарифныхСтавокОрганизаций.Период
                  |ГДЕ
                  |      Доходы.ЗастрахованПФР
                  |      И ЕСТЬNULL(ВидыТарифныхСтавокОрганизаций.ВидТарифаСтраховыхВзносов, ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОбщийНалоговыйРежим)) = ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОрганизацииЗанимающиесяОбщепитом)
                  |      И Доходы.ВидТарифаСтраховыхВзносов В (ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОрганизацииЗанимающиесяОбщепитом), ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ОбщийНалоговыйРежим))
и этом (обращение к «КодыТарифов», похоже нет соединения с временной таблицей):

                  |////////////////////////////////////////////////////////////­////////////////////
                  |ВЫБРАТЬ РАЗЛИЧНЫЕ
                  |      ЗастрахованныеНаОПС.ВидТарифаСтраховыхВзносов КАК ВидТарифаСтраховыхВзносов,
                  |      ЕСТЬNULL(КодыТарифов.Код, «»??»») КАК КодТарифа,
                  |      МЕСЯЦ(ЗастрахованныеНаОПС.Период) КАК Период,
                  |      ЗастрахованныеНаОПС.ФизЛицо КАК ФизЛицо,
                  |      1 КАК КоличествоОПС
                  |ПОМЕСТИТЬ ВТЗастрахованныеПоМесяцам
                  |ИЗ
                  |      ВТЗастрахованныеНаОПС КАК ЗастрахованныеНаОПС»;
И еще в форме «ФормаОтчета2023Кв1» самого отчета процедуре «ФормаОтчета2023Кв1» (цикл по неопределенно) в э
том коде;

                                    Для Каждого ДопСтрока Из ДопСтрокСтраницы Цикл
                                          СвойстваМнЧУровня2­ = СвойстваМногострочныхЧастей.Найти(ДопСтрока.Ключ, «ИД»);
                                          Если СвойстваМнЧУровня2 <> Неопределено Тогда
                                                СвойстваМнЧУ­ровня2.ТекущееКоличествоСтрок = 0;
                                          КонецЕсли;
                                    КонецЦикла;

gvf

активный пользователь

офлайн

Дата регистрации: 10.04.2023
Сообщений: 5

Николай Иванов,
* И еще в форме «ФормаОтчета2023Кв1» самого отчета процедуре «ЗаполнитьАвто» (цикл по неопределенно) в э
том коде;

Николай Иванов

активный пользователь

офлайн

Дата регистрации: 13.04.2017
Сообщений: 31

gvf,
Спасибо большое, эту процедуру и имел ввиду, что ошибка возникает в этой процедуре. И что-то были сомнения на строчку запроса
|      ЕСТЬNULL(КодыТарифов.Код, «»??»») КАК КодТарифа,
— возможно, не прав, но это обращение к временной таблице, а поля там возможно нет такого, хотя в процедуре много временных таблиц, возможно и ошибаюсь.
А варианты исправления Вы не знаете случайно или ждать обновление/исправления от 1С?

gvf

активный пользователь

офлайн

Дата регистрации: 10.04.2023
Сообщений: 5

Николай Иванов,
«А варианты исправления Вы не знаете случайно или ждать обновление/исправления от 1С?»

Не знаю можно ли здесь писать варианты исправления, для этого нужно понимать суть происходящего в отчете (чего я не знаю).
В запросе с этим кодом «|      ЕСТЬNULL(КодыТарифов.Код, «»??»») КАК КодТарифа,» , если смотреть на предыдущий код в этой же процедуре не хватает соединения с ВТ «ВТКодыТарифов»

NadinPr

активный пользователь

офлайн

Дата регистрации: 26.03.2012
Сообщений: 9

gvf, спасибо тебе, добрый человек! сэкономил массу времени

NadinPr

активный пользователь

офлайн

Дата регистрации: 26.03.2012
Сообщений: 9

Николай Иванов, как уже сказано выше, необходимо найти кусок кода и подправить, а потом уже можно ждать у

моря погоды

обновление:
1.общий модуль — заполнениеРегламентированнойОтчетности — РасчетПоказателей_РСВ_2023

поискать строку ВТЗастрахованныеНаОПС КАК ЗастрахованныеНаОПС

добавить туда кусок кода:

|////////////////////////////////////////////////////////////­////////////////////
                  |ВЫБРАТЬ РАЗЛИЧНЫЕ
                  |      ЗастрахованныеНаОПС.ВидТарифаСтраховыхВзносов КАК ВидТарифаСтраховыхВзносов,
                  |      ЕСТЬNULL(КодыТарифов.Код, «»??»») КАК КодТарифа,
                  |      МЕСЯЦ(ЗастрахованныеНаОПС.Период) КАК Период,
                  |      ЗастрахованныеНаОПС.ФизЛицо КАК ФизЛицо,
                  |      1 КАК КоличествоОПС
                  |ПОМЕСТИТЬ ВТЗастрахованныеПоМесяцам
                  |ИЗ
                  |      ВТЗастрахованныеНаОПС КАК ЗастрахованныеНаОПС

                                    //Вставлено 12 апреля 2023
                  |            ЛЕВОЕ СОЕДИНЕНИЕ ВТКодыТарифов КАК КодыТарифов
                  |            ПО ЗастрахованныеНаОПС.ВидТарифаСтраховыхВзносов = КодыТарифов.ВидТарифаСтраховыхВзносов
                  |                  И (ГОД(ЗастрахованныеНаОПС.Период) МЕЖДУ КодыТарифов.ГодС И КодыТарифов.ГодПо)
                  //Вставлено 12 апреля 2023

2. отчеты — РегламентированныйОтчетРасчетПоСтраховымВзносам — ФормаОтчета2023Кв1

в алгоритме формы найти строку СвойстваМнЧУровня2 = СвойстваМногострочныхЧастей.Найти(ДопСтрока.Ключ, «ИД»)

заменить это

                                          Для Каждого ДопСтрока Из ДопСтрокСтраницы Цикл
                                                СвойстваМнЧУ­ровня2 = СвойстваМногострочныхЧастей.Найти(ДопСтрока.Ключ, «ИД»);
                                                Если СвойстваМнЧУровня2 <> Неопределено Тогда
                                                      Свойст­ваМнЧУровня2.ТекущееКоличествоСтрок = 0;
                                                КонецЕсли;
                                          КонецЦикла;
на это

                                    Если ДопСтрокСтраницы <> Неопределено Тогда
                                          Для Каждого ДопСтрока Из ДопСтрокСтраницы Цикл
                                                СвойстваМнЧУ­ровня2 = СвойстваМногострочныхЧастей.Найти(ДопСтрока.Ключ, «ИД»);
                                                Если СвойстваМнЧУровня2 <> Неопределено Тогда
                                                      Свойст­ваМнЧУровня2.ТекущееКоличествоСтрок = 0;
                                                КонецЕсли;
                                          КонецЦикла;
                                    КонецЕсли;

Николай Иванов

активный пользователь

офлайн

Дата регистрации: 13.04.2017
Сообщений: 31

NadinPr, NadinPr, NadinPr, gvf,
Понятно, спасибо!
Надеюсь это многим пригодится!

Ларионов Сергей

Дата регистрации: 11.04.2023
Сообщений: 3

NadinPr,

Класс, Спасибо! Заработало!

vitaly smetanin

Дата регистрации: 12.04.2023
Сообщений: 3

Скажите, пожалуйста
Есть кусок кода       |      ВТЗастрахованныеНаОПС КАК ЗастрахованныеНаОПС»;

Куда вставить код нужно? Вместо?

Читают тему:

УПП Не заполняется РСВ

Я
   Черников

14.04.23 — 09:18

УПП 202 релиз

Делаем отчет Расчет по страховым взносам за 1 квартал 2023 года.

При нажатии кнопки Заполнить выходит критическая ошибка

Ошибка при вызове метода контекста(Выполнить) При нажатии ОК никакой расшифровки.

Кто -нибудь встречался с подобной ошибкой? Как обойти?

   Волшебник

1 — 14.04.23 — 09:19

Покажите текст ошибки. Загляните в журнал регистрации

   2S

2 — 14.04.23 — 09:21

(0) вчера были темы

   Черников

3 — 14.04.23 — 09:25

(1)  В журнале регистрации ничего нет!

   Гена

4 — 14.04.23 — 09:36

   mpv-faq

5 — 15.04.23 — 08:20

   NorthWind

6 — 15.04.23 — 18:09

Вроде бы починили в 202.2

   Mikhail Volkov

7 — 17.04.23 — 12:54

(6) У меня в 202.2 ошибка «Во время заполнения отчета произошла ошибка. Значение не является значением объектного типа (Колонки)». А еще: Ошибка при выполнении программы: {РегламентированныйОтчетНДС.ФормаОтчета2023Кв1.Форма(10728)}: Поле объекта не обнаружено (КодВидТовар). Хотя в строке 10728 — Для Каждого КодВидаТовара Из СтрокаДанных.КодВидТовар Цикл — Что не обнаружено?

   Волшебник

8 — 17.04.23 — 17:25

(7) КодВидТовар замените на КодВидаТовара

   NorthWind

9 — 17.04.23 — 13:22

(7) сейчас только что проверил — заполняется РСВ з 1 квартал.

   Mikhail Volkov

10 — 17.04.23 — 13:58

(8) Только в строке 10728?

   Mikhail Volkov

11 — 17.04.23 — 14:56

+ Сейчас пишет (после исправления): Поле объекта не обнаружено (КодВидТовара).

   Гена

12 — 17.04.23 — 15:08

(11) а

   Mikhail Volkov

13 — 17.04.23 — 16:24

(12) Не понял… Ошибка возникает при Выгрузке.

   Гена

14 — 17.04.23 — 16:41

(13) «а» пропустили. Гляньте пост Волшебника.

   Mikhail Volkov

15 — 17.04.23 — 17:47

(14) Исправил, но  теперь «Поле объекта не обнаружено (КодВидаТовара)».

   Волшебник

16 — 17.04.23 — 17:51

(15) Ну значит в СтрокаДанных нет такого свойства

   shuhard

17 — 17.04.23 — 17:53

(15) что-то мешает поставить точку останова ?

   Grim Tim

18 — 17.04.23 — 17:55

В этой теме РСВ обсуждается или РегламентированныйОтчетНДС?) Что-то все запутали….

   Mikhail Volkov

19 — 17.04.23 — 18:13

(16) И что делать?

   Волшебник

20 — 17.04.23 — 18:44

(19) Запускать отладчик, ставить точку останова на строке № 10728. Удачи

   NorthWind

21 — 17.04.23 — 18:50

(19) ну раз сами не умеете в отладку — ждите, пока вылезет у кого-то еще. Завтра-послезавтра мои бухи будут заполнять, может, увидим чего. Но пока похоже на то что это что-то уникально ваше, возможно, от неудачного обновления. Я сегодня кнопочку заполнить на первом квартале нажал и ничего такого не увидел — все заполнилось, цифры в отчете появились…

   Mikhail Volkov

22 — 17.04.23 — 19:05

(18) Разве РВС не в РегламентированныйОтчетНДС делаются? Может и напутал, со слов бухгалтера…

(21) Заполняется без ошибок, а при Выгрузке ошибка (7).

   NorthWind

23 — 17.04.23 — 19:11

(22) напутал. РегламентированныйОтчетНДС это, если мне не изменяет память, декларация по НДС. А РСВ это РегламентированныйОтчетРасчетПоСтраховымВзносам.

  

NorthWind

24 — 17.04.23 — 19:15

(22) так, декларация по НДС выгрузилась.

РСВ действительно не выгрузился из-за того, что у нескольких свежепринятых сотров кривые паспортные данные. Это надо будет, чтобы кадровик довел до ума.

Но ваших ошибок не наблюдаю пока.

  1. Приветствую.

    Платформа 8.2.19.83, Серверный вариант
    Столкнулся с проблемой:
    Обновил БП до версии 2.0.57.3.
    При создании нового рег. отчета РСВ1 за 1 кв. 2014г. происходит следующее
    1. Не заполняется раздел 6. В разделе выводится красным «В информационной базе не обнаружены сведения для формирования раздела».
    2. При заполнении отчета выскакивает ошибка «Ошибка при вызове метода контекста (ЗначенияПоказателей_РСВ1_2014Кв1)». Ошибка выводится в окне с одной кнопкой Ок
    3. Затем, после нажатия Ок выскакивает сл. ошибка
    {Обработка.ПодготовкаДанныхПФР2014.МодульОбъекта(291)}: Ошибка при вызове метода контекста (СоздатьВТДанныеОДоходахЗаОтчетныеПериоды) ПроцедурыПерсонифицированногоУчетаПолныеПрава.СоздатьВТДанныеОДоходахЗаОтчетныеПериоды(Запрос.МенеджерВременныхТаблиц, НачалоГода(ОтчетныйПериод), ОтчетныйПериод, Организация, ДатаСозданияДокументов);
    по причине:
    Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода СоздатьВТДанныеОДоходахЗаОтчетныеПериоды ().

    Что предпринимал:
    1. Тестирование и исправление базы.
    2. Загрузка базы под платформу 8.3.4.408. (Другой физический сервер 1С, тотже SQL сервер с отдельной базой)
    3. Есть много других баз. Пробовал в них.

    Ничего не помогло.

    Под конец решил загрузить эту же базу в файловом варианте. Отчет заполнился без проблем!
    Ну не работать же теперь в файловом варианте. Как быть? На что еще можно обратить внимание?

  2. Отбой. Вышло обновление 2.0.57.4. Как-бы работает теперь

Поделиться этой страницей


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.

Исправляем ситуацию

Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.

Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:


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

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.

Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.


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

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

Рис.3 Синтакс-помощник
Рис.3 Синтакс-помощник

В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает
Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.

1. Перед загрузкой обработки обязательно сделайте копию Вашей информационной базы (гл. меню «Администрирование» — «Выгрузить информационную базу»).

2.»Конфигурация» — «Открыть конфигурацию».

3.»Конфигурация» — «Поддержка» — «Настройка поддержки» — нажмите кнопку <включить возможность изменения>.
(если такой кнопки нет, значит конфигурация уже находится на поддержке с возможностью изменения).

4.Обработки — Расчет ЕСН — (правой кнопкой мыши)- Сравнить, объединить обработку, отчет — выбор данной обработки….

5. Конфигурация – обновить конфигурацию базы данных (кнопка F7)

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста получитьфункциональнуюопцию
  • Ошибка при вызове метода контекста реквизитформывзначение недопустимое значение параметра
  • Ошибка при вызове метода контекста получитьформу интерактивные операции недоступны
  • Ошибка при вызове метода контекста прочитатьизменения обмен риб
  • Ошибка при вызове метода контекста получитьпоследнее