Илья, изложение материала очень нравится, и хорошо воспринимается. Объясняешь все на пальцах и понятно. Теперь, уже, ставлю лайк сразу перед просмотром ролика. Погнали дальше!!)
1.Не забывай говорить "Не забывайте ставить лайк"! Я сам решу ставить или не ставить, но забываю ставить когда понравилось! 2. Спасибо за знакомство с "?" . Стало интересно и разузнал что это за и с чем это едят!
Вот на 2:00 минуте реквизит у меня появился, а поле пустое...думаю...где-то Илья уже намутил втихаря за кадром))...Пересмотрел начало..открыл модуль обьекта...подумал...что обработчик "перед записью"...значит данные появятся после перевпроведения уже готового документа. перепровел док. заработало. данные появились в поле.) Уважаемый Илья, не мутите там за кдром, а то новичкам , вроде меня, не все будет понятно. Ладно. Погнали дальше.)
Как украсить форму списка документов в 1С. Вывод списка сотрудников из табличной части документа в форму списка. Использование знака вопроса как условного оператора. Услуги 1С программиста в Москве: 1cproger.ru/ Читайте статьи по 1С на нашем сайте: programmist1s.ru/materialyi-po-1s/
спасибо. Как пример использования - нормально, но ИМХО код читается значительно легче при использовании "полных" конструкций Если - Иначе - КонецЕсли. Воистину крутые программисты, заботящиеся о читабельности их кода, делают именно так )))
такая же фигня была. Ошибся в наименовании переменной, когда опустошал строку, писал: КратийСоставДокумента = "" (без буквы к). Соответственно строка не обнулялась и с каждым сохранением заполнялась значениями при обходе цикла. Воспользовался отладчиком и нашёл косяк.
Не надо тернарный оператор... Перед циклом определяем дополнительную переменную Запятая=""; КрСостДок=""; Для Каждого Строка Из ........ КрСостДок=КрСостДок+Запятая+Строка.Сотрудник.Наименование; Запятая=", "; КонецЦикла; И всё. :0) Присваивание машине выполнить легче, чем условный оператор, тем более в цикле. Да и код покрасивее.
При использовании "?" у меня просто появляется надпись "Нет" в поле, а с условным оператором всё чётко работает, на знаю в чём проблема, код идентичный у меня: КраткийСоставДокумента = ?(КраткийСоставДокумента = "", Строка.Сотрудник.Наименование, КраткийСоставДокумента = КраткийСоставДокумента + ", " + Строка.Сотрудник.Наименование);
Лишняя запятая сзади будет. А так не будет лишних запятых: КраткийСоставДокумента= КраткийСоставДокумента+ ?(КраткийСоставДокумента="","",",")+Строка.Сотрудник.Наименование;
Илья, изложение материала очень нравится, и хорошо воспринимается. Объясняешь все на пальцах и понятно. Теперь, уже, ставлю лайк сразу перед просмотром ролика. Погнали дальше!!)
1.Не забывай говорить "Не забывайте ставить лайк"! Я сам решу ставить или не ставить, но забываю ставить когда понравилось!
2. Спасибо за знакомство с "?" . Стало интересно и разузнал что это за и с чем это едят!
Вот на 2:00 минуте реквизит у меня появился, а поле пустое...думаю...где-то Илья уже намутил втихаря за кадром))...Пересмотрел начало..открыл модуль обьекта...подумал...что обработчик "перед записью"...значит данные появятся после перевпроведения уже готового документа. перепровел док. заработало. данные появились в поле.) Уважаемый Илья, не мутите там за кдром, а то новичкам , вроде меня, не все будет понятно. Ладно. Погнали дальше.)
Спасибо! До того как не перепровела, ничего не работало:((
Спасибо, очень доходчиво рассказываешь
Помню в синтакс-помощнике так и не смогла найти про оператор ?
Очень полезная штука)
Синтаксис-помощник: Общее описание встроенного языка\Операторы и синтаксические конструкции\? (вычислить выражение по условию)
Как украсить форму списка документов в 1С. Вывод списка сотрудников из табличной части документа в форму списка. Использование знака вопроса как условного оператора.
Услуги 1С программиста в Москве:
1cproger.ru/
Читайте статьи по 1С на нашем сайте:
programmist1s.ru/materialyi-po-1s/
спасибо. Как пример использования - нормально, но ИМХО код читается значительно легче при использовании "полных" конструкций Если - Иначе - КонецЕсли. Воистину крутые программисты, заботящиеся о читабельности их кода, делают именно так )))
Не согласен )
В типовых конфигурациях сплошь и рядом используется оператор "?", а программисты в 1С очень крутые.
+Илья Леонтьев Про 1С я бы сказал каста)))
настройки, скорость воспроизведения: как говорит Илья (Обычная), как слышу его я (2), как я все понимаю (0.75) - профит, это лайфхак ))
Мне постоянно не хватает более подробного пояснения кода. Как он зараза работает. Конечно постепенно пазлы складываются, но что-то медленно.
Ну незнаю, по большей части всё понятно(ну может изза того что я стажировался 1с на предприятии), если есть вопросы кидай в коменты!
Подскажите как изменить цвет и стиль шрифта Строка.Сотрудники?
спасибо, все очень доступно и нтересно
Если я правильно понял, это называется тернарный оператор.
В языка программирования (C#, JS) это называют тернарным условным оператором
Есть унарный, бинарный, а это, как я понял, тернарный оператор.
При нажатии на записать у меня производит запись снова и снова и в итоге куча имени "Илья Леонтьев" и Чигинчук(( в кратком описании
Вы точно использовали событие "ПередЗаписью"? Может, вы все-таки "ПриЗаписи" или "ПослеЗаписи" решили использовать? Это важно.
Скорее всего ты забыл опустошить строку в начале КраткийСоставДокумента = "";
такая же фигня была. Ошибся в наименовании переменной, когда опустошал строку, писал: КратийСоставДокумента = "" (без буквы к). Соответственно строка не обнулялась и с каждым сохранением заполнялась значениями при обходе цикла. Воспользовался отладчиком и нашёл косяк.
Это называется тернарный оператор с вопросительным знаком конструкция. Во всяком случае в C#.
Не надо тернарный оператор... Перед циклом определяем дополнительную переменную
Запятая="";
КрСостДок="";
Для Каждого Строка Из ........
КрСостДок=КрСостДок+Запятая+Строка.Сотрудник.Наименование;
Запятая=", ";
КонецЦикла;
И всё. :0) Присваивание машине выполнить легче, чем условный оператор, тем более в цикле. Да и код покрасивее.
Вот это хорошая идея.
При использовании "?" у меня просто появляется надпись "Нет" в поле, а с условным оператором всё чётко работает, на знаю в чём проблема, код идентичный у меня:
КраткийСоставДокумента = ?(КраткийСоставДокумента = "",
Строка.Сотрудник.Наименование,
КраткийСоставДокумента = КраткийСоставДокумента + ", " +
Строка.Сотрудник.Наименование);
У вас просто лишняя строчка "КраткийСоставДокумента =" в 3 строке.
Классная фича с "?".
Вообщето это стандартный в ЯП тернарный оператор
Тернарный оператор
Я просто после цикла убрал первую запятую :
Если КраткийСоставДокумента"" Тогда
КраткийСоставДокумента=Сред(КраткийСоставДокумента,2);
КонецЕсли;
А можно еще проще)) КраткийСоставДоукмента = КраткийСоставДоукмента + Строка.Сотрудник.Наименование + ", ";
КраткийСоставДокумента= КраткийСоставДокумента+Строка.Сотрудник.Наименование+",";
Лишняя запятая сзади будет. А так не будет лишних запятых: КраткийСоставДокумента= КраткийСоставДокумента+
?(КраткийСоставДокумента="","",",")+Строка.Сотрудник.Наименование;