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

Не умножаются значения

Автор Valeron951, 10 мар 2016, 09:21

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

Valeron951

Есть справочник "Туры" и документ "ЗаявкаНаПутевку". В справочнике "Туры" указано наименование тура и стоимость тура. В форме документа есть поле "НаименованиеТура" это "СправочникСсылка.Туры" т.е. при клике на поле выпадает список и можно выбрать тур. Поле "Стоимость" это "Объект.НаименованиеТура.Стоимость". Также на форме документа есть поля "КоличествоЧеловекВТуре" и "ОбщаяСтоимость".
Вот надо сделать что бы поле "ОбщаяСтоимость" = КоличествоЧеловекВТуре*Стоимость

[1C]
&НаСервереБезКонтекста
Функция ПолучитьСтоимостьТура(НаименованиеТура)
   Возврат НаименованиеТура.Стоимость;
КонецФункции


&НаКлиенте
Процедура КоличествоЧеловекВГруппеПриИзменении(Элемент)
   СтоимостьТура=ПолучитьСтоимостьТура(Объект.НаименованиеТура);
   Объект.ОбщаяСтоимость=СтоимостьТура*Объект.КоличествоЧеловекВГруппе;
   Сообщить(СтоимостьТура);
   Сообщить(Объект.КоличествоЧеловекВГруппе);
КонецПроцедуры

[/1C]

Вот это вот не работает. Тут что-то не так с "СтоимостьТура". Когда делаю вот так
[1C]Объек.ОбщаяСтоимость=Объект.КоличествоЧеловекВГруппе*2[/1C]
например, тогда умножается. Также если написать
[1C]Объек.ОбщаяСтоимость=СтоимостьТура[/1C]
то это все дублируется и вроде как правильно работает. Если еще приписать (+2)
[1C]Объек.ОбщаяСтоимость=СтоимостьТура+2[/1C]
то к сумме прибоваляется эта 2.
Но если написать не (+2) а (*2)
[1C]Объек.ОбщаяСтоимость=СтоимостьТура*2[/1C]
то уже все не работает

LexaK

проблема ни о чем !!!
2 + 2 - работает
а,
2 * 2 - не работает

отладчиком умеете пользоваться? в нем значения и типы данных смотреть умеете? тогда в чем вопрос? ошибка ищется за пару минут!
если не умеете пользоваться отладчиком, тогда что вы вообще в 1С-ке делаете?
если помогло нажмите: Спасибо!

Valeron951

умник нашелся. если спрашиваю, значит не знаю. 1с только начал изуть. если нормально не можешь подсказать, то иди лесом

Каримдат

Почти все программисты такие))) Для них такая задача раз плюнуть, вот они и бесятся, то что мы, "умники" не умеем чем то пользоваться))) И считают что мы не способны что то изучать)))

pavl_vs

Valeron951, для того, чтобы код выглядел 1С-подобно, следует программный код заключать в теги "code"  "/code" (прямоугольные скобки убрал, иначе возникает пустая строка кода), а не [1C] [/1C]; либо воспользоваться готовым, выбрав в панели инструментов кнопку # (решетка).

По существу. Если отбросить эмоции (LexaK), то обратите все же внимание на типы перемножаемых переменных, в частности СтоимостьТура.
Правда, в этом случае обычно возникает сообщение об ошибке о невозможности преобразования к числовому типу, или Вы чего-то не досказали.

LexaK

Цитата: Valeron951 от 10 мар 2016, 11:07
умник нашелся. если спрашиваю, значит не знаю. 1с только начал изуть. если нормально не можешь подсказать, то иди лесом

да не обижайтесь :D ,
представьте к вам обращается человек, говорит я хочу философский трактат написать! что-то там с формулировками не получается! правда я еще при этом не умею писать и читать!
вот как вы поможете этому человеку? он же не просит вас - научите меня читать и писать!

так же и в 1С-ке, что вы хотите запрограммировать в ней, если не умеете пользоваться инструментом?
вы же не задаете вопрос, как запустить конфигуратор, что такое отладка программы и как ее отлаживать, что такое точки останова и т.д.
но это как раз очень важные знания (и еще куча других), без которых что либо запрограммировать очень сложно.

п.с.
я даже не представляю, как можно по переписке, в форуме, объяснить человеку как пользоваться отладчиком :dfbsdfbsdf:
может на какие-то курсы по 1С надо?
если помогло нажмите: Спасибо!

Valeron951

ошибки несоответствия типов нет никакой, иначе б я сказал об этом...в этом то и суть, что вроде как и работает, а результата нет.

что такое отладчик и как им пользоваться я знаю, но не в 1с. я только неделю назад начал изучать 1с и пока в такое во все не вдавался и до этого момента "программировал" мышкой в 1с

LexaK

ДТ-шник базы приложите, так проще будет глянуть и разобраться что у вас там не перемножается.
если помогло нажмите: Спасибо!

Valeron951

вот
Добавлено: 10 мар 2016, 13:45


я так понял никто больше ничего не скажет?

LexaK

код у вас работает, об оптимальности пока не будем говорить.
при изменении количества и/или тура общая сумма пересчитывается.
при отображении в списке документов не верно показываются суммы документа, потому что у вас неправильно указан формат чисел!
в конфигураторе просто очистите эти поля: Формат ... , см. рис. сохраните и перезапустите 1С,
откройте документ,
измените количество   - при этом суммы пересчитаются,
сохраните документ

в  списке документ отобразится с правильными суммами
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск