Уважаемый Ильяс, вам огромное спасибо за ту информацию, что я получаю из вашей книги. Но, во-первых, книга вышла под вашей редакцией, и под Вашим именем. Это январь 2018 г. Во-вторых, мне, начинающему самообучение, как понять какое издание книги правильное? И, где взять исправленную версию?
1) то что Вы называете "корректируем правильность написания" = это всего лишь выполнение команды Форматирование (т.е. преобразование вида текста кода для удобочитаемости), а грамматическая проверка правильности кода выполняется через Проверку модуля или сочетание клавишей ctrl + F7 2) но в коде из Вашего учебника ошибки не грамматические, а логические: т.е. (зачёркнуто)а) использована проверка с помощью логического умножения ("И" между проверяемыми значениями в первом условном операторе) = т.е. по этому алгоритму, для того что бы вывело необходимое Вам предупреждение, необходимо что бы были ложными оба условия, а не какое либо одно - соответственно, если б это были не даты - то вместо логического умножения использовать логическое сложение ("ИЛИ" вместо "И") - но с датами это не пройдёт(конец зачёркнуто) б) даже если Вы ничего (как Вам кажется) не ввели в поле диалога ВвестиДату, нажав Ок - всё равно будет введена так называемая "нулевая дата" - первый день первого месяца первого года - и это кстати видно в сообщениях при первом тесте - начинается оно с 1 января первого года, просто не отображается по правилам отображения 1С (нулевого года ж не существует). а в условном операторе 1С обрабатывает логические значения, то так как дата заполнена, и соответственно удачно проходит эту проверку, приступая к тому длинному выводу дат или же попадает на второй условный оператор и оказывается что ДатаНач больше "нулевой" даты в ДатаКон 3) отсюда вывод - тупая копипаста = зло, а программу надо немного доработать напильником - Удачи )
какой же бред написан. п.2 быстро учить алгебру логики. Это с каких пор чтобы логическое И стало ложным, надо чтобы обе переменных ложными стали, а не какая то одна, ваще трындец. Дальше, как вам так и автору, необходимо всего навсего в конфигураторе открыть синтаксис помощник и понять как работает функция ВвестиДату. А там черным по белому написано, что она вернет ЛОЖЬ только тогда, когда пользователь нажал ОТМЕНА в диалоговом окне. А вы оба вдруг решили, что ввод пустой даты = отказу от ввода
@@ПетрПетров-с7ь в тестах автор ролика нажимал ОК, а не Отмена - вот я и объяснил что таким образом он не отказывается от ввода даты, а неосознанно вводит её по условным операторам, согласен - поспешил а вам стоило бы зарубить себе, что в 1С "пустой даты" (и вообще любой переменной) нет от слова совсем - посмотрите хотя бы на ИТС!
@@ПетрПетров-с7ьсвой пост я исправил. ответ написал (но он куда-то пропал) поэтому продублирую: в пункте 2б я объяснил (если вы не поняли - счас уточняю) что при не вводе даты и нажатии ОК как у автора ролика (а не Отмена) он всё равно неосознанно вводит так называемую "нулевую", которую вы ошибочно называете "пустой датой" (напоминаю, что "В 1С:Предприятии 8 не существует понятия "пустое" значение. Любая переменная всегда имеет некоторое значение. Для многих типов данных в 1С:Предприятии 8 существуют значения по умолчанию." - это цитата с ИТС!). Т.е. я согласен с тем, что приведённый автором код - работает правильно, а "ошибка" - это просто непонимание автором ролика работы функции ВвестиДату.
@@andresoso311Пустая дата это Дата(1,1,1) вам это не очевидно? НУ тогда откройте БСП, надо объяснять что это такое? Открываем общий модуль АдминистрированиеКластера и ищем экспортную функцию ПустаяДата() и смотрим, что она возвращает.
Это какая-то старая редакция, в последней редакции нет этого примера, вернее он переделан. Просьба пользоваться свежей версией книги!
я покупал в 2019 году эту книгу, тоже столкнулся с некоторыми изъянами. Можете выслать актуальную версию, для личной библиотеки
Уважаемый Ильяс, вам огромное спасибо за ту информацию, что я получаю из вашей книги. Но, во-первых, книга вышла под вашей редакцией, и под Вашим именем. Это январь 2018 г. Во-вторых, мне, начинающему самообучение, как понять какое издание книги правильное? И, где взять исправленную версию?
Так второе и не появиться при данном коде, надо проверку на заполнение сделать), а ее нет.
1) то что Вы называете "корректируем правильность написания" = это всего лишь выполнение команды Форматирование (т.е. преобразование вида текста кода для удобочитаемости), а грамматическая проверка правильности кода выполняется через Проверку модуля или сочетание клавишей ctrl + F7
2) но в коде из Вашего учебника ошибки не грамматические, а логические: т.е. (зачёркнуто)а) использована проверка с помощью логического умножения ("И" между проверяемыми значениями в первом условном операторе) = т.е. по этому алгоритму, для того что бы вывело необходимое Вам предупреждение, необходимо что бы были ложными оба условия, а не какое либо одно - соответственно, если б это были не даты - то вместо логического умножения использовать логическое сложение ("ИЛИ" вместо "И") - но с датами это не пройдёт(конец зачёркнуто)
б) даже если Вы ничего (как Вам кажется) не ввели в поле диалога ВвестиДату, нажав Ок - всё равно будет введена так называемая "нулевая дата" - первый день первого месяца первого года - и это кстати видно в сообщениях при первом тесте - начинается оно с 1 января первого года, просто не отображается по правилам отображения 1С (нулевого года ж не существует). а в условном операторе 1С обрабатывает логические значения, то так как дата заполнена, и соответственно удачно проходит эту проверку, приступая к тому длинному выводу дат или же попадает на второй условный оператор и оказывается что ДатаНач больше "нулевой" даты в ДатаКон
3) отсюда вывод - тупая копипаста = зло, а программу надо немного доработать напильником - Удачи )
какой же бред написан. п.2 быстро учить алгебру логики. Это с каких пор чтобы логическое И стало ложным, надо чтобы обе переменных ложными стали, а не какая то одна, ваще трындец.
Дальше, как вам так и автору, необходимо всего навсего в конфигураторе открыть синтаксис помощник и понять как работает функция ВвестиДату.
А там черным по белому написано, что она вернет ЛОЖЬ только тогда, когда пользователь нажал ОТМЕНА в диалоговом окне. А вы оба вдруг решили, что ввод пустой даты = отказу от ввода
@@ПетрПетров-с7ь в тестах автор ролика нажимал ОК, а не Отмена - вот я и объяснил что таким образом он не отказывается от ввода даты, а неосознанно вводит её
по условным операторам, согласен - поспешил
а вам стоило бы зарубить себе, что в 1С "пустой даты" (и вообще любой переменной) нет от слова совсем - посмотрите хотя бы на ИТС!
@@ПетрПетров-с7ьсвой пост я исправил. ответ написал (но он куда-то пропал) поэтому продублирую:
в пункте 2б я объяснил (если вы не поняли - счас уточняю) что при не вводе даты и нажатии ОК как у автора ролика (а не Отмена) он всё равно неосознанно вводит так называемую "нулевую", которую вы ошибочно называете "пустой датой" (напоминаю, что "В 1С:Предприятии 8 не существует понятия "пустое" значение. Любая переменная всегда имеет некоторое значение. Для многих типов данных в 1С:Предприятии 8 существуют значения по умолчанию." - это цитата с ИТС!). Т.е. я согласен с тем, что приведённый автором код - работает правильно, а "ошибка" - это просто непонимание автором ролика работы функции ВвестиДату.
@@andresoso311Пустая дата это Дата(1,1,1) вам это не очевидно? НУ тогда откройте БСП, надо объяснять что это такое? Открываем общий модуль АдминистрированиеКластера и ищем экспортную функцию ПустаяДата() и смотрим, что она возвращает.