Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 дек 2024, 17:37

Через какие объекты решаются подобные задачи?

Автор Little_Prince, 28 янв 2019, 20:28

0 Пользователей и 1 гость просматривают эту тему.

Little_Prince

Здравствуйте)
Подскажите, пожалуйста, как примерно решаются подобные задачи(какие объекты создавать):
Например, у работник обслуживает грузовики. Он знает, как часто грузовик заправлять для бесперебойной работы(например: Камаз№1 требует заправки раз в 3 дня, а камез№8 каждые 7 дней). Нужна программа, которая позволяет ежедневно получать отчет, какие грузовики и каким топливом заправлять сегодня.
Или подобная задача, есть принтеры и картриджи, нужна конфигурация, которая позволит получать отчет, какие принтеры нуждаются в обслуживании сегодня и какие картриджи менять.
Направьте, пожалуйста)

wise

(0) для периодических расчётов ЕСТЬ - Регистры расчета
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

antoneus

Думаю, можно решить справочником - Автомобиль, частота заправки, дата последней заправки. Аналогично с картриджами.

Little_Prince

Цитата: antoneus от 29 янв 2019, 18:50
Думаю, можно решить справочником - Автомобиль, частота заправки, дата последней заправки. Аналогично с картриджами.
А как отчет вывести, сравнивать сегодняшнюю дату с "частота заправки"+"дата последней заправки"? Дату последней заправки нужно будет вводить пользователю после заправки?

antoneus


Little_Prince

Цитата: antoneus от 31 янв 2019, 10:31
Да.
Как сложить частоту заправки с датой последней заправки(допустим, в вычисляемом поле отчета) и сравнить с сегодняшней датой, если частота - числовой тип данных, а дата последней заправки - дата? Прошу прощения за назойливость , не могу въехать(только начинаю учиться)

antoneus

В языке запросов есть функция ДОБАВИТЬКДАТЕ(ИсходнаяДата, Тип, Величина), то есть в данном случае будет

ДОБАВИТЬКДАТЕ(&ДатаПоследнейЗаправки, ДЕНЬ, &ЧастотаЗаправки)

Можно вынести в секцию ГДЕ такое условие

ВЫБОР КОГДА
ДОБАВИТЬКДАТЕ(&ДатаПоследнейЗаправки, ДЕНЬ, &ЧастотаЗаправки) = &ТекущаяДата
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ


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

ДатаСледующейЗаправки = ДатаПредыдущейЗаправки + 86400 * ЧастотаЗаправки

где 86400 - количество секунд в сутках.
Добавлено: 03 фев 2019, 14:38


Цитата: antoneus от 03 фев 2019, 14:31
В языке запросов есть функция ДОБАВИТЬКДАТЕ(ИсходнаяДата, Тип, Величина), то есть в данном случае будет

ДОБАВИТЬКДАТЕ(&ДатаПоследнейЗаправки, ДЕНЬ, &ЧастотаЗаправки)

Можно вынести в секцию ГДЕ такое условие

ВЫБОР КОГДА
ДОБАВИТЬКДАТЕ(&ДатаПоследнейЗаправки, ДЕНЬ, &ЧастотаЗаправки) = &ТекущаяДата
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ


Не забываем, что если у реквизита ПоследняяДатаЗаправки состав даты Дата, то в параметр ТекущаяДата нужно подставлять НачалоДня(ТекущаяДата()).

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

ДатаСледующейЗаправки = ДатаПредыдущейЗаправки + 86400 * ЧастотаЗаправки

где 86400 - количество секунд в сутках.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск