Преобразования значения к типу дата не может быть выполнено 1с что это

Преобразование значения к типу Дата не может быть выполнено

Доброго времени суток,
При выполнении в 1С 8.3 выдает ошибку:
Преобразование значения к типу Дата не может быть выполнено
Запрос.УстановитьПараметр(«ДатаН», НачалоДня(НВдат));

Имеется файл формата dbf я из него выгружаю данные, дата была в формате строки, я ее переделал в формат дата:
НВдатДБФ = (Лев(База.ПолучитьЗначениеПоля(«NVdat»), 10));
Год = Прав(НВдатДБФ, 4); // 2005;
Месяц1 = СтрЗаменить(НВдатДБФ, Лев(НВдатДБФ,3), «»);
Месяц = СтрЗаменить(Месяц1, Прав(Месяц1,5), «»);

День = Лев(НВдатДБФ, 2);
НВдат = Дата(Год + Месяц + День);
Я знаю что не учитываются пробелы с лева и точное время создания документа, но из строки в формат даты перевести получается и она «по идее» должна идти дальше в запрос:
Запрос = Новый Запрос(«ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.НомерВходящегоДокумента = &НомерКонтрагента
| И ПоступлениеТоваровУслуг.Контрагент = &Контрагент
| И ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаН И &ДатаК»);
Запрос.УстановитьПараметр(«НомерКонтрагента», НВход);
Запрос.УстановитьПараметр(«Контрагент», ПоискС(ИНН));
Запрос.УстановитьПараметр(«ДатаН», НачалоДня(НВдат));
Запрос.УстановитьПараметр(«ДатаК», КонецДня(НВдат));
Результат=Запрос.Выполнить();

Если Результат.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;

Выборка = Результат.Выбрать();
Выборка.Следующий();

Возврат Выборка.Ссылка.номер;
Я начинающий в 1С. Кто знает в чем ошибка? Прошу помощи исправить.

Источник

Преобразование значения к типу Число не может быть выполнено 1С 8.3 — как исправить?

При написании кода 1С или проведения бухгалтерских операций в системе 1С 8.3 и более ранних системах вы можете столкнуться с уведомлением « Преобразование значения к типу Число не может быть выполнено ». Причиной ошибки обычно является попытка программиста преобразовать в число значение, которое числовым быть не может. Ниже разберём суть данной ошибки, а также представим возможные варианты её решения.

Преобразования значения к типу дата не может быть выполнено 1с что это

Причины ошибки выполнения преобразования значения к типу Число

Обычно данная проблема возникает при запуске кода, выполнении процедуры проверки кода на ошибки или при осуществлении стандартных операцией составления отчётности в системе 1С 8.3 (и ранних системах).

В частности, ошибка фиксировалась в следующих обстоятельствах:

Давайте разберём, как устранить ошибку «Преобразование значения к типу Число не может быть выполнено» в конфигурации 1С 8.3.

Преобразования значения к типу дата не может быть выполнено 1с что это

Обновите вашу систему 1С до самой актуальной версии

Прежде чем разбирать особенности ошибок в коде 1С, рекомендуем обновить вашу 1С до самой актуальной версии. В некоторых случаях ошибка «преобразование значения к типу число» вызвана устаревшим вариантом системы, на которой специалист пытается вести отчётность. Установите наиболее актуальную версию системы, и рассматриваемая нами ошибка может исчезнуть.

Преобразования значения к типу дата не может быть выполнено 1с что это

Внимательно проверьте код на наличие переменных

В большинстве случаев рассматриваемая ошибка вызвана невнимательностью программиста, вместо числового значения указавшего не числовое, что не позволяет системе выполнить правильный подсчёт числовых значений. Рекомендуем внимательно проверить создаваемый вами код, найти место в коде вызывающее исключение (ошибку) и пофиксить его.

Преобразования значения к типу дата не может быть выполнено 1с что это

Например, в примере:

переменная B будет вести к ошибке так как её формат не позволяет системе сложить числовое значение «А» и значение в форме даты. Для решения проблемы замените B на строку: B=5 или аналогичную. В этом случае система выдаст вам корректный результат (в данном случае это будет 8).

Преобразования значения к типу дата не может быть выполнено 1с что это

Измените первый тип слагаемого на число

В некоторых случаях платформа 1С анализирует тип первого слагаемого числа, обнаруживает строку, вследствие чего может решить, что в данном коде речь идёт о сложении строк, а не необходимых программисту числах. Вследствие этого она пытается выполнить преобразование каждого слагаемого в строку, после чего объединить их как строки.

Для решения проблемы необходимо использовать скобки, позволяя системе вначале выполнить вычисление результата в скобках как суммы чисел, а уже потом преобразовать результат в строку.

К примеру, вместо ошибочной строки:

Сообщить(«Результат: » + 7 + 8 + 9);

Будет необходимо использовать строку:

Сообщить(«Результат: » + (7 + 8 + 9));

Вследствие этого вы получите ожидаемый результат в виде числе 24.

Используйте конфигуратор для нахождения исключения кода

При возникновении ошибки и соответствующего сообщения «Преобразование значения к типу Число не выполнено» в системе 1С 8.3 рекомендуем использовать конфигуратор для нахождения кода. Последний способен в режиме отладки определить и указать на ошибку.

Порядок действий в этом случае будет следующим:

Преобразования значения к типу дата не может быть выполнено 1с что это

Переиндексируйте ваши файлы

В некоторых редких случаях исправить ошибку «Преобразование значения к типу Число» может помочь переиндексация ваших файлов. Для версии 1С 8.3 стоит использовать файл chdbfl.exe, запускающий переиндексацию. Обычно данный файл находится по пути C:\Program Files (x86) \1cv8\8.3ХХХ\bin. Вместо ХХХ у вас могут находиться указатели вашей версии продукта.

Преобразования значения к типу дата не может быть выполнено 1с что это

Запустите данный файл, укажите имя файла для проверки, поставьте галочку рядом с опцией «Исправлять обнаруженные ошибки», после чего нажмите на «Выполнить внизу». Дождитесь завершения процедуры проверки и исправления, после чего вновь попробуйте выполнить необходимые операции.

Преобразования значения к типу дата не может быть выполнено 1с что этоВыполните проверку вашей базы

Используйте функцию «Есть NULL»

Если выскакивает ошибка, то иногда одна из задействуемых переменных может принимать значение NULL. Для исправления ошибки рекомендуется использовать функцию «ЕСТЬNULL» (переменная, 0), что позволит устранить рассматриваемую в статье проблему.

Преобразования значения к типу дата не может быть выполнено 1с что это

Заключение

В нашем материале мы рассмотрели причины появления уведомления «Преобразование значения к типу Число не может быть выполнено» в версии системы 1С 8.3, и как исправить возникшую проблему. Поскольку фактором ошибки обычно выступает невнимательность программиста, внимательно изучите ваш код на наличие нечисловой переменной, часто используемой в арифметическом уравнении. Замена данной переменной на числовую, а также выполнение других перечисленных нами советов поможет устранить рассмотренную нами ошибку в вашей системе.

Источник

При отправке больничного предупреждение «преобразование значения к типу дата не может быть выполнено»

Вопрос задал Татьяна Г.

Ответственный за ответ: Ирина Шаврова (★9.82/10)

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Все комментарии (3)

Добрый вечер, Татьяна!
У вас ошибка связана с тем, что при обработке программного кода из передаваемых в алгоритм 1С данных, программа получает, по всей видимости, для поля типа «Дата» значение типа NULL или Неопределено.

Поскольку ситуация повторяется с разными документами, предположу, что дело в заполнении каких-то регистров по функции, вынесенной в общий модуль 1С. В пользу этого говорит, что ошибка возникает именно при проведении документов, если я вас правильно поняла.

Ошибка Преобразование значения типа Дата не может быть выбрано говорит, что внутри базы могут быть, например, «битые» ссылки, если некорректно удаляли какие-то данные или прошло некорректно обновление.
Так часто бывает, когда обновляются нетиповые, а измененные базы 1С.

Поэтому в этом случае могу просто описать, как бы я действовала в этом случае:

1. В документе, где фиксируется ошибка, например, Больничный лист в модуле объекта нашла бы процедуру обработки проведения документа и в режиме Отладчика прошлась бы по всем строчкам выполняемого кода.

2. В месте ошибки я бы определила функцию, где регистрируется ошибка и данные на основе которых эта ошибка происходит.

3. Определив это, уже смотрела бы причину некорректной отработки кода: это «битая» ссылка или ошибка в программном коде.

Поэтому без программиста победить вам ситуацию будет сложно.
Сказать без базы где и почему возникает эта ошибка, к сожалению, невозможно.

Но что можно сейчас, в первую очередь, попробовать сделать, если программиста нет:

1. Вы можете проверить свою базу на ошибки, выполнив стандартное тестирование:
Тестирование и исправление базы 1С 8.3: какие галочки ставить
Это позволит понять, все ли хорошо у вас внутри базы.
Нет ли «битых» ссылок?
Нет ли внутренних ошибок и значений NULL и Неопределено там, где нужна информация.
Какие-то ошибки программа при этом может исправить.
Но не все!

Перед тем, как выполнять тестирование обязательно сделайте копию рабочей базы, обновление — процесс необратимый, можно испортить базу при исправлении:
Как сделать копию базы 1С 8.3

2. Если с базой все хорошо, выполните чистку кеша:
Очистка кэш 1С 8.3

Часто бывают ситуации при обновлении, когда сохраняется при работе с 1С старая информация по наиболее часто используемым функциям и процедурам в кеше. Чтобы новая информация из обновления бралась правильно, требуется кеш почистить.
Если программа работает без сбоев — таких ситуаций не возникает… но сбои часто случаются (даже мигнул свет — просто перепад электричества!), поэтому от этого никто не застрахован.

Если перечисленные выше действия не помогли — нужно обращаться к программисту, который в режиме Отладчик установит место в программном коде и причину ошибки.

Вы можете задать еще вопросов

Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8

Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>

Преобразования значения к типу дата не может быть выполнено 1с что это

Хочу добавить еще комментарий. Я слушала семинар рядом была мама ей 82 года, сказала как хорошо рассказывает лектор, повторяет, все понятно)))

Вы можете задать еще вопросов

Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8

Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>

Источник

Преобразование значения к типу Дата не может быть выполнено

Ошибка:
Преобразование значения к типу Дата не может быть выполнено
<ВнешняяОбработка.ШаблонОбрабткиСЗапускомПоРасписанию.Модуль Объекта(60)>: Преобразование значения к типу Дата не может быть выполнено
ПослАкт=ДобавитьМесяц(Период,12);

Ошибку выделил красным цветом.

Внутренняя ошибка «Преобразование значения к типу Дата не может быть выполнено»
1С.8.2 / При загрузке Выписки из казначейства в Документ Кассовые выбытия происходит ошибка, на.

Преобразование значения к типу Число не может быть выполнено
Процедура КоманднаяПанельТабличногоДокументаСохранить(Кнопка) ДиалогВыбораФайла = Новый.

Преобразование значения к типу число не может быть выполнено (1с 8.3)
В документе, если цену указываешь в ручную, то всё работает, если ссылаешься на справочник, либо на.

Преобразование значения к типу Число не может быть выполнено
Здраствуйте выполнял работу по книжке. В конфигураторе всё настроено правильно,написал код кнопки.

Добавлено через 7 минут
Понял. ЕстьNULL у вас присутствует, потому что по карте могло не быть продаж. Тогда надо ставить какое-то условие проверки на 0 перед

polax, что если там несколько одинаковых дат. И как мне записать на выборку первого!?

Добавлено через 1 минуту
LIDENBROCK, Уберете и как определите период?

Добавлено через 39 секунд

Все, уезжаю на работу вызвали )))

Преобразование значения к типу Число не может быть выполнено
Подскажите, пожалуйста, ругается программа на попытку вывести сообщение. Ругается так.

Преобразование значения к типу Булево не может быть выполнено
Подскажите в чем проблема, и как ее решить При начислении заработной платы, когда нажимаю.

Преобразование значения к типу Число не может быть выполнено
Помогите пожалуйста не могу понять в чем проблема, выбивает ошибку «Преобразование значения к типу.

Источник

Программирование в 1С для всех

Разберем основные вопросы преобразования типов в 1С 8.3: из строки в число, из числа в строку, из даты в число и прочие варианты. В этой статье мы рассмотрим функции преобразования значений, и я соберу в едино все варианты преобразования примитивных типов.

Строка в число в 1С

Узнаем, как в 1С 8.3 преобразовать строку в число.

Пусть, у нас есть числа в таком виде.

Для того, чтобы выполнить преобразование этих строк в число, необходимо воспользоваться методом Число. Этот метод преобразует параметр в число.

Обратите внимание, что разделять дробную часть можно в строке как при помощи символа точка «.», так и при помощи символа запятая «,». Если перед каким-то числом в строке стоят нули, то они отсекаются. У нас будет следующий результат.

Преобразования значения к типу дата не может быть выполнено 1с что это

Число в строку в 1С

Рассмотрим обратную задачу, когда в 1С 8.3 нужно преобразовать число в строку. Самый простой вариант использовать метод Строка, который преобразует собственный параметр в строку.

И какой результат возвращает этот код:

Преобразования значения к типу дата не может быть выполнено 1с что это

У этого способа имеется недостаток: он ставит пробелы между разрядами у длинных чисел. Для того, чтобы в 1С преобразовать число в строку без пробелов нужно воспользоваться функцией Формат. Данная функция имеет два параметра: преобразуемое значение и форматную строку. Если нам нужно указать, что число преобразуется в строку без пробелов в разряде, то необходимо указать в форматной строке, что порядок разделения группировки разрядов числа или равен 0, или пустой.

Результат будет без разрядов:

Преобразования значения к типу дата не может быть выполнено 1с что это

Строка в дату 1С

Подробнее о форматах дат читайте в этой статье: даты в 1С.

Преобразования значения к типу дата не может быть выполнено 1с что это

Если мы зададим дату в не верном формате, то преобразование не произойдет и возникнет ошибка «Преобразование значения к типу Дата не может быть выполнено».

Преобразования значения к типу дата не может быть выполнено 1с что это

Дата в строку в 1С

Преобразовать дату в строку можно несколькими способами. Первый способ: воспользоваться уже знакомым нам методом Строка.

В этом случае у нас выйдет строка в обычном «полном» формате даты.

Преобразования значения к типу дата не может быть выполнено 1с что это

А чтобы получить дату в том формате, в каком нам нужно, необходимо воспользоваться методом Формат.

Мы изменим предыдущий код, написав вместо метода Строка метод Формат, а в качестве второго параметра у метода Формат напишем просто две кавычки.

После нужно между кавычками поставить курсор, вызвать контекстное меню, и применить в нем команду Конструктор форматной строки.

Преобразования значения к типу дата не может быть выполнено 1с что это

В этом конструкторе на закладке Дата вы можете выбрать удобный вам формат даты.

Преобразования значения к типу дата не может быть выполнено 1с что это

И после нажатия кнопки ОК этого конструктора, нужный формат появится в виде строки.

В результате метода Формат, дата будет преобразована в строку в том виде, в каком нам необходимо.

Преобразования значения к типу дата не может быть выполнено 1с что это

Строка в булево в 1С

При помощи метода Булево мы можем некоторые строковые представления (Да, Нет, Истина, Ложь) преобразовывать в значения Истина или Ложь.

Например, следующие переменные:

Будут иметь такие значения:

Преобразования значения к типу дата не может быть выполнено 1с что это

Булево в строку в 1С

Разберем, как в 1С можно выразить тип булево строкой. Булево значение можно преобразовать в строку несколькими способами. Во-первых, можно просто воспользоваться методом Строка.

Например, как здесь:

У нас будет выходить следующий результат:

Преобразования значения к типу дата не может быть выполнено 1с что это

В этом случае, булево в строку преобразовалось согласно региональным установкам информационной базы.

Если мы, как-то по-другому хотим преобразовать булево в строку, то можно воспользоваться уже знакомым нам методом Формат.

Переделаем, предыдущий код:

Знакомым способом вызовем конструктор форматной строки, где на закладке Булево введем преставление значений Истина и Ложь.

Преобразования значения к типу дата не может быть выполнено 1с что это

После нажатия кнопки ОК конструктора, второй параметр метода Формат заполнится:

И будет следующий результат:

Преобразования значения к типу дата не может быть выполнено 1с что это

Число в булево в 1С

В 1С 8.3. мы можем преобразовать любое число в булево по следующему правилу: 0 будет преобразован в Ложь, все остальные значения в Истина.

Будет следующий результат:

Преобразования значения к типу дата не может быть выполнено 1с что это

Булево в число в 1С

Можно сделать и обратное преобразование. Булево значение в число.

Для этого нужно воспользоваться методом Число, где в качестве параметра указать булево значение. Тогда Истина будет преобразована в 1С, а Ложь – в 0.

Например, как в этом коде:

С таким результатом:

Преобразования значения к типу дата не может быть выполнено 1с что это

Статьи о примитивных типах в 1С:

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Преобразования значения к типу дата не может быть выполнено 1с что это

Книга написана понятным и простым языком — для новичка.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Преобразования значения к типу дата не может быть выполнено 1с что это

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

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

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