|
|||
Черников
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) Разве РВС не в РегламентированныйОтчетНДС делаются? Может и напутал, со слов бухгалтера… |
||
NorthWind
23 — 17.04.23 — 19:11 |
(22) напутал. РегламентированныйОтчетНДС это, если мне не изменяет память, декларация по НДС. А РСВ это РегламентированныйОтчетРасчетПоСтраховымВзносам. |
||
NorthWind 24 — 17.04.23 — 19:15 |
(22) так, декларация по НДС выгрузилась. |
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.
Исправляем ситуацию
Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.
Приглашаем на
бесплатный вебинар!
06 июня в 11:00 мск
1 час
Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.
Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.
Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа ";
НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
КонецЦикла;
1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 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.0.57.4. Как-бы работает теперь
Поделиться этой страницей
1. Перед загрузкой обработки обязательно сделайте копию Вашей информационной базы (гл. меню «Администрирование» — «Выгрузить информационную базу»).
2.»Конфигурация» — «Открыть конфигурацию».
3.»Конфигурация» — «Поддержка» — «Настройка поддержки» — нажмите кнопку <включить возможность изменения>.
(если такой кнопки нет, значит конфигурация уже находится на поддержке с возможностью изменения).
4.Обработки — Расчет ЕСН — (правой кнопкой мыши)- Сравнить, объединить обработку, отчет — выбор данной обработки….
5. Конфигурация – обновить конфигурацию базы данных (кнопка F7)