Ошибка 1С: Преобразование значения к типу Число не может быть выполнено 1С
Чаще всего ошибка «Преобразование значения к типу Число не может быть выполнено» выскакивает из-за невнимательности программиста. В одной из переменных указывается не числовое значение, что и приводит к несоответствию.
Например, правильный код будет выглядеть следующим образом:
Программа вернёт значение 7.
Программа выдаст ошибку.
Исключение возможно только в случае, когда в строке указаны только числа, например:
Результат отобразится корректно – 8. Но если пункты a и b поменять местами, программа выдаст результат «35», так как при вычислении тип чисел выбирается по первому пункту.
На месте переменной всегда должно стоять число, то есть значение, предназначенное для арифметических вычислений. Любые другие данные на этой позиции (NULL неопределенно, индекс почты, дата, ИНН и т. д.) приведут к ошибке.
Причины возникновения конфликта
Ситуации, в которых ошибка «Преобразование значения к типу Число не может быть выполнено» возникает чаще всего:
- В проводке не указано числовое значение. Некоторые думают, что по умолчанию это число «0». Даже если это так, значение должно быть прописано;
- Двойное обозначение единиц исчисления. Например, RUB и руб. Нужно использовать одно из обозначений, а если используются оба, необходимо указывать к ним одинаковые ставки и коэффициенты, чтобы не возникало конфликта;
- В программе указывается одна из операций в двух разных направлениях. Допустим, производится начисление налога и перечисление его по банку. Для решения проблемы нужно убрать одну из проводок (ошибка встречается только на 8-ой версии программы).
Решение проблемы
Если возникает подобная ошибка, требуется найти исключение кода, которое не соответствует числовому значению. Для этих целей лучше всего подходит конфигуратор 1С, который в режиме отладки сам указывает на места с ошибками. Порядок действий:
- Запустить конфигуратор;
- В настройках установить галочку «Останов по ошибке» (по окончании работы её необходимо будет убрать);
- Нажать на F5 (откроется 1С);
- Выполнить операции, которые привели к ошибке – программа укажет на строчку, в которой введён некорректный код;
- Затем необходимо найти в этой строчке ошибку.
В некоторых случаях помогает переиндексация файлов:
- На 7-ой версии 1С для этого требуется удалить cdx-файлы;
- На 8-ой версии – файл chdbfl.exe
Конфликт 7-ой и 8-ой версии
Ошибка «Преобразование значения к типу Число не может быть выполнено» часто выскакивает на 8-ой версии там, где на 7-ой никакого конфликта не регистрировалось. Один из примеров:
В свойствах базы указывается развёрнутое сальдо, в том числе и по счёту 68.10. Когда в учёте наступает очередь этого счёта – появляется ошибка (на 8-ой версии). Для решения проблемы есть два пути:
- Необходимо удалить из развёрнутого сальдо счёт 68.10 (это не совсем удобно, так как дебетные и кредитные налоги начинают учитываться вместе, что не является верным);
- Свернуть всю базу (в дополнительных настройках нужно поставить галочку «выводить забалансовые счета»). С установленной галкой ошибка не выскакивает.
Часто найти точную причину вывода ошибки может только программист. При работе с объемными базами разного рода ошибки не редкость, но исправлять их надо правильно, чтобы не были потеряны данные.
Разберем основные вопросы преобразования типов в 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С Бухгалтерия 8.2 (версия 3.0) при попытке сформировать Книгу учёта доходов и расходов. Подскажите, пожалуйста, где кроется ошибка?
Сообщение от trud-consalting
Такое сообщение выдаёт 1С Бухгалтерия 8.2 (версия 3.0) при попытке сформировать Книгу учёта доходов и расходов. Подскажите, пожалуйста, где кроется ошибка?
- Просмотр профиля
- Сообщения форума
- Блог
- Просмотр профиля
- Сообщения форума
- Блог
Обновление не поможет. Отладчик тоже вряд ли что-то прояснит.
Столкнулась с этой ошибкой уже давно при формировании ОСВ.
Вот моё обращение в техподдержку:
Прошу Вас смоделировать на демо-версии следующую ситуацию.
1. Создать новое предприятие без начальных остатков по счёту 68
2. Ввести простейшую операцию БУ НУ начисления налога, например, 91.2 68.10 6000 руб
3. Ввести операцию списания с расчётного счёта этого налога 68.10 51 6000 руб
4. Сформировать ОСВ, выставив в её настройках развернутое сальдо по счёту 68 по субсчетам
«Преобразование значения к типу Число не может быть выполнено»
ОСВ сформируется без ошибок если:
1) сумма начисления будет отлична от суммы перечисления хотя бы на копейку
2) есть начальные остатки по счёту 68 (причём по любому 68-му, совершенно не обязательно по 68.10)
3) в развернутом сальдо не стоит галочка 68 по субсчетам.
Пожалуйста, помогите исправить ошибку. Очень мешает в работе.
Ответ — «указанная ошибка не проявляется».
Проблема актуальна до сих пор. Перекопала инфостарт, перепробовала кучу вариантов. Пока спасаюсь бубном с переустановкой галочек по субконто в развёртываемых счетах. Помогает не всегда.
Если кто-то сталкивался и нашёл решение — присоединяюсь к ТС.
1С:Предприятие 8.2 (8.2.18.109)
Бухгалтерия предприятия, редакция 3.0 (3.0.24.11)
Содержание
- 1 Причина ошибки Преобразование значения к типу Число не может быть выполнено
- 2 Решение Преобразование значения к типу Число не может быть выполнено
- 2.1 Неявное преобразование типов
- 2.2 Явное преобразование типов
- 3 Дополнительные сведения
- 4 Get expert help now
Очень часто начинающие программисты 1С 8.3 встречаются с этой проблемой. Рассмотрим причины возникновения ошибки Преобразование значения к типу Число не может быть выполнено и методы её решения.
Причина ошибки Преобразование значения к типу Число не может быть выполнено
Причина достаточно банальна. Обычно при каком-либо арифметическом действии над переменными числового типа система ожидает увидеть в этом действии два значения числового типа, например:
Система, естественно, верно отработает это выражение и вернет 4.
Существуют ситуации, в которых в таких простых случаях в переменных оказывается не число, а, например, строка, NULL неопределено, дата и др.
Вот такой пример обязательно выдаст ошибку Преобразование значения к типу Число не может быть выполнено:
Потому как платформа не может сложить значения типа число и значения типа дата.
Единственное исключение — сложения со строкой, в которой содержатся только цифры:
Получите 267 видеоуроков по 1С бесплатно:
Система выдаст результат 4, однако, если поменять слагаемые местами, система выдаст строковые «22», т.к 1С 8 выбирает тип по первому в выражению значению.
Решение Преобразование значения к типу Число не может быть выполнено
Для решения необходимо найти место в коде, в котором вызывается исключение, и исправить его.
В качестве решения рекомендую использовать дополнительные проверки. Например, на тип переменных:
Очень распространенная ошибка — это получение NULL в запросе и использование его в арифметических выражениях:
Здесь в строке Сч = Сч + Выборка.КоличествоОборот вполне вероятно появление данной ошибки в случае получения в качестве значения NULL.
Чтобы избежать данной ошибки, достаточно использовать проверку на NULL ресурсов в запросе:
Если в значении будет значение NULL, то система заменит его на ноль, тем самым ошибка будет исправлена.
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Программирование системы 15.08.2016 10:22 8131
В 1С:Предприятии при создании перемененных не нужно определять тип её значения. В других языках программирования типа C# или C++ при создании переменных необходимо сразу определять тип значения. Так как в 1С нет строгой типизации переменных, то в одну и туже переменную можно записывать значения разного типа.
Но при выполнении соединения строк или арифметических действий система 1С все равно будет пытаться приводить значения к необходимому типу. Например, при использовании оператора сложения все параметры сложения будут приведены к типу самого первого параметра.
Неявное преобразование типов
Неявное преобразование типов переменных возникает когда над переменными выполняется какие либо действия: сложение, вычитание, соединение строк, и т.д.
Явное преобразование типов
Для преобразования типов значений в 1С предназначены специальные функции: Число(), Строка(), Дата().
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
В некоторых случаях даты могут быть отформатированы и храниться в ячейках в виде текста. Например, возможно, вы ввели дату в ячейку, отформатированную как текст, или данные были импортированы или вставлены из внешнего источника данных в виде текста.
Даты, отформатированные как текст, выравниваются по левому краю в ячейке (вместо выравнивания по правому краю). Если включена Проверка ошибок , Текстовая дата с двумя цифрами года также может помечаться индикатором ошибки: .
Поскольку функция проверки ошибок в Excel распознает даты в текстовом формате с двузначным номером года, можно воспользоваться средством автозамены и преобразовать их в даты в формате даты. С помощью функции ДАТАЗНАЧ можно преобразовывать в даты большинство типов текстовых дат.
Если вы импортируете данные в Excel из другого источника или вводите даты с двумя цифрами года в ячейки, которые ранее были отформатированы как текст, в левом верхнем углу ячейки может появиться маленький зеленый треугольник. Этот индикатор ошибки указывает на то, что дата хранится в текстовом формате, как показано в данном примере.
Вы можете использовать индикатор ошибки для преобразования дат из текстового формата в формат даты.
Примечания: Сначала убедитесь в том, что в Excel включена проверка ошибок. Для этого:
Щелкните Файл > Параметры > Формулы.
В Excel 2007 нажмите кнопку Microsoft Office и выберите Параметры ExcelExcel 2007 формулы.
При проверке ошибокустановите флажок Включить фоновую проверку ошибок. Все найденные ошибки помечаются треугольником в левом верхнем углу ячейки.
В разделе правила проверки ошибоквыделите ячейки, которые содержат годы, представленные 2 цифрами.
Выполните указанные ниже действия, чтобы преобразовать дату в текстовом формате в обычную дату.
Выделите ячейку или диапазон смежных ячеек с индикатором ошибки в верхнем левом углу. Дополнительные сведения можно найти в разделе выделение ячеек, диапазонов, строк и столбцов на листе.
Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.
Нажмите появившуюся рядом с выделенной ячейкой кнопку ошибки.
В меню выберите команду Преобразовать XX в 20XX или Преобразовать XX в 19XX. Если вы хотите отключить индикатор ошибки, не преобразуя число, нажмите кнопку пропустить ошибку.
Текстовые даты с двумя цифрами года преобразуются в стандартные даты с четырьмя цифрами года.
После преобразования ячеек с текстовыми значениями можно изменить внешний вид дат путем применения формата даты.
Если на листе есть даты, которые, возможно, были импортированы или вставлены так, как показано на рисунке ниже, вам, возможно, потребуется переформатировать их так, чтобы они выводились в виде коротких или длинных дат. Формат даты также будет более полезен, если вы хотите отфильтровать, отсортировать или использовать его в вычислениях дат.
Выделите ячейку, диапазон ячеек или столбец, которые нужно переформатировать.
Нажмите кнопку числовой формат и выберите нужный формат даты.
Краткий формат даты выглядит следующим образом:
В длинный формат даты содержатся дополнительные сведения, как показано на рисунке:
Чтобы преобразовать текстовую дату в ячейку в серийный номер, используйте функцию ДАТАЗНАЧ. Затем скопируйте формулу, выделите ячейки, содержащие текстовые даты, и используйте команду Специальная Вставка , чтобы применить к ним формат даты.
Выполните указанные ниже действия:
Выберите пустую ячейку и убедитесь в том, что ее числовой формат является общим.
В пустой ячейке сделайте следующее.
Щелкните ячейку, содержащую дату в текстовом формате, которую следует преобразовать.
Нажмите клавишу ВВОД, и функция ДАТАЗНАЧ возвращает порядковый номер даты, представленной текстовым форматом даты.
Что такое серийный номер Excel?
В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900 г. является порядковым числом 1, а 1 января 2008 — порядковый номер 39448, так как он составляет 39 448 дня после 1 января, 1900.To скопировать формулу преобразования в диапазон смежных ячеек, выделите ячейку, содержащую введенную формулу. , а затем перетащите маркер заполнения по диапазону пустых ячеек, который соответствует размеру диапазона ячеек, содержащих текстовые даты.
В результате получится диапазон ячеек с порядковыми номерами, который соответствует диапазону ячеек с датами в текстовом формате.
Выделите ячейку или диапазон ячеек, которые содержат серийные номера, а затем на вкладке Главная в группе буфер обмена нажмите кнопку Копировать.
Сочетание клавиш: Кроме того, можно нажать клавиши CTRL + C.
Выделите ячейку или диапазон ячеек, которые содержат даты в текстовом формате, и на вкладке Главная в группе Буфер обмена нажмите стрелку под кнопкой Вставить и выберите команду Специальная вставка.
В диалоговом окне Специальная вставка в разделе Вставить выберите параметр Значения и нажмите кнопку ОК.
На вкладке Главная нажмите кнопку вызова всплывающего окна рядом с полем число.
В поле Категория выберите пункт Дата, после чего укажите необходимый формат даты в списке Тип.
Чтобы удалить серийные номера после того, как все даты будут успешно преобразованы, выделите ячейки, содержащие их, а затем нажмите клавишу DELETE.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Get expert help now
Don’t have time to figure this out? Our expert partners at Excelchat can do it for you, 24/7.
1 / 1 / 0 Регистрация: 16.10.2012 Сообщений: 37 |
|
1 |
|
1C 8.x Внутренняя ошибка «Преобразование значения к типу Дата не может быть выполнено»06.11.2012, 13:26. Показов 60641. Ответов 4
1С.8.2 / При загрузке Выписки из казначейства в Документ Кассовые выбытия происходит ошибка, на прошлой неделе было нормально все!
__________________
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
06.11.2012, 14:23 |
2 |
Преобразование значения к типу Дата не может быть выполнено Что там вместо даты теперь? Время инноваций как-никак. Скоординируйте формат у авторов источника.
0 |
1 / 1 / 0 Регистрация: 16.10.2012 Сообщений: 37 |
|
06.11.2012, 15:19 [ТС] |
3 |
Что там вместо даты теперь? Время инноваций как-никак. Скоординируйте формат у авторов источника. Все исправили, проблемма была в нумерации, но не понятно почему он на дату ругался!
0 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
06.11.2012, 17:29 |
4 |
проблемма была в нумерации, Если в нумерации колонок (полей), тогда логично. Если в нумерации документов, тоже можно смоделировать целый ряд вызывающих подобную фичу ситуаций, как правило, связанных с синхронизацией объектов, но это надо смотреть модуль импорта.
0 |
1 / 1 / 0 Регистрация: 16.10.2012 Сообщений: 37 |
|
06.11.2012, 22:27 [ТС] |
5 |
Если в нумерации колонок (полей), тогда логично. Если в нумерации документов, тоже можно смоделировать целый ряд вызывающих подобную фичу ситуаций, как правило, связанных с синхронизацией объектов, но это надо смотреть модуль импорта. нумерация документов кривая была!
1 |
Доброго времени суток, При выполнении в 1С 8.3 выдает ошибку: Преобразование значения к типу Дата не может быть выполнено Имеется файл формата dbf я из него выгружаю данные, дата была в формате строки, я ее переделал в формат дата: Я знаю что не учитываются пробелы с лева и точное время создания документа, но из строки в формат даты перевести получается и она «по идее» должна идти дальше в запрос: Я начинающий в 1С. Кто знает в чем ошибка? Прошу помощи исправить.
Остановись отладчиком, посмотри, что возвращает.
очередная жертва неразрывного пробела…
НВдат принимает значение 13.08.2015 0:00:00
значит «гуляют» либо число либо месяц… больно они вырубаются топорно…
Пробела между датой и временем? имеете ввиду что они не на своих местах?
вот бы ХБасе умел даты датами говорить…
у тебя отладчик есть… а в нем «останавливаться по ошибке» что гадать сидеть
Дело в том что там формат строки, и он в дату переводится только как в
Вариант синтаксиса: По составляющим Синтаксис: Дата(<Год>, <Месяц>, <День>, <Час>, <Минута>, <Секунда>)
Я писал что я начинающий 2 недели работаю с 1С. Еслиб мог давно бы сам решил проблему)
а образованиев для того, чтобы понять, что в переменной хрень, не хватает?
Хм… тоесть мне надо перевернуть дату? у меня 13.08.2015 0:00:00
тебе надо понять, как три строки сделать датой
«2 недели работаю с 1С», прикольно, когда уволят, контакты работодателя сюда запости, чтоб народ понимал, что разгребать надо.
он уже все сделал: НВдат = Дата(Год + Месяц + День); не сношайте мозг ребенку
ну тогда поздравим товарища. я всегда через запятую делал
Благодарю за оптимизацию)
просто из за костылестроения вместо адекватной строки получается мусор
Тут хоть и костыль, но рабочий. А вот подходит ли формат моей даты для функции НачалоДня
если он всегда «ГГГГ» + «ММ» + «ДД» с ведущими нулями (т.е. март = «05», а первое число = «01») — то подходит
НачалоДня(13.08.2015 0:00:00)
лучше как в Дата(Число(Год), Число(Месяц), Число(День))
13.08.2015 0:00:00 — это строка такая? или дата?
Переделал, результат тот же
где-то автор свистит… или смотрит не туда
в конце запроса переменная принимает другое значение = 7446029151, а вот почему я еще не понял
Год=2015 Месяц=08 День=13
То есть не в конце а когда доходит до строки НачалоДня
на какой строке изменяется?
Запрос.УстановитьПараметр(«ДатаН», НачалоДня(НВдат));
нет вру где то в другом месте пойду искать…
Не подскажете как правильно условие составить на останов отладчика, мне надо остановить когда НВдат<> 13.08.2015 0:00:00, множно <> Дата типу даты или ваши варианты)
ТипЗнч(НВдат)<>Тип(«Дата»)
не надо тебе никаких условий — галку ставь «останавливаться по ошибке» — сам встанет
зы… если функция серверная и — не встанет без -debug
ну он мне останавливает когда уже НВдата изменил значение, я пытаюсь вычислить где он его меняет
я понял в чем проблема, ИНН поменялся значениями с НВдат, только немогу найти где именно поменялся…
переименуй, назови ГринписДат
Переименовал, но значения поменялись все равно…
эх, придумали бы уже какую-нибудь штуку с пошаговым выполнением кода и возможностью просмотра значений переменных…
зачем? все равно никто не будет пользоваться. хрень какая то.
Ну это ты зря, я бы использовал, если взят ьв пример python в IDE IDEA там вообще дебагер прелесть, все покажет и расскажет, а самое странное что нельзя шаг назад в дебаге сделать
шаг назад — это круто. ждём возможности сохранения
еще про оптимизацию вместо Возврат Выборка.Ссылка.номер; надо писать Возврат Выборка.СсылкаНомер; соответственно в запросе
хм, мне нужно просто проверить существует ли документ в данном запросе, а номер я вытягиваю для сверки в условии, чтоб если не существует создать новый, не уверен что мне нужна ссылка
У меня 2 таких запроса на самом деле, один тянет ссылку а другой номер из ссылки, они слущат для разных целей. 1 создает документ поступление товаров, а 2 добавляет в документе номенклатуру если не находит то создает новую
А чем существующий отладчик не устраивает?
но запрос ваш медленнее будет раз в 70. Просто вытаскивайте номер в запросе, в этом случае лучше наступить на горло соственной песне, ради скорости программы можно пострадать.
в связи с тем что я начинающий код плохо читаем и в нем можно запутаться)
не могу найти где значение НВдата меняется с ИНН
точки останова не судьба поставить? И значение НВДат кинуть вниз, в табло.
попробую переделать запрос, только надо ошибку исправить, а после займусь
Так по шагам иди, и смотри, где оно меняется.
Так и делал от НВдат ставил точку и F10 но он прыгает в один момент на функцию с запросом и уже поменял…
Нашел проблему, у функциии моей было 3 параметра ИНН, НВдат, НВход я не знал что их нужно было использовать в том порядке в котором они были заданы и в процедуре я этот порядок не соблюдал из-за этого ИНН присвоелось значение НВдат, заменил все заработало, всем спасибо)
мда…. Выбирай — метла или утка?
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям