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

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

Я
   Черников

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

(3) pasha_d дал решение:

Расчеты страховых взносов после обновления

   mpv-faq

5 — 15.04.23 — 08:20

https://buh.ru/forum/forum18374/topic96364/message459908/

   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С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.

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

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

Планшет

Приглашаем на
бесплатный вебинар!

06 июня в 11:00 мск

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. Приветствую.

    Платформа 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. Перед загрузкой обработки обязательно сделайте копию Вашей информационной базы (гл. меню «Администрирование» — «Выгрузить информационную базу»).

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

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

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

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

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Ошибка при вызове метода контекста прочитатьxml
  • Ошибка при вызове метода контекста прочитатьjson
  • Ошибка при вызове метода контекста прочитать xml
  • Ошибка при вызове метода контекста прочитать json

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии