Добрый день, уважаемые специалисты и эксперты.
Задача: нужно отобразить данные в ячейке с типом "Число" так, чтобы отличать значение 0 от значения "нет ввода". Насколько я понял, если у ячейки в ТЧ тип "Число", то пустая ячейка в любом случае понимается системой как "0", следовательно, она будет участвовать в расчетах. Т.е. нужен "прозрачный подход" - если пропустил ячейку, то "не введено", если вписал в ячейку 0 - тогда там будет 0. Есть задумка, как обойти это в форме, но как хранить значение "не введено" в базе? Это вообще возможно (навскидку) без составного типа данных? Очень хотелось бы обойтись без него.
Всем спасибо за любые наводящие ответы.
Задача: нужно отобразить данные в ячейке с типом "Число" так, чтобы отличать значение 0 от значения "нет ввода". Насколько я понял, если у ячейки в ТЧ тип "Число", то пустая ячейка в любом случае понимается системой как "0", следовательно, она будет участвовать в расчетах. Т.е. нужен "прозрачный подход" - если пропустил ячейку, то "не введено", если вписал в ячейку 0 - тогда там будет 0. Есть задумка, как обойти это в форме, но как хранить значение "не введено" в базе? Это вообще возможно (навскидку) без составного типа данных? Очень хотелось бы обойтись без него.
Всем спасибо за любые наводящие ответы.
По теме из базы знаний
- Доработка функционала отправки дополнительных реквизитов 1С: ЭДО для Татнефть
- Смета в 1С:УНФ - создать, сохранить, распечатать
- Управленческий учет в 1С УНФ: Лучшая экспресс-проверка
- Несколько альтернативных универсальных способов подбора ссылок при переносах данных
- Как не внедрить 1С:ERP 2 за один год, но через три распилить монолит?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В расчет - это да, но исключение из расчета - это уже решено, это подзадача.
Основная задача: отличить "0" от "Не введено" без того, чтобы городить составной тип данных. Пока что есть идея "кодировать" значение "не введено" определенным, редко встречающимся числовым значением. Возможно, есть более гладкий способ это сделать, потому что костыль еще тот.
Основная задача: отличить "0" от "Не введено" без того, чтобы городить составной тип данных. Пока что есть идея "кодировать" значение "не введено" определенным, редко встречающимся числовым значением. Возможно, есть более гладкий способ это сделать, потому что костыль еще тот.
(3)Можно использовать какое то числовое значение, которое точно не встретится, но к документу нужен еще Регистр накопления, который при проведении документа будет заполняться введенными значениями. Использовать в расчетах данные напрямую из документа да еще с какими то левыми значениями не очень правильно. Нужно будет всегда помнить об этих не введенных ячейках.
Я так делал для контроля некоторых других видов ввода, но эта задача чуть другая: когда надо вводить в шахматку, где произвольно по условию устанавливается видимость тех или иных колонок, получается очень много "дополнительных" колонок (а набор колонок может меняться). Спасибо за совет. Я от него окончательно еще не отказался.
Поясню: Документа не будет, будет "обработка" для заполнения регистра. Т.е. в обработку вписываем данные, они там "обрабатываются" и записываются в регистр сведений. Суть в том, что нельзя "не создавать" запись в регистре. Впоследствии, когда будет получен отчет по введенным данным за период - в отчете должно фигурировать "не введено" (если не вводилось). И "0", если был введен "0". Ну и хочется прозрачность логики для простого пользователя сохранить. Т.е. пустая ячейка - это именно "пустая ячейка", в которой нет значения. А значение "0" - это когда в ячейку вписан "0". В интерфейсе это можно решить, а вот как в базе на уровне данных хранить "пустое число" - пока идей нет.
В итоге было решено закодировать специальные значения (0, не введено, да, нет) числами и написать пару общих процедур, "прогоняющих" значения при записи и при чтении из регистра и в зависимости от значения преобразующих их согласно правилу. Примитивный шифр. Числовые значения для спецзначений были подобраны таким образом, чтобы их никому не пришло в голову ввести (в рамках текущей задачи они просто не могут случиться).
Как вариант рассматривалось создание отдельного регистра сведений под каждый тип, но так как их всего три - число, null и булево - то решено было обойтись кодированием.
Всем спасибо за внимание к моей задаче.
Как вариант рассматривалось создание отдельного регистра сведений под каждый тип, но так как их всего три - число, null и булево - то решено было обойтись кодированием.
Всем спасибо за внимание к моей задаче.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот