Базовый курс. Решение ДЗ №4
Представляем решение четвертого домашнего задания.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
Добрый день, выполняя ДЗ 4 я б ни в жизнь не догадался бы про сисадмина, который вошел в систему вчера, а вышел сегодня. И что это за сисадмин, которого машина “когда хочу, тогда пущу”? И про часовые пояса, особенно актуально, когда обед заказываешь. А так вроде пока понятно.
Извините, видимо вопрос был неверным. Я должен по окончании курсов прислать .dt-файл?
Нет, такого требования на текущий момент нет.
Небольшой вопрос, видимо, запоздалый: немножко отстаю от курса ввиду внешних факторов. Надо будет для финализации курса свою .дт слать или как-то ещё? Не успеваю ДЗ делать, к сожалению(
К концу курса нужно выполнить все ДЗ, это необходимо для успешного финала.
Если совсем никак не получается заниматься, то можно обучение растянуть на два потока. То есть финалиться можно со следующим потоком (для этого нужно быть участником мастер-группы).
Понято, спасибо.
Просмотр вашего решения научил меня думать шире, и к заданиям относиться серьезнее, как к реальным приложениям, которые могут запускаться в разных условиях. Я опустил в своем решении возможность запуска обычного приложения и конечно не учел, что время “секьюрнее” брать с сервера и что сервер может находиться в другом часовом поясе. (Не доводилось просто писать настолько глобальные проекты, уверен, что оба ваших курса помогут мне выйти на подобный уровень). Спасибо!
Посмотрел эталонное решение — впечатлила работа с серверным и клиентским временем, ну и конечно “остановка по ошибке” :).
Вопрос появился у меня резонный после просмотра — насколько должна отличаться (и вообще должна ли) моя конфигурация (читай решение ДЗ) от эталонного, чтобы зафиналится в конце курса. И следующий вопрос: предположим я решил после просмотра эталонного решения исправить некоторые моменты своего, но так же решил оставить и кое-какие отличия, которые, по моему мнению, у меня по-удачнее — как это опять же повлияет на “зафиналивание” :).
>насколько должна отличаться (и вообще должна ли) моя конфигурация (читай решение ДЗ) от эталонного
Это не принципиально. Главное, чтобы в ней был реализован основной функционал, небольшие отклонения вполне допустимы.
>так же решил оставить и кое-какие отличия, которые, по моему мнению, у меня по-удачнее — как это опять же повлияет на «зафиналивание»
Это совершенно правильное решение. На финал этот момент не повлияет.
Почему Числа.[Х] не предложили? В типовых решениях часто видел такое обращение к структуре.
Лучше вот так Числа[Х]. Спасибо за предложение.
Что делать с ИБ? Развернуть посмотреть решение и удалить или оставить именно эту базу для дальнейшей работы?
Или для работы использовать 1Cv8baseAfter1Block.dt доступную по ссылке в материалах 0 блока?
Данную ИБ можно использовать для анализа решения преподавателя, если таковой требуется.
Все решения заданий лучше выполнять в своей ИБ, которую Вы создали.
Однако, если Вы не уверены, не довольны своим решением, то можно в качестве основы следующего задания взять решение преподавателя.
1Cv8baseAfter1Block.dt нужно использовать для анализа примеров курса и проведения собственных экспериментов.
Спасибо за такой детальный разбор ДЗ, все более чем понятно. Новым был материал про сравнение серверного и клиентского времени и учет часовых поясов. Особенная благодарность за “Остановку по ошибке”, не знал, каюсь, часто приходилось ловить баги остановкой по условию, что мягко говоря не очень удобно…
Но есть вопрос о сравнении дат: понятно, что сравнивать время со временем корректней, чем строки, выражающие время, но будет ли во всех случаях корректно отрабатывать тот код что я использовал в решении (например, привожу анализ времени выхода из системы):
<code>
Время = Формат(ТекущаяДата(), “ДФ=ЧЧммсс”);
Если (Время>”090538″) = (Время<“181142”) Тогда
…
КонецЕсли;
</code>
Про особенность, связанную со сравнением строк посимвольно знал, поэтому использовал представление времени с лидирующими нулями. Есть ли еще какие либо подводные камни?
Ваш вариант решения будет работать всегда правильно.
Хорошо никто не видел моего открывшегося рта и хлопающих глаз при показе “остановить по ошибке”… Я то вчера методом половинного деления искал число, а потом удалял по коду символа лишнее ( с форматированием пытался, но сходу не вышло, так что спасибо за конструктор).
Ну с толстым клиентом я не допер сделать совместимость. И даты даты сравнивал сделав в общем модуле функцию для расчета смещений от начала дня в секундах по часам минутам и секундам, хотя не уверен что это хуже.
И резанула глаза мелочь, в цикле проверки на заполненность блюд я сделал переменную НеВыбраны = Истина. специально для того, чтобы не применять “Не” к проверке каждую итерацию цикла. Не правильно это, когда в циклах лишние действия (хотя тут и все равно в принципе).
:)