#0
by amadeus2010
Добрый день при написании следующего кода выявлена ошибка: {Документ.РеализацияТоваровУслуг}: Обращение к процедуре объекта как к функции (РассчитатьСуммуТабЧасти) ИначеЕсли ЭтотОбъект.Контрагент.ВозвратнаяТара=Ложь Тогда ОбластьПодвал.Параметры.Цена= ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ЭтотОбъект.Ссылка); Как ее можно устранить?
#0
by amadeus2010
Добрый день при написании следующего кода выявлена ошибка: {Документ.РеализацияТоваровУслуг}: Обращение к процедуре объекта как к функции (РассчитатьСуммуТабЧасти) ИначеЕсли ЭтотОбъект.Контрагент.ВозвратнаяТара=Ложь Тогда ОбластьПодвал.Параметры.Цена= ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ЭтотОбъект.Ссылка); Как ее можно устранить?
#3
by amadeus2010
сама ошибка понятна, только не могу понять как правильно написать этот участок кода чтобы не выходила эта ошибка
#6
by orefkov
К процедуре обращаются по разному. Начинающие одинэсники обычно обращаются "Многоуважаемая и почитаемая Процедура". Кодеры среднего уровня обращение к процедуре обычно начиниают со слов "Доброго времени суток, процедура". Опытные просто пишут - "эй ты".
#14
by DexterMorgan
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ЭтотОбъект.Ссылка); - это процедура она не возвращает значений, просто пишешь ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ЭтотОбъект.Ссылка); И, о чуда, все посчитается! Хотя конечно не факт =(
#16
by amadeus2010
Если ЭтотОбъект.Контрагент.ВозвратнаяТара=Истина Тогда ОбластьПодвал.Параметры.Цена="Х"; ИначеЕсли ЭтотОбъект.Контрагент.ВозвратнаяТара=Ложь Тогда ОбластьПодвал.Параметры.Цена= ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ЭтотОбъект.Ссылка); КонецЕсли; Вот весь код. РассчитатьСуммуТабЧасти-это процедура которая считает цену товара.Мне надо присвоить параметру Цена значение из РассчитатьСуммуТабЧасти если условие ложь.
#19
by aleks-id
один персонаж тебя переплюнул он написал НЕ ЭтотОбъект.Контрагент.ВозвратнаяТара<>Истина
#23
by orefkov
Потому что правильнее тогда было бы называть ЭтотОбъект.Контрагент.ЭтоВозвратнаяТара Если ЭтотОбъект.Контрагент.ЭтоВозвратнаяТара Тогда Если Не ЭтотОбъект.Контрагент.ЭтоВозвратнаяТара Тогда смотрелись бы гармонично. "Нененене Дэвид Блейн, нененене"
#28
by hhhh
Если ЭтотОбъект.Контрагент.ЭтоВозвратнаяТара Тогда - это г.внокод, хоть и гармоничный. Приводит к аварийному завершению, если значение = Неопределено или значение = NULL. Надежнее писать особенно когда обрабатываем выборку из запроса. Там вообще легко словить NULL.
#29
by Feanor
как там окажется "Null" или "Неопределено", если, к примеру, это реквизит с типом "Булево"?
#32
by Feanor
да ладно, чудес в этом плане не бывает. Пример бы кодом лучше. Отнюдь. Но даже если бы и попал, то был бы тока щастлив, потому как ночальнег с бреднями в голове - это печаль, оно ведь не тока так может боком выйти ))
#36
by amadeus2010
ВЫводит цену товара и все работает.Спасибо всем за советы.Но ведь я не волшебник,я только начинаю свой путь на просторах 1с
#38
by fisher
Нормальный показатель, если ищется кандидат с хорошим опытом. Опытный одинэсник никогда так не напишет. Ну а если просто ищется вменяемый чел на вырост, тогда да - не показатель.
#39
by aleks-id
это показатель профессионального программиста, ибо нас в институте били "-1 балл" за лабы, в которых были подобные выкидыши...
#40
by hhhh
допустим Контрагент - пустая ссылка или контрагент - группа. Тогда может и не булево быть.
#41
by aleks-id
исходя из - ведется печать из РТиУ. давай пример, когда там контрагент будет группой?
#42
by DexterMorgan
Никуя, лучше сделать проверку на ЗначениеЗаполнено(Контрагент) чем писать такую куйню как булево = Истина
#45
by Feanor
абсолютно голословно. Чувствуешь разницу между пониманием типов и использованием этой конструкции в определенном месте? воще как-то строго похер на ваши институтские лабы. Воще ниразу не аргумент. для группы у тебя, очевдино, в этом случае будет исключение. для пустой ссылки проверь сам )) ты достоверно знаешь, что у него там только тип "Булево" в возможных типах реквизита?
#47
by fisher
Чувствую. Только не будем на ровном месте высасывать из пальца гипотетические ситуации.
#48
by hhhh
ну оно надо? Когда мне их сортировать, где нужно и где не нужно? Я вообще принял для себя решение: писать = Истина. Тогда и не нужно задумываться. И будет единообразно везде.
#49
by Feanor
ну дак и глобальных умозаключений тогда не нада, предлагаю не быть однобитными. Тем более, что по идейным соображениям так пишет, а не потому, что он нуб
#51
by hhhh
а зачем лишнюю команду писать? Мне нужно проверить равен реквизит Истина или нет. Я и проверяю. А вы из-за какой-то гармоничности меня призываете еще лишнюю команду писать, проверять заполнено или не заполнено.
#52
by Feanor
Видимо, ты не видел в жизни качественного гоунокода. Потому как это невинная шалость в сравнении с отдельными тяжелыми случаями.
#55
by fisher
Я подразумевал явную проверку булево в однозначных ситуациях. Не в какой-то конкретной неоднозначной. В грамотном коде явное сравнение как раз и будет прямым указанием на неоднозначность типа значения. Это плохо.
#56
by hhhh
ну да, в это я перегнул палку. Просто, говорят, что ребят на собеседованиях срезают из-за подобной фигни, ну я возмутился слегка.
#57
by fisher
Если бы пришел распальцовщик, рассказывающий про многолетний опыт плотного кодинга и при этом повсеместно явно анализирующий булево - сразу бы пошел лесом. Потому как или звездит или ховнокодер.
#58
by Feanor
Самое интересное, что это на практике ну совершенно никак не мешает. А если нет практического критерия, то это холивар в чистом виде. Поскольку товарищ из свои внутренние переживания делает критерием для отбора, то это только его сугубо личные эротические переживания.
#59
by Reset
Мешает, имхо. Глаз спотыкается об избыточную констурукцию и на секунды/доли секунды затрудняет анализ кода. Хотя, конечно, это далеко не заглавная беда.
#60
by Feanor
Имхо совершенно без разницы, лично мне анализ кода совершенно не затрудняет. Проблема высосана из пальца, ну или из оценок за лабы в институте.
#61
by amadeus2010
Документ.РеализацияТоваровУслуг}: Поле объекта не обнаружено (ЦенаПет) ОбластьПодвал.Параметры.ЦенаПет=?(Контрагент.ВозвратнаяТара, "Х", 8.4-(8.4*ЗапросСкидки.ЦенаПет)); Подскажите в чем заключается ошибка пожалуйста?
#71
by amadeus2010
|СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки как Скидки Полный текст запроса и вывода данных из запроса.
#79
by fisher
На практике это обычно один из многих симптомов ховнокодера. На практике это обычно выглядит как Если Ст = Истина Тогда вместо Если ЗаявкаУтверждена Тогда
#82
by Feanor
ну зачем же путать теплое с мягким. "Ст = Истина" вместо "ЗаявкаУтверждена" - явно гуанокод. А вот "ЗаявкаУтверждена = Истина" вместо "ЗаявкаУтверждена" - никакого криминала, имхо, нет. ага, уже дошло. Агрюсь уже на всё ))
#84
by fisher
Хорошего тоже ничего не вижу. Да и не встречал я людей, дающих вменяемые имена булевым и при этом юзающих явную проверку. А в ховнокоде - сколько угодно.
#85
by fisher
Пример несколько притянутый. Но я еще раз говорю, что я об очевидных случаях речь веду, а не о составных типах.
#86
by Feanor
Вот это гуанокод? нам утверждает, что резюме такого пейсателя он сразу в мусорку бросает
#87
by Wobland
а мне не нравится. к тому ж есть где-то у 1С некий документ с описанием стандартов или что-то в этом роде. согласно ему - сразу незачёт
#89
by Feanor
ну да, ну да :) это кусок из типовой УПП, примерно то же самое есть и в БСП последней версии чем же он Вам не угодил, батенька? ))
#92
by Mort
Возвращаемые параметры это зло. Применяют их обычно, чтобы не раздувать некоторую область (например, чтоб не делать отдельные объекты-диалоги для ввода примитивных значений и т.п.). А тут он ни к селу ни к городу.
#93
by fisher
Третий? раз повторяю - я об очевидных случаях, а не о составных типах. В этом коде - спорный момент. Т.к. никаких гарантий что в свойстве именно булево - нету (оно может быть не инициализировано). Очевидные случаи - когда реквизит типа булево или флаг которым сам же ховнокодер управляет.
#94
by aleks-id
в мусорку летят резюме пейсателей атстатыщщ, которые в простейшем запросе выборки помеченных на удаление документов ставят и не надо мне тут лепить, что это спорный случай
#95
by fisher
А вот тут не надо. Если это было тестовое задание, то чел мог просто полениться переписывать код конструктора.
#96
by aleks-id
тут уже была ветка типа "что такое А=Б=С=Д;" многие просто не понимают с чем едят булево
#97
by aleks-id
была бумажка и ручка. и просьба написать запрос который выберет все помеченные на удаление документы РТиУ. или Контрагентов. не важно.
#98
by aleks-id
+ и ты не поверишь, 100% людей, написавших "= ИСТИНА", не смогли потом дописать запрос, чтобы он содержал левое соединение.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Текст.Открыть() - Обращение к процедуре объекта как к функции (Открыть)
- 8.2 Управляемые формы Обращение к процедуре объекта как к функции (ДобавитьСтрок
- ТЗ.Свернуть() не работает: Обращение к процедуре объекта как к функции
- После перехода на 8.3.5.1460 ошибка обращение к процедуре объекта как к функции!
В этой группе 1С
- Excel. Подстановка значения текста ячейки в другую ячейку
- Продажа 1с 8.2 БП2.0
- v7: Бухгалтерия. 60-й счет - минуса.
- ИспользуемоеИмяФайла на упр форме
- Как в Конвертации данных выборочно выгружать строки табличной части документа?
- Отрицательная стоимость товаров при расчете себестоимости
- Обмен между базовыми Розницами 8.2
- 8.2 Отладка - Нарушение прав доступа, как отловить в чем ошибка?
- ЗУП, бухи хотят на 97 счет отпуска будущих периодов
- Построитель отчета на сервере - как насунуть стандартное оформление?
- v7: Проводки по подразделениям, ЗиК 7.7
- ЗУП. Где вводить справки по НДФЛ с предыдущего места работы?
- Помогите с макетом Active Document. Управляемое приложение.
- не открывается 1С Предприятие, конфигуратор открывает
- Почему документ "ведомость на выплату зарплаты" открывается для чтения только?
- СКД двойная группировка с дополнениями
- Вычисляемые поля в СКД из двух наборов данных
- Подсказки в 1с
- Установить значение поля выбора с типом данных СписокЗначений...
- Звуки в ТСД