Диалог выбора даты на JS без зависимостей. Отображалки от kuzkov.info

10.04.23

Разработка - Работа с интерфейсом

Диалог выбора даты на чистом js для встройки в обозреватели. Методы и свойства отображалки сделаны в 1Сном стиле и будут понятны почти любому 1Снику. Выбор данных в любом формате из возможных: Дата, Время, ДатаВремя. Аналог 1Сной отображалки "Календарь".

Файлы

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

Наименование Скачано Купить файл
Диалог выбора даты на JS без зависимостей. Отображалки от kuzkov.info:
.zip 22,82Kb
1 6 200 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Приветствую уважаемое сообщество!

В этой статье будем рассматривать случай отображалки диалога выбора даты на js в обозревателе.

 
Отступление 1 

 

 

Данная статья является кратким конспектом ролика на ютубе.
Если есть сложности со встроенным игрателем, то прямая ссылка для плюсануть, написать комментарий и подписаться: https://www.youtube.com/watch?v=FWKsMxJ_EPU
 



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

Особенности

  • Выбор данных в любом формате из возможных: Дата, Время, ДатаВремя;
  • Внутренний код js написан на русском языке с комментариями;
  • Методы и свойства на русском языке;
  • Написано на родном чистом js без зависимостей;


Методы и свойства

Открыть()
Закрыть()

Открыто
ПолеДанных
ВыбраннаяДата
ВыборДня
ВыборВремени
СобытиеПриВыборе


Метод Открыть()

Диалог должен открываться при вызове метода Открыть().
Диалог должен открываться под dom элементом ПолеДанных.

Если указана ВыбраннаяДата, то эта дата должна быть выделена стилем.
Текущий отображаемый месяц должен быть месяцем выбранной даты.

Текущая дата должна выделиться автоматически в открытой форме.
Если ВыбраннаяДата пустая, то текущий отображаемый месяц должен быть месяцем текущей даты.


Метод  Закрыть()

Метод должен закрыть диалог выбора даты.


Свойства

Открыто
Тип: Булево
Истина = окно отображалки открыто
Ложь = окно отбражалки закрыто


ПолеДанных

Тип: dom элемент
Отображалка должна показываться под этим dom элементом.
При открытии данные должны браться из этого поля ввода


ВыбраннаяДата

Тип: Дата
Только чтение.
Объект js даты с датой и временем.
Если из поля была прочитана дата ДатаВремя, то возвращаться после выбора должна новая дата со старым временем.


ВыборДня

Тип: Булево
Если Истина, тогда должна отображаться часть отображалки для выбора дня.


ВыборВремени

Тип: Булево
Если Истина, тогда должна отображаться часть отображалки для выбора времени.


СобытиеПриВыборе

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


Сценарии применения

Создание и открытие диалога.
 

// Эта функция вызывается при нажатии кнопки выбора даты.
function ВыбратьДеньВремя(){
    // Определение элемента формы как якоря для выбиралки даты и времени
    эфПолеДатыНачала = document.getElementById('ПолеПоказаВыбраннойДатыВремени');
    // Если выбиралка даты создается первый раз
    if (эфПолеДатыНачала.ДиалогВыбораДаты == undefined) {
        var двДата              = new ДиалогВыбораДаты;
        двДата.СобытиеПриВыборе = ОбработкаВыбораДня;
        двДата.ПолеДанных       = эфПолеДатыНачала;
        двДата.ВыбраннаяДата    = new Date(2023, 1, 2, 11, 22, 33);
        двДата.ВыборДня         = true;
        двДата.ВыборВремени     = true;
        двДата.Открыть();
    } else if (эфПолеДатыНачала.ДиалогВыбораДаты.Открыто ) {
        // Если диалог открыт, то при нажатии кнопки закроем выбор даты
        эфПолеДатыНачала.ДиалогВыбораДаты.Закрыть();
    }
};

function ОбработкаВыбораДня(ДиалогВыбораДаты){
    // Берем выбранную дату из объекта диалога выбора даты
    // Может нужно будет форматировать для приведения к строке для показа в поле данных
    console.log(ДиалогВыбораДаты.ВыбраннаяДата); 
    // Установка выбранной даты и времени
    эфПолеДатыНачала.value = "" + ДиалогВыбораДаты.ВыбраннаяДата.getFullYear() + "-" + (ДиалогВыбораДаты.ВыбраннаяДата.getMonth() + 1) + "-" + ДиалогВыбораДаты.ВыбраннаяДата.getDate();
    // Закроем выбор даты
    ДиалогВыбораДаты.ПолеДанных.ДиалогВыбораДаты.Закрыть();
};



Покажем на примерах

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



[Экроснимок 1. Открытие диалога]

Текущая дата отображается в красной рамке.

При нужности выбора даты и времени, включаем свойство "двДата.ВыборВремени = true" и включается блок выбора времени.



[Экроснимок 2. Выбора даты со временем]

Если нужно выбрать только время, то через "двДата.ВыборДня = false" отключаем выбор даты.


[Экроснимок 3. Выбор времени]



Приложенный пример

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

Версия 1С, с которой работаю при разработке: разработку веду на 1С 8.3.10.

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

На этом пока все :)

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

Если хотите быть в курсе, подписывайтесь на наш ютуб-канал, чтобы все видеть первыми.

Всем лучи добра !

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

Кузьков.инфо kuzkov.info json js верстка веб-формы веб-морды веб формы http веб 1с веб отображалки выбор даты диалог

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    90883    67    44    

77

Консолидация данных Работа с интерфейсом Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1C:ERP Узбекистан Беларусь Кыргызстан Россия Казахстан Платные (руб)

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

6088 руб.

17.10.2025    3186    3    0    

2

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36600 руб.

28.08.2025    9730    2    2    

6

Работа с интерфейсом Разработчик Стажер 1С:Предприятие 8 Бесплатно (free)

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

20.08.2024    55867    mrXoxot    44    

139

Работа с интерфейсом Разработчик 1С:Предприятие 8 Бесплатно (free)

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

27.05.2024    29558    smielka    39    

119

Инструментарий разработчика Работа с интерфейсом Разработчик 1С 8.3 Абонемент ($m)

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

1 стартмани

10.04.2023    18736    186    acces969    31    

132

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

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

12.08.2022    16407    top_1c    39    

98

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

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    17170    kalyaka    8    

36