Ошибка "Преобразование значения к типу дата не может быть выполнено"
Добрый вечер. Сам не программист — больше бухгалтер.
До сегодняшнего дня всё работало отлично. Но при загрузке выписки из Клиент-Банка невозможно провести один документ списания.
Вылетает ошибка: "Преобразование значения к типу дата не может быть выполнено" и кнопка закрыть.
В отладчике следующий код:
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
Преобразование значения к типу Дата не может быть выполнено
<ОбщийМодуль.УчетНДФЛ.Модуль(14858)>: Запрос.УстановитьПараметр("ДатаОперации", КонецДня(ДатаБлижайшегоПлатежа));
<ОбщийМодуль.УчетНДФЛ.Модуль(7485)>: СтрокиРаспределения = РаспределитьПеречисленныйНалогПоФизическимЛицам(Ссылка, Организация, ДатаОперации, СтрокаДанных.Сумма, СтрокаДанных.МесяцНалоговогоПериода, РегистрацияВНалоговомОргане, ФизическиеЛица);
<ОбщийМодуль.УчетНДФЛ.Модуль(202)>: СформироватьПеречисленныйНалогПоФизическимЛицам(Ссылка, Движения, Отказ, Организация, ДатаОперации, ФизическиеЛица, РегистрацияВНалоговомОргане, Записывать);
<ОбщийМодуль.УчетЗарплаты.Модуль(5933)>: УчетНДФЛ.СформироватьПеречисленныйНалог(
<Документ.СписаниеСРасчетногоСчета.МодульОбъекта(507)>: УчетЗарплаты.СформироватьДвиженияПоНалогамИВзносамСФОТ(ПараметрыПроведения.Реквизиты,
Из самых простых вариантов — обновить конфигурацию. Есть вероятность, что ошибка исчезнет. Либо может кто-то сталкивался с подобным? Можно ли победить без правки конфигурации?
При отправке больничного предупреждение «преобразование значения к типу дата не может быть выполнено»
Организация сдала все документы по больничному листу по беременности и родам с 24.04.2020 по 10.09.2020, получили номер ЭЛН от 28.04.2020, но расчет больничного ФСС не видят. Начисления все в комплексной автоматизации 1.1 и данные за 2018 и 2019 меняем по заявлению застрахованного лица на 2015 и 2016, но нет обмена с ФСС, Начисляем в бухгалтерии 3,0 . Справка для расчета пособий вводилась, но не увидили в больничном листе данных. в программе в основном гос.пособия за 2019-2020, несколько часов — оплата по часам.
Провели больничный лист, появляется предупреждение «преобразование значения к типу дата не может быть выбрано» и выдает при любом запросе. А также включали используется пилотный проект, чтобы заполнить заявление сотрудника на выплату пособия, создавали новый больничный лист. ситуация не изменилась. в реестре ЭЛН для отправки в ФСС такое же предупреждение «преобразование значения к типу дата не может быть выбрано». Как отправить страхователю в ФСС расчет больничного листа по беременности и родам?
Обсуждение (3)
Приложение
Добрый вечер, Татьяна!
У вас ошибка связана с тем, что при обработке программного кода из передаваемых в алгоритм 1С данных, программа получает, по всей видимости, для поля типа «Дата» значение типа NULL или Неопределено.
Поскольку ситуация повторяется с разными документами, предположу, что дело в заполнении каких-то регистров по функции, вынесенной в общий модуль 1С. В пользу этого говорит, что ошибка возникает именно при проведении документов, если я вас правильно поняла.
Ошибка Преобразование значения типа Дата не может быть выбрано говорит, что внутри базы могут быть, например, «битые» ссылки, если некорректно удаляли какие-то данные или прошло некорректно обновление.
Так часто бывает, когда обновляются нетиповые, а измененные базы 1С.
Поэтому в этом случае могу просто описать, как бы я действовала в этом случае:
1. В документе, где фиксируется ошибка, например, Больничный лист в модуле объекта нашла бы процедуру обработки проведения документа и в режиме Отладчика прошлась бы по всем строчкам выполняемого кода.
2. В месте ошибки я бы определила функцию, где регистрируется ошибка и данные на основе которых эта ошибка происходит.
3. Определив это, уже смотрела бы причину некорректной отработки кода: это «битая» ссылка или ошибка в программном коде.
Поэтому без программиста победить вам ситуацию будет сложно.
Сказать без базы где и почему возникает эта ошибка, к сожалению, невозможно.
Но что можно сейчас, в первую очередь, попробовать сделать, если программиста нет:
1. Вы можете проверить свою базу на ошибки, выполнив стандартное тестирование:
Тестирование и исправление базы 1С 8.3: какие галочки ставить
Это позволит понять, все ли хорошо у вас внутри базы.
Нет ли «битых» ссылок?
Нет ли внутренних ошибок и значений NULL и Неопределено там, где нужна информация.
Какие-то ошибки программа при этом может исправить.
Но не все!
Перед тем, как выполнять тестирование обязательно сделайте копию рабочей базы, обновление — процесс необратимый, можно испортить базу при исправлении:
Как сделать копию базы 1С 8.3
2. Если с базой все хорошо, выполните чистку кеша:
Очистка кэш 1С 8.3
Часто бывают ситуации при обновлении, когда сохраняется при работе с 1С старая информация по наиболее часто используемым функциям и процедурам в кеше. Чтобы новая информация из обновления бралась правильно, требуется кеш почистить.
Если программа работает без сбоев — таких ситуаций не возникает… но сбои часто случаются (даже мигнул свет — просто перепад электричества!), поэтому от этого никто не застрахован.
Если перечисленные выше действия не помогли — нужно обращаться к программисту, который в режиме Отладчик установит место в программном коде и причину ошибки.
Преобразование типов в 1С
Разберем основные вопросы преобразования типов в 1С 8.3: из строки в число, из числа в строку, из даты в число и прочие варианты. В этой статье мы рассмотрим функции преобразования значений, и я соберу в едино все варианты преобразования примитивных типов.
Строка в число в 1С
Узнаем, как в 1С 8.3 преобразовать строку в число.
Пусть, у нас есть числа в таком виде.
Для того, чтобы выполнить преобразование этих строк в число, необходимо воспользоваться методом Число. Этот метод преобразует параметр в число.
Обратите внимание, что разделять дробную часть можно в строке как при помощи символа точка «.», так и при помощи символа запятая «,». Если перед каким-то числом в строке стоят нули, то они отсекаются. У нас будет следующий результат.
Число в строку в 1С
Рассмотрим обратную задачу, когда в 1С 8.3 нужно преобразовать число в строку. Самый простой вариант использовать метод Строка, который преобразует собственный параметр в строку.
И какой результат возвращает этот код:
У этого способа имеется недостаток: он ставит пробелы между разрядами у длинных чисел. Для того, чтобы в 1С преобразовать число в строку без пробелов нужно воспользоваться функцией Формат. Данная функция имеет два параметра: преобразуемое значение и форматную строку. Если нам нужно указать, что число преобразуется в строку без пробелов в разряде, то необходимо указать в форматной строке, что порядок разделения группировки разрядов числа или равен 0, или пустой.
Результат будет без разрядов:
Строка в дату 1С
Узнаем, как преобразовать в 1С 8.3 строку в дату. Для этого необходимо использовать метод Дата, который преобразует параметр (в том числе строку ) в дату . Причем, замечу, что строка должна быть задана в таком формате «ГГГГММДДЧЧММСС».
Подробнее о форматах дат читайте в этой статье: даты в 1С.
Если мы зададим дату в не верном формате, то преобразование не произойдет и возникнет ошибка «Преобразование значения к типу Дата не может быть выполнено».
Например, этот код:
Приведет к ошибке:
Дата в строку в 1С
Преобразовать дату в строку можно несколькими способами. Первый способ: воспользоваться уже знакомым нам методом Строка.
В этом случае у нас выйдет строка в обычном «полном» формате даты.
А чтобы получить дату в том формате, в каком нам нужно, необходимо воспользоваться методом Формат.
Форматов дат может быть великое множество ,все я разбирать в этой статье не буду, покажу только как можно быстро воспользоваться этой функцией.
Мы изменим предыдущий код, написав вместо метода Строка метод Формат, а в качестве второго параметра у метода Формат напишем просто две кавычки.
После нужно между кавычками поставить курсор, вызвать контекстное меню, и применить в нем команду Конструктор форматной строки.
В этом конструкторе на закладке Дата вы можете выбрать удобный вам формат даты.
И после нажатия кнопки ОК этого конструктора, нужный формат появится в виде строки.
В результате метода Формат, дата будет преобразована в строку в том виде, в каком нам необходимо.
Строка в булево в 1С
При помощи метода Булево мы можем некоторые строковые представления (Да, Нет, Истина, Ложь) преобразовывать в значения Истина или Ложь.
Например, следующие переменные:
Будут иметь такие значения:
Булево в строку в 1С
Разберем, как в 1С можно выразить тип булево строкой. Булево значение можно преобразовать в строку несколькими способами. Во-первых, можно просто воспользоваться методом Строка.
Например, как здесь:
У нас будет выходить следующий результат:
В этом случае, булево в строку преобразовалось согласно региональным установкам информационной базы.
Если мы, как-то по-другому хотим преобразовать булево в строку, то можно воспользоваться уже знакомым нам методом Формат.
Переделаем, предыдущий код:
Знакомым способом вызовем конструктор форматной строки, где на закладке Булево введем преставление значений Истина и Ложь.
После нажатия кнопки ОК конструктора, второй параметр метода Формат заполнится:
И будет следующий результат:
Число в булево в 1С
В 1С 8.3. мы можем преобразовать любое число в булево по следующему правилу: 0 будет преобразован в Ложь, все остальные значения в Истина.
Будет следующий результат:
Булево в число в 1С
Можно сделать и обратное преобразование. Булево значение в число.
Для этого нужно воспользоваться методом Число, где в качестве параметра указать булево значение. Тогда Истина будет преобразована в 1С, а Ложь – в 0.
Например, как в этом коде:
С таким результатом:
Статьи о примитивных типах в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Внутренняя ошибка "Преобразование значения к типу Дата не может быть выполнено"
Преобразование значения к типу Дата не может быть выполнено
Ошибка: Преобразование значения к типу Дата не может быть выполнено.
1с ошибка Преобразование значения к типу Число не может быть выполнено
Всем привет! Учусь 1с по книге Радченко "Практическое пособие разработчика". Застрял на примере.
Преобразование значения к типу Число не может быть выполнено
Подскажите, пожалуйста, ругается программа на попытку вывести сообщение. Ругается так.
Преобразование значения к типу Булево не может быть выполнено
Подскажите в чем проблема, и как ее решить При начислении заработной платы, когда нажимаю.