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
Покажите текст ошибки. Загляните в журнал регистрации
2 — 14.04.23 — 09:21
(0) вчера были темы
3 — 14.04.23 — 09:25
(1) В журнале регистрации ничего нет!
4 — 14.04.23 — 09:36
5 — 15.04.23 — 08:20
6 — 15.04.23 — 18:09
Вроде бы починили в 202.2
7 — 17.04.23 — 12:54
(6) У меня в 202.2 ошибка «Во время заполнения отчета произошла ошибка. Значение не является значением объектного типа (Колонки)». А еще: Ошибка при выполнении программы: {РегламентированныйОтчетНДС.ФормаОтчета2023Кв1.Форма(10728)}: Поле объекта не обнаружено (КодВидТовар). Хотя в строке 10728 — Для Каждого КодВидаТовара Из СтрокаДанных.КодВидТовар Цикл — Что не обнаружено?
8 — 17.04.23 — 17:25
(7) КодВидТовар замените на КодВидаТовара
9 — 17.04.23 — 13:22
(7) сейчас только что проверил — заполняется РСВ з 1 квартал.
10 — 17.04.23 — 13:58
(8) Только в строке 10728?
11 — 17.04.23 — 14:56
+ Сейчас пишет (после исправления): Поле объекта не обнаружено (КодВидТовара).
12 — 17.04.23 — 15:08
(11) а
13 — 17.04.23 — 16:24
(12) Не понял… Ошибка возникает при Выгрузке.
14 — 17.04.23 — 16:41
(13) «а» пропустили. Гляньте пост Волшебника.
15 — 17.04.23 — 17:47
(14) Исправил, но теперь «Поле объекта не обнаружено (КодВидаТовара)».
16 — 17.04.23 — 17:51
(15) Ну значит в СтрокаДанных нет такого свойства
17 — 17.04.23 — 17:53
(15) что-то мешает поставить точку останова ?
18 — 17.04.23 — 17:55
В этой теме РСВ обсуждается или РегламентированныйОтчетНДС?) Что-то все запутали….
19 — 17.04.23 — 18:13
(16) И что делать?
20 — 17.04.23 — 18:44
(19) Запускать отладчик, ставить точку останова на строке № 10728. Удачи
21 — 17.04.23 — 18:50
(19) ну раз сами не умеете в отладку — ждите, пока вылезет у кого-то еще. Завтра-послезавтра мои бухи будут заполнять, может, увидим чего. Но пока похоже на то что это что-то уникально ваше, возможно, от неудачного обновления. Я сегодня кнопочку заполнить на первом квартале нажал и ничего такого не увидел — все заполнилось, цифры в отчете появились…
22 — 17.04.23 — 19:05
(18) Разве РВС не в РегламентированныйОтчетНДС делаются? Может и напутал, со слов бухгалтера…
(21) Заполняется без ошибок, а при Выгрузке ошибка (7).
23 — 17.04.23 — 19:11
(22) напутал. РегламентированныйОтчетНДС это, если мне не изменяет память, декларация по НДС. А РСВ это РегламентированныйОтчетРасчетПоСтраховымВзносам.
NorthWind
24 — 17.04.23 — 19:15
(22) так, декларация по НДС выгрузилась.
РСВ действительно не выгрузился из-за того, что у нескольких свежепринятых сотров кривые паспортные данные. Это надо будет, чтобы кадровик довел до ума.
Но ваших ошибок не наблюдаю пока.
-
Приветствую.
Платформа 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С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.
Исправляем ситуацию
Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.
Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.
Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.
Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа ";
НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
КонецЦикла;
1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.
В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.
Чаще всего причиной подобных ошибок выступают следующие факторы:
- Невнимательность;
- Отсутствие опыта или знаний;
- Несогласованность действий разработчиков друг с другом;
- Изменения в методах контекста в новых версиях платформы.
Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.
1. Перед загрузкой обработки обязательно сделайте копию Вашей информационной базы (гл. меню «Администрирование» — «Выгрузить информационную базу»).
2.»Конфигурация» — «Открыть конфигурацию».
3.»Конфигурация» — «Поддержка» — «Настройка поддержки» — нажмите кнопку <включить возможность изменения>.
(если такой кнопки нет, значит конфигурация уже находится на поддержке с возможностью изменения).
4.Обработки — Расчет ЕСН — (правой кнопкой мыши)- Сравнить, объединить обработку, отчет — выбор данной обработки….
5. Конфигурация – обновить конфигурацию базы данных (кнопка F7)