Ошибка при формировании инвентарного номера по шаблону в БГУ 2.0
Добрый день после переноса со стандартной конфигурации БГУ 2.0 на конфигурацию БГУ 2.0 для облачной бухгалтерии государственных учреждений Пермского края (УФХД ПК) при формировании нового инвентарного номера по шаблону возникает ошибка:
Подскажите пожалуйста, как исправить. Я зык программирования 1с не знаю, в 1с в принципе новичок, а решить проблему нужно еще вчера. Заранее спасибо!
{Справочник.ИнвентарныеНомераОС.МодульМенеджера(166)}: Преобразование значения к типу Число не может быть выполнено
ШаблонПоиска = ШаблонПоиска + "[0-9]";
Вот весь код модуля где ошибка: |
---|
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область ДляВызоваИзДругихПодсистем
Функция РеквизитыНеРедактируемыеВГрупповойОбработке() Экспорт
МассивРеквизитов = Новый Массив;
МассивРеквизитов.Добавить("Код");
Возврат МассивРеквизитов;
КонецФункции
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
Результат = Новый Массив;
Результат.Добавить("Владелец");
Результат.Добавить("ОС");
Возврат Результат;
КонецФункции
// СтандартныеПодсистемы.УправлениеДоступом
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Владелец)";
КонецПроцедуры
// Конец СтандартныеПодсистемы.УправлениеДоступом
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если Параметры.Свойство("ПроверитьСоздатьИнвентарныйНомер") Тогда
Если Не ЗначениеЗаполнено(Параметры.ИнвентарныйНомер)
И Не Справочники.ИнвентарныеНомераОС.ЕстьИнвентарныйНомер(Параметры.Организация, Параметры.ОсновноеСредство) Тогда
ЗначенияРеквизитовОС = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Параметры.ОсновноеСредство, "ВидНФА");
ВидУчетаОС = Неопределено;
Если Не Параметры.Свойство("ВидУчета", ВидУчетаОС) Тогда
СчетУчетаОС = Неопределено;
Если Параметры.Свойство("СчетУчета", СчетУчетаОС) Тогда
ВидУчетаОС = УправлениеОсновнымиСредствамиКлиентСервер.ВидУчетаПоСчетуУчета(СчетУчетаОС);
КонецЕсли;
КонецЕсли;
ИнвНомераСоздаютсяТолькоВручную = ВидУчетаОС = Перечисления.ВидыУчетаНФА.Арендованные
Или ВидУчетаОС = Перечисления.ВидыУчетаНФА.НаОтветственномХранении;
Если ЗначенияРеквизитовОС.ВидНФА <> Перечисления.ВидыНФА.КапВложения И Не ИнвНомераСоздаютсяТолькоВручную Тогда
Шаблон = БухгалтерскиеОперацииПовтИсп.УчетнаяПолитикаОрганизации(Параметры.Организация, Параметры.Дата).ШаблонИнвентарныхНомеров;
Если ЗначениеЗаполнено(Шаблон) Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = Метаданные.Справочники.ИнвентарныеНомераОС.Формы.ФормаФормированиеИнвентарныхНомеров;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ИначеЕсли ВидФормы = "ФормаВыбора"
И Не Параметры.Свойство("Отбор")
И Не Параметры.Свойство("Организация")
И Не Параметры.Свойство("ОсновноеСредство") Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = Метаданные.Справочники.ИнвентарныеНомераОС.Формы.ФормаВыбораБезОтборов;
КонецЕсли;
КонецПроцедуры
#КонецЕсли
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
Если Не Данные.Ссылка.Пустая() Тогда
Представление = СокрП(Данные.Код);
СтандартнаяОбработка = Ложь;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
Функция ЕстьИнвентарныйНомер(Организация, ОсновноеСредство, ТекущийНомер = Неопределено) Экспорт
ГрупповойУчет = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОсновноеСредство, "ГрупповойУчет");
Если ГрупповойУчет Тогда
Возврат Ложь;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Организация" , Организация);
Запрос.УстановитьПараметр("ОсновноеСредство" , ОсновноеСредство);
Запрос.УстановитьПараметр("Ссылка" , ТекущийНомер);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ИнвентарныеНомераОС.Ссылка
|ИЗ
| Справочник.ИнвентарныеНомераОС КАК ИнвентарныеНомераОС
|ГДЕ
| ИнвентарныеНомераОС.Владелец = &Организация
| И ИнвентарныеНомераОС.ОС = &ОсновноеСредство";
Если ТекущийНомер <> Неопределено Тогда
Запрос.Текст = Запрос.Текст + "
| И ИнвентарныеНомераОС.Ссылка <> &Ссылка";
КонецЕсли;
Результат = Не Запрос.Выполнить().Пустой();
Возврат Результат;
КонецФункции
Функция ПоследнийНомер(Организация, ДанныеШаблона = Неопределено) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ИнвентарныеНомераОС.Код КАК Значение
|ИЗ
| Справочник.ИнвентарныеНомераОС КАК ИнвентарныеНомераОС
|ГДЕ
| ИнвентарныеНомераОС.Владелец = &Организация
| И ИнвентарныеНомераОС.Код ПОДОБНО &ШаблонПоиска
|
|УПОРЯДОЧИТЬ ПО
| Значение УБЫВ";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Организация", Организация);
Если ДанныеШаблона = Неопределено Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "И ИнвентарныеНомераОС.Код ПОДОБНО &ШаблонПоиска", "");
Иначе
Если ДанныеШаблона.БезУчетаПрефикса Тогда
ДлинаПрефикса = СтрДлина(ДанныеШаблона.Префикс);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИнвентарныеНомераОС.Код КАК Значение", "ПОДСТРОКА(ИнвентарныеНомераОС.Код, &НачальнаяПозиция, &Длина) КАК Значение");
Запрос.УстановитьПараметр("НачальнаяПозиция", ДлинаПрефикса + 1);
Запрос.УстановитьПараметр("Длина", ДанныеШаблона.ДлинаНомера);
ШаблонПоиска = Лев("______________________________", ДлинаПрефикса);
Иначе
ШаблонПоиска = ДанныеШаблона.Префикс;
КонецЕсли;
Для Сч = 1 По ДанныеШаблона.ДлинаНомера Цикл
ШаблонПоиска = ШаблонПоиска + "[0-9]";
КонецЦикла;
Для Сч = СтрДлина(ДанныеШаблона.Префикс) + ДанныеШаблона.ДлинаНомера + 1 По 30 Цикл
ШаблонПоиска = ШаблонПоиска + " "; // добиваем шаблон пробелами до полной длины кода
КонецЦикла;
Запрос.УстановитьПараметр("ШаблонПоиска", ШаблонПоиска);
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Результат = СокрП(Выборка.Значение);
Если ДанныеШаблона <> Неопределено Тогда
Результат = Прав(Результат, ДанныеШаблона.ДлинаНомера);
КонецЕсли;
Иначе
Результат = "";
КонецЕсли;
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецЕсли
Показать |
Подскажите пожалуйста, как исправить. Я зык программирования 1с не знаю, в 1с в принципе новичок, а решить проблему нужно еще вчера. Заранее спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) попробовал, появляется ошибка:
Еще хочу сказать что в стандартной версии БГУ 2.0 в справочнике Справочник.ИнвентарныеНомераОС.МодульМенеджера код такой же как в конфигурации для облачной бухгалтерии государственных учреждений Пермского края (УФХД ПК), но в нем инвентарные номера ставились без проблем.
Видимо после переноса 1с перестала видеть предыдущий номер по счетчику и не знает к чему приплюсовать единицу. На что обратить внимание, где что сравнить?
{Справочник.ОсновныеСредства.Форма.ГрупповойВвод.Форма(2217)}: Преобразование значения к типу Число не может быть выполнено
ИнвНомерКод = ДанныеИнвентарногоНомера.Префикс + Формат(
ИнвНомерКод = ДанныеИнвентарногоНомера.Префикс + Формат(
Еще хочу сказать что в стандартной версии БГУ 2.0 в справочнике Справочник.ИнвентарныеНомераОС.МодульМенеджера код такой же как в конфигурации для облачной бухгалтерии государственных учреждений Пермского края (УФХД ПК), но в нем инвентарные номера ставились без проблем.
Видимо после переноса 1с перестала видеть предыдущий номер по счетчику и не знает к чему приплюсовать единицу. На что обратить внимание, где что сравнить?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот