Ноль или NULL - это важно

03.03.17

Разработка - Математика и алгоритмы

Все знают, что Ноль ("0") и NULL это не одно и то же. Все знают, как "превратить" NULL в то, что нужно по смыслу, с помощью ЕстьNULL(). Но иногда очень важно, например, в отчете, видеть, что это таки не ноль, а пустое значение.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Анализ задолженности
.erf 7,06Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Как Вы понимаете, смысловое значение этого NULL будет зависеть от ситуации. И иногда его нужно "обыграть" - т.е. обртить внимание пользователя. На примере отчета "Анализ задолженности" хочу предложить такой вариант... При анализе взаиморасчетов мы берем остатки на определенную дату и в заданном временном промежутке пытаемся определить дату задолженности. Если долг возник ранее начала периода для анализа, мы представляем это не в виде количества дней (числа) а в виде осмысленной строки.

Для этого я беру числовое значение из параметра и перевожу его в строковое:

ВЫБРАТЬ
    ВЫБОР
        КОГДА ПОДСТРОКА(Константы.Ц, &КвоДней / 100 + 1, 1) = "0"
            ТОГДА ""
        ИНАЧЕ ПОДСТРОКА(Константы.Ц, &КвоДней / 100 + 1, 1)
    КОНЕЦ + ПОДСТРОКА(Константы.Ц, СЕКУНДА(ДОБАВИТЬКДАТЕ(Константы.О, СЕКУНДА, &КвоДней * 0.6)) / 6 + 1, 1) + ПОДСТРОКА(Константы.Ц, СЕКУНДА(ДОБАВИТЬКДАТЕ(Константы.О, СЕКУНДА, &КвоДней * 6)) / 6 + 1, 1) КАК КвоДнейСтр
ИЗ
    (ВЫБРАТЬ
        "0123456789" КАК Ц,
        ДАТАВРЕМЯ(1, 1, 1) КАК О) КАК Константы

Подсмотрел у Ильдаровича (снимаю шляпу, уважаемый),

а потом в вычисляемом поле формирую текст

ВЫБОР КОГДА ПериодОбнуления ЕСТЬ NULL ТОГДА "Более "+КвоДнейСтр+" дней" ИНАЧЕ Просрочено КОНЕЦ

и получается такая вот красота - надпись в ячейке будет меняться в зависимости от введенного значения.

Спасибо за внимание.

P.S. Назначение отчета не проанализировать задолженость, а продемонстрировать предлагаемый способ представления результата в колонке отчета.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Математика и алгоритмы Программист 1С 8.3 Абонемент ($m)

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

1 стартмани

07.11.2025    4951    13    InFlach    17    

26

Математика и алгоритмы Запросы Программист 1С:Предприятие 8 Бесплатно (free)

Рассмотрим быстрый алгоритм поиска дублей с использованием hash функции по набору полей шапки и табличных частей.

08.07.2024    5081    ivanov660    9    

24

Математика и алгоритмы Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    13175    stopa85    12    

43

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    20837    user1959478    57    

40

Математика и алгоритмы Разное 1С:Предприятие 8 1C:Бухгалтерия Россия Абонемент ($m)

Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.

2 стартмани

29.09.2023    12521    maksa2005    8    

27

Математика и алгоритмы Инструментарий разработчика Программист 1С:Предприятие 8 Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    21236    11    SpaceOfMyHead    20    

65

Математика и алгоритмы Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Три задачи - три идеи - три решения. Мало кода, много смысла. Мини-статья.

03.04.2023    14123    RustIG    9    

30

Механизмы платформы 1С Математика и алгоритмы Программист 1С:Предприятие 8 Россия Бесплатно (free)

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

23.11.2022    13190    gzharkoj    15    

27
Для отправки сообщения требуется регистрация/авторизация