Доброго времени суток.
Сегодня продолжим предыдущий урок, но немного его усовершенствуем.
Сделаем таким образом, чтобы форма появлялась только при первом запуске предприятия, то есть она появится один раз в месяц и при повторном запуске уже не будет появляться.
Чтобы это сделать, необходимо понять то, как оно будет функционировать это действие.
Сделать это можно следующим образом:
У платформы есть специальный тип - Дата, в котором может указываться время до секунды. Для того, чтобы работал вывод формы всего один раз, необходимо сравнивать дату первого запуска с датой последующих запусков.
При первом запуске системы платформа должна заполнить эту дату, а при повторном запуске платформа будет сравнивать текущую дату и дату, которая была при первом запуске, то есть примерно это будет следующим образом:
.......................................................
Если ДатаЗаписиПервогоЗапуска = День(ТекущаяДата()) Тогда
Сообщить("");
Иначе
ОткрытьФорму("");
КонецЕсли;
......................................................
Приступим к решению данной ситуации.
Первоначально нам нужно создать общую процедуру, которая будет работать с константой, в которую будет записываться дата первого входа в приложение.
Откроем в ветви "Общие" ветвь "Общие модули" и откроем общий модуль "Серверные процедуры" (Рисунок 1).
Пока что в этом модуле одна процедура, которая считает сумму в табличной части. В этом модуле нам необходимо создать новую экспортную функцию, которая будет работать с константой, записывать в нее дату первого входа. Пока функция выглядит так (Рисунок 2).
Напомню, что служебное слово "Экспорт" должно быть обязательно, так как оно дает платформе понять, что эту функцию можно вызвать из другого места.
Функция именно потому, что она может возвращать какое-то значение, а процедура не умеет этого делать - и именно в этом отличие процедуры от функции. Возвращать в данном случае можно Булева значения: Ложь или Истина.
Теперь нужно создать константу, в которую будет записываться дата первого входа с типом - "Дата" с составом "Дата" (Рисунок 3).
Теперь необходимо написать внутри этой функции необходимый код и после точка должен быть выбор созданной только что константы(Рисунок 4).
Весь код будет выглядеть следующим образом (Рисунок 5).
Разберем теперь с первой строки что происходит в этой функцие:
1. Переменной "ДатаЗаписиПервогоЗапуска" присваиваем значение этого дня.
2. Переменной "ДатаВыводаФормы" присваиваем значение, которое равно константе "ДатаВывода".
3. Условие, сравниваем значения и от значения получаем или истину или ложь.
Теперь нажмите на кнопку проверки модуля на синтаксические ошибки и вы получите уведомление (а может кто-то и не получит) (Рисунок 6).
Данное уведомление уже само подсказывает вам, что не может найти "Константы" в проверке тонкого клиента. Для исправления этого нужно открыть свойства этого модуля и убрать галочку "Клиент" (Рисунок 7).
После этого нажмите на проверку и уже не будет никаких ошибок.
Но это еще не все, теперь необходимо прописать программный код в модуле приложения (Рисунок 8).
Откроем модуль приложения (через свойства дерева конфигурации) и изменим существующий код на следующий (Рисунок 9).
Давайте немного разберемся в том, что происходит в этом программном коде построчно:
1. Начало процедуры, которая срабатывает перед началом работы системы.
2. Вторая и третья строка - это закомментированные строки.
3. Если - начало условия и говорит о том, что если общий модуль "Серверные процедуры", а точнее то, что в нем происходит, то есть он его таким образом подключает и говорит "Тогда" должна открыться форма. А откроется она тогда, когда они будут не равны. Иначе говорится, что просто вывести сообщение и заканчивается само условие.
4. Конец выполняемой процедуры.
Запустите пользовательский режим и проверим работу. При первом запуске, а это сейчас будет первый запуск для нашей константы, в которую будет записываться число, форма с предупреждением (Рисунок 10).
Обратите внимание на рисунок 10, общая форма выведена, но никакого сообщения не вывелось, то есть наше условие выполняется правильно и в нем говорится, что выводится или одно или другое в зависимости от установки.
Теперь давайте проверим нашу константу, в ней должно быть записано значение! Открыть константу можно следующим образом (Рисунок 11).
И содержимое константы выглядит следующим образом (Рисунок 12).
На рисунке 12 изображена константа, которая содержит значение 25. Это число - это день месяца, то есть сегодня у меня 25 число месяца. Таким образом, функция записала число дня равное сегодняшнему и оно равно 25.
Таким образом, мы сделали, что форма будет появляться всего один раз в месяц, когда у вас произошла запись в константу.
На следующем занятии мы немного изменим функцию и она будет не в виде дня месяца, а в виде дня года.
На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!
Всем спасибо.
Задать вопросы, которые у вас возникли вы можете, написав комментарий или вступить в группу и задать там свой вопрос, а так же можно на канале нажать кнопку "Написать сообщение".
Ссылка для вступления телеграм-канал - t.me.Apiscourses
Подписаться в группу ВКонтакте
Или написать на электронную почту - awesome.razrab@yandex.ru
Ссылка для вступления в чат на Дзен - https://yandex.ru/chat/#/join/34271c4c-039e-4d1d-97af-b24b3204ad08.
Прошлые уроки:
Введение Урок 1 Урок 2 Урок 3 Урок 4 Урок 5 Урок 6 Урок 7 Урок 8 Урок 9 Урок 10 Урок 11 Урок 12 Урок 13 Урок 14 Урок 15 Урок 16 Урок 17 Урок 18 Урок 19 Урок 20 Урок 21 Урок 22 Урок 23 Урок 24 Урок 25 Урок 26 Урок 27 Урок 28 Урок 29 Урок 30 Урок 31 Урок 32 Урок 33 Урок 34 Урок 35 Урок 36 Урок 37 Урок 38 Урок 39 Урок 40 Урок 41 Урок 42 Урок 43 Урок 44 Урок 45 Урок 46 Урок 47 Урок 48 Урок 49 Урок 50 Урок 51 Урок 52 Урок 53
На этом все. Жду Вас на следующем занятии.
P.S. Подписывайтесь на мой канал :-)
программирование программирование 1с 1с предприятие обучение онлайн обучение 1с