Ошибка заполнения сотрудников ГПХ. БП3

У клиента ошибка:

Ошибка при вызове метода контекста (Выполнить)
{ОбщийМодуль.КадровыйУчет.Модуль(3792)}:		Запрос.Выполнить();
{ОбщийМодуль.ПерсонифицированныйУчет.Модуль(21182)}:	КадровыйУчет.СоздатьВТОсновныеСотрудникиФизическихЛицВПериодах(
{ОбщийМодуль.ПерсонифицированныйУчет.Модуль(20956)}:	СоздатьВТРайонныйКоэффициентРаботников(МенеджерВременныхТаблиц, Организация, ОтчетныйПериод);
{Документ.СведенияОСтраховомСтажеЗастрахованныхЛицСЗВ_СТАЖ.МодульМенеджера(615)}:	ПерсонифицированныйУчет.СоздатьВТДанныеСтажаСотрудников(МенеджерВременныхТаблиц, Организации, ОтчетныйПериод);
{ОбщийМодуль.ПерсонифицированныйУчет.Модуль(21711)}:	Документы.СведенияОСтраховомСтажеЗастрахованныхЛицСЗВ_СТАЖ.СоздатьВТДанныеСтажаПФР(
{Документ.СведенияОСтраховомСтажеЗастрахованныхЛицСЗВ_СТАЖ.Форма.ФормаДокумента.Форма(1086)}:	ПерсонифицированныйУчет.ЗаполнитьДанныеОСтажеСотрудников(
{Документ.СведенияОСтраховомСтажеЗастрахованныхЛицСЗВ_СТАЖ.Форма.ФормаДокумента.Форма(953)}:	ЗаполнитьДанныеОСтажеСотрудников(СписокСотрудников);
по причине:
{(10, 34)}: Поле не найдено "ОсновныеСотрудникиФизическихЛиц.ДолжностьПоШтатномуРасписанию"
ОсновныеСотрудникиФизическихЛиц.<<?>>ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию

При нажатии кнопки Заполнить в документе «ЕФС-1: Сведения о страховом стаже застрахованных лиц»:

Ошибка возникает в запросе:

ВЫБРАТЬ
	ОсновныеСотрудникиФизическихЛиц.Период КАК Период,
	ОсновныеСотрудникиФизическихЛиц.Сотрудник КАК Сотрудник,
	ОсновныеСотрудникиФизическихЛиц.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	ОсновныеСотрудникиФизическихЛиц.ФизическоеЛицо КАК ФизическоеЛицо,
	ОсновныеСотрудникиФизическихЛиц.ВидЗанятости КАК ВидЗанятости,
	ОсновныеСотрудникиФизическихЛиц.Организация КАК Организация,
	ОсновныеСотрудникиФизическихЛиц.Подразделение КАК Подразделение,
	ОсновныеСотрудникиФизическихЛиц.Должность КАК Должность,
	ОсновныеСотрудникиФизическихЛиц.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
	ОсновныеСотрудникиФизическихЛиц.КоличествоСтавок КАК КоличествоСтавок,
	ОсновныеСотрудникиФизическихЛиц.ВидДоговора КАК ВидДоговора,
	ОсновныеСотрудникиФизическихЛиц.РольСотрудника КАК РольСотрудника
ПОМЕСТИТЬ ВТОсновныеСотрудникиФизическихЛиц
ИЗ
	ВТБезДоговорниковГПХОсновныеСотрудникиФизическихЛиц КАК ОсновныеСотрудникиФизическихЛиц

В менеджере временных таблиц в таблице ВТБезДоговорниковГПХОсновныеСотрудникиФизическихЛиц посмотрел, действительно нет такой колонки:

Запрос.МенеджерВременныхТаблиц.Таблицы[20].ПолучитьДанные().Выгрузить()

Поиском по конфигурации нашел, что эта таблица создается в процедуре СоздатьВТДанныеСтажаПФР модуля менеджера документа СведенияОСтраховомСтажеЗастрахованныхЛицСЗВ_СТАЖ:

В итоге текст запроса формируется в процедуре ВТБезДоговорниковГПХОсновныеСотрудникиФизическихЛиц модуля УчетСтажаПФР.

Вмешиваться туда сложно, решил создать недостающие поля.

Ошибка возникает в модуле КадровыйУчет в процедуре СоздатьВТОсновныеСотрудникиФизическихЛицВПериодах. Она объемная, захватывать ее через изменения и контроль не хочется. Но есть вызов, куда попадает текст запроса:

Поэтому расширяем процедуру ЗаменитьИмяСоздаваемойВременнойТаблицы модуля ЗарплатаКадрыОбщиеНаборыДанных:

&После("ЗаменитьИмяСоздаваемойВременнойТаблицы")
Процедура испрГПХ20241309_ЗаменитьИмяСоздаваемойВременнойТаблицы(ТекстЗапроса, ТекущееИмяТаблицы, НовоеИмяТаблицы)
	Если 
		Найти(ТекстЗапроса, "ПОМЕСТИТЬ ВТОсновныеСотрудникиФизическихЛиц") <> 0 
		И Найти(ТекстЗапроса, "ВТБезДоговорниковГПХОсновныеСотрудникиФизическихЛиц КАК") <> 0 Тогда
		ТекстЗапроса = СтрЗаменить(                                                                       
		ТекстЗапроса,
		"ОсновныеСотрудникиФизическихЛиц.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию",
		"ОсновныеСотрудникиФизическихЛиц.Должность КАК ДолжностьПоШтатномуРасписанию"
		);      
		ТекстЗапроса = СтрЗаменить(                                                                       
		ТекстЗапроса,
		"ОсновныеСотрудникиФизическихЛиц.ВидДоговора КАК ВидДоговора",
		"НЕОПРЕДЕЛЕНО КАК ВидДоговора"
		);      
		
	КонецЕсли;
КонецПроцедуры

После этого заполняется. Там, оказывается еще не хватает колонки ВидДоговора.

Вот состав полей таблицы:

Период
Сотрудник
ГоловнаяОрганизация
ФизическоеЛицо
ВидЗанятости
ЭтоВозвратноеСобытие
ДатаОкончания
ДатаНачала
Год
ПериодПредыдущейЗаписи
Сотрудник1
ГоловнаяОрганизация1
ФизическоеЛицо1
Период1
Регистратор
РегистраторСобытия
РегистраторЗаписи
ПериодЗаписи
ПустойИнтервал
Организация
Подразделение
Должность
ВидСобытия
ГоловнойСотрудник
ЭтоГоловнойСотрудник
КоличествоСтавок
РольСотрудника1
РольСотрудника

Среда: БП 3.0.149.18 Объем: 1 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *