Преобразование значения к типу Число не может быть выполнено(ЗУП 2.5)
Доброго времени суток!
Помогите разобраться с отчетом. Отчет формирует доп. соглашение на увеличение оклада.
При формировании ругается на ошибку:
Ниже вся процедура
Конфигурация: ЗУП 2.5.126.1 //В предыдущих релизах пол года назад с ним проблем не было.Все формировалось
Платформа: 8.3.10.
Помогите разобраться с отчетом. Отчет формирует доп. соглашение на увеличение оклада.
При формировании ругается на ошибку:
{ВнешнийОтчет.ДопСоглашение.Форма.ФормаОтчета.Форма(138)}: Преобразование значения к типу Число не может быть выполнено
ДанныеОтчета.Вставить("Паспорт",ДанныеРаботника.ДокументСерия+" "+ДанныеРаботника.ДокументНомер);
Ниже вся процедура
Процедура Отчет(ТабДок, Сотрудник,Размер) Экспорт
ОсновнаяОрганизация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");
//Сведения об организации
Запрос= Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| КонтактнаяИнформация.Тип,
| КонтактнаяИнформация.Представление
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &ОсновнаяОрганизация
| И КонтактнаяИнформация.Вид = &ВидАдреса";
Запрос.УстановитьПараметр("ОсновнаяОрганизация",ОсновнаяОрганизация);
Запрос.УстановитьПараметр("ВидАдреса",Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
АдресаОрганизации=Запрос.Выполнить().Выбрать();
АдресаОрганизации.Следующий();
//Ответственные лица
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Наименование Как НаименованиеФизЛица,
| ОтветственныеЛицаОрганизацийСрезПоследних.Должность.Наименование Как Должность,
| ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо,
| ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо,
| ОтветственныеЛицаОрганизацийСрезПоследних.ДокументОснование
|ИЗ
| РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних
|ГДЕ
| ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница = &ОсновнаяОрганизация
| И ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.Руководитель)";
Запрос.УстановитьПараметр("ОсновнаяОрганизация",ОсновнаяОрганизация);
Запрос.УстановитьПараметр("Руководитель",Перечисления.ОтветственныеЛицаОрганизаций.Руководитель);
ОтветственныеЛица=Запрос.Выполнить().Выбрать();
ОтветственныеЛица.Следующий();
//Сведения о работнике
Запрос= Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| СотрудникиОрганизаций.Код КАК ТабНомер,
| СотрудникиОрганизаций.Физлицо.Наименование КАК ФИО,
| СотрудникиОрганизаций.Физлицо.ДатаРождения КАК ДатаРождения,
| СотрудникиОрганизаций.НомерДоговора КАК НомДоговора,
| СотрудникиОрганизаций.ДатаДоговора КАК ДатаДоговора,
| СотрудникиОрганизаций.ПунктДоговора КАК ПунктДоговора,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументВид,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан,
| КонтактнаяИнформация.Тип,
| КонтактнаяИнформация.Вид,
| КонтактнаяИнформация.Представление КАК АдресРаботника,
| СотрудникиОрганизаций.Физлицо,
| СотрудникиОрганизаций.Физлицо.ИНН КАК ИННР,
| СотрудникиОрганизаций.Физлицо.СтраховойНомерПФР КАК СПС,
| СотрудникиОрганизаций.Физлицо.МестоРождения КАК МестоР,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументКодПодразделения КАК КодПодр
|ИЗ
| РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних КАК ПаспортныеДанныеФизЛицСрезПоследних
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО (КонтактнаяИнформация.Объект = СотрудникиОрганизаций.Физлицо.Ссылка)
| ПО ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо = СотрудникиОрганизаций.Физлицо
|ГДЕ
| СотрудникиОрганизаций.Ссылка = &Сотрудник
| И КонтактнаяИнформация.Вид = &ВидАдреса
| И СотрудникиОрганизаций.Организация = &ОсновнаяОрганизация";
Запрос.УстановитьПараметр("ОсновнаяОрганизация",ОсновнаяОрганизация);
Запрос.УстановитьПараметр("Сотрудник",Сотрудник);
Запрос.УстановитьПараметр("ВидАдреса",Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица);
ДанныеРаботника=Запрос.Выполнить().Выбрать();
ДанныеРаботника.Следующий();
Приказ=Регистратор;
ДанныеОтчета=Новый Структура;
ДанныеОтчета.Вставить("Работник",ДанныеРаботника.ФИО);
ДанныеОтчета.Вставить("РаботникР",ОбщегоНазначенияЗК.ПредставлениеРаботника(ДанныеРаботника.Физлицо,2));
ДанныеОтчета.Вставить("ДатаРождения",Формат(ДанныеРаботника.ДатаРождения,"ДФ=dd.MM.yyyy"));
ДанныеОтчета.Вставить("Паспорт",ДанныеРаботника.ДокументСерия+" "+ДанныеРаботника.ДокументНомер);
ДанныеОтчета.Вставить("КемВыдан",СокрЛП(ДанныеРаботника.ДокументКемВыдан));
ДанныеОтчета.Вставить("КодПодр",ДанныеРаботника.КодПодр);
ДанныеОтчета.Вставить("ДатаВыдачи",Формат(ДанныеРаботника.ДокументДатаВыдачи,"ДФ=dd.MM.yyyy"));
ДанныеОтчета.Вставить("АдресРаботника",ДанныеРаботника.АдресРаботника);
ДанныеОтчета.Вставить("МестоР",РегламентированнаяОтчетность.ПредставлениеМестаРождения(ДанныеРаботника.МестоР));
ДанныеОтчета.Вставить("ИННР",ДанныеРаботника.ИННР);
ДанныеОтчета.Вставить("СПС",ДанныеРаботника.СПС);
ДанныеОтчета.Вставить("ТабНомер",Формат(ПорНомер,"ЧЦ")+"-"+Год(Приказ.Дата)+"-"+СокрЛП(ДанныеРаботника.НомДоговора)+"/");
ДанныеОтчета.Вставить("НомДоговора",СокрЛП(ДанныеРаботника.НомДоговора));
ДанныеОтчета.Вставить("ДатаДоговора",Формат(ДанныеРаботника.ДатаДоговора,"ДФ=dd.MM.yyyy"));
ДанныеОтчета.Вставить("ПунктДоговора",?(ПустаяСтрока(ДанныеРаботника.ПунктДоговора) ,"6.1", СокрЛП(ДанныеРаботника.ПунктДоговора)));
ДанныеОтчета.Вставить("НомерПриказа",Приказ.Номер);
ДанныеОтчета.Вставить("ДатаПриказа",Формат(Приказ.Дата,"ДФ=dd.MM.yyyy"));
ДанныеОтчета.Вставить("ДатаИзменения",СтрЗаменить(Формат(НачалоМесяца(Приказ.Дата),"ДЛФ=DD"),"г.",""));
ДанныеОтчета.Вставить("Размер",Размер);
ДанныеОтчета.Вставить("ИНН",СокрЛП(ОсновнаяОрганизация.ИНН));
ДанныеОтчета.Вставить("КПП",СокрЛП(ОсновнаяОрганизация.КПП));
ДанныеОтчета.Вставить("ОГРН",СокрЛП(ОсновнаяОрганизация.ОГРН));
ДанныеОтчета.Вставить("НазваниеОрганизацииКр",СокрЛП(ОсновнаяОрганизация.Наименование));
ДанныеОтчета.Вставить("НазваниеОрганизации",СокрЛП(ОсновнаяОрганизация.НаименованиеПолное));
ДанныеОтчета.Вставить("АдресОрганизацииСтроки",АдресаОрганизации.Представление);
ДанныеОтчета.Вставить("ДолжностьРуководитель",ОтветственныеЛица.Должность);
ДанныеОтчета.Вставить("Руководитель",ОтветственныеЛица.НаименованиеФизЛица);
ДанныеОтчета.Вставить("РуководительР",ОбщегоНазначенияЗК.ПредставлениеРаботника(ОтветственныеЛица.ФизическоеЛицо,2));
ДанныеОтчета.Вставить("РуководительФИО",ОбщегоНазначенияЗК.ПредставлениеРаботника(ОтветственныеЛица.ФизическоеЛицо,1));
ДанныеОтчета.Вставить("РаботникФИО",ОбщегоНазначенияЗК.ПредставлениеРаботника(ДанныеРаботника.Физлицо,1));
ДанныеОтчета.Вставить("ДокументОснование",СокрЛП(ОтветственныеЛица.ДокументОснование));
РезультатСклоненияДолжности=Падеж(ОтветственныеЛица.Должность,2,1); //Должность всегда склоняем в мужском роде
МассивСтрок = ОбщегоНазначенияЗК.РазложитьСтрокуВМассивПодстрок(РезультатСклоненияДолжности, " "); ДолжностьР=МассивСтрок[0]+" ";
Для н=1 по МассивСтрок.ВГраница() Цикл
ДолжностьР=ДолжностьР+НРег(МассивСтрок[н])+" ";
КонецЦикла;
ДанныеОтчета.Вставить("ДолжностьРуководительР",ДолжностьР);
Макет = ОтчетОбъект.ПолучитьМакет("Отчет");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Шапка");
ЗаполнитьЗначенияСвойств(ОбластьЗаголовок.Параметры, ДанныеОтчета);
ТекстСоглашения = Макет.ПолучитьОбласть("ТекстСоглашения");
ЗаполнитьЗначенияСвойств(ТекстСоглашения.Параметры, ДанныеОтчета);
Подвал = Макет.ПолучитьОбласть("Подвал");
ЗаполнитьЗначенияСвойств(Подвал.Параметры, ДанныеОтчета);
Подписи = Макет.ПолучитьОбласть("Подписи");
ЗаполнитьЗначенияСвойств(Подписи.Параметры, ДанныеОтчета);
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ТекстСоглашения);
ТабДок.Вывести(Подвал);
ТабДок.Вывести(Подписи);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецПроцедуры
ПоказатьКонфигурация: ЗУП 2.5.126.1 //В предыдущих релизах пол года назад с ним проблем не было.Все формировалось
Платформа: 8.3.10.
По теме из базы знаний
- Форма № 57-Т от 20.07.2011 для ЗУП 2.5, КА 1.1, УПП 1.3 (от 24.11.2011)
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Несколько альтернативных универсальных способов подбора ссылок при переносах данных
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) первое, что бросается в глаза:
заменить на:
ДанныеОтчета.Вставить("Паспорт", "" + ДанныеРаботника.ДокументСерия+" "+ДанныеРаботника.ДокументНомер);
ДанныеОтчета.Вставить("Паспорт",ДанныеРаботника.ДокументСерия+" "+ДанныеРаботника.ДокументНомер);
заменить на:
ДанныеОтчета.Вставить("Паспорт", "" + ДанныеРаботника.ДокументСерия+" "+ДанныеРаботника.ДокументНомер);
(1) Я бы посмотрел отладчиком с точкой останова (можно в копии поставить Попытка Исключение КонецПопытки) для какого сотрудника такая ошибка вываливается. Скорее всего, или в ДокументСерия или в ДокументНомер введены некорректные данные - например, перевод строки - и и возникает такая исключительная ситуация. Можно, конечно, через Строка() преобразовать, но это изменение конфы. Я бы лучше разобрался почему так выходит. То что раньше было все норм - это не показатель. Возможно поправили что - то в данных сотрудника, или некоррекно внесли данные по новому сотруднику (например, Ctrl-C - Ctrl-V из excel - тогда тянется перевод строки (код 13)).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот