Переменная не определена

1. HelpMe 16.05.23 12:47 Сейчас в теме
Добрый день, не могу разобраться почему Общий модуль (СуммаДляНДС), не определяется, так же пробовал делать без общего модуля, но тогда уже пишет, что недостаточно фактических параметров, подскажите что не так (в обоих случаях если можно).

PS. Я не понимаю.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Zevzm 16.05.23 13:07 Сейчас в теме
(1) Ну так передайте в свою функцию строку ТЧ в качестве параметра для случая без общего модуля.
С общим модулем галка "Вызов сервера" стоит?
P.S. Не очень хорошо именовать процедуры и функции одинаково с переменными.
3. Sashares 34 16.05.23 13:08 Сейчас в теме
(1)
почему Общий модуль (СуммаДляНДС), не определяется

Потому что у общего модуля не стоит флаг Клиент.

пишет, что недостаточно фактических параметров

Потому что не передается параметр.
Прикрепленные файлы:
starik-2005; +1 Ответить
4. HelpMe 16.05.23 13:19 Сейчас в теме
(3) Такая ошибка если передаю параметр
Прикрепленные файлы:
5. user856012 13 16.05.23 13:21 Сейчас в теме
(4) Картинок тут недостаточно, нужен видосик!
6. Zevzm 16.05.23 13:29 Сейчас в теме
(4) Ну так передайте Ставку и Сумму, переделайте в функцию и получите сумму НДС. Напишите корректное условие сравнения ставки.
7. HelpMe 16.05.23 13:40 Сейчас в теме
(6) Куда я должен их передавать? Если я передаю их так же как и СтрокаТабличнойЧасти, то Ставка и сумма "переменная не определена". Как поменять условие что бы оно стало ещё корректней?
9. Zevzm 16.05.23 13:46 Сейчас в теме
(7) Использование конструкции "Если" предполагает сравнение чего-то с чем-то - что вы сравниваете в своем условии и с чем?
8. starik-2005 3036 16.05.23 13:41 Сейчас в теме
(4)
Такая ошибка если передаю параметр
На сервер нельзя передать текущие денные, но фишка вся в том, что они там и так есть. Просто перенесите код клиентской процедуры в серверную и вызывайте ее без параметров.
10. HelpMe 16.05.23 13:59 Сейчас в теме
(8) Если я правильно понял, нужно просто перенести часть кода, которая &НаСервере в &НаКлиенте, но так тоже не работает, не определяются перечисления... и плюс если так вообще можно условия составлять
Прикрепленные файлы:
11. starik-2005 3036 16.05.23 14:30 Сейчас в теме
(10)
нужно просто перенести часть кода, которая &НаСервере в &НаКлиент
Наоборот.
12. HelpMe 16.05.23 14:35 Сейчас в теме
(11) Хорошо, ошибка ушла, но не работает, отладчик и проверка модуля ничего не показывает, но если менять значение в табличной части ничего не происходит
Прикрепленные файлы:
17. starik-2005 3036 16.05.23 15:01 Сейчас в теме
(12)
ничего
А почему Пересичление.СтавкаНДС = ..., а не СтрокаТаблицы.СтавкаНДС = ...?
ЗЫ: А в конце ты сам себя еще раз вызываешь - в итоге зависает все и бесконечно крутится...
18. HelpMe 16.05.23 15:11 Сейчас в теме
(17) Да, заметил и сменил уже, по итогу просто в клиент всё запихал с предопределенным значением, вроде работает
Прикрепленные файлы:
19. starik-2005 3036 16.05.23 15:21 Сейчас в теме
(18) Поменяй 10 на 20, а потом наоборот - еще один артефакт обнаружишь )))
20. HelpMe 16.05.23 22:16 Сейчас в теме
(19) Вот ведь незадача, никак не могу понять где мне нужно суммировать и как, что бы сумма не увеличивалась в арифметической прогрессии...
16. spacecraft 16.05.23 14:56 Сейчас в теме
(10) Перечисление на клиенте можно получить:
ПредопределенноеЗначение("Перечисление.СтавкаНДС.Ставка20")
13. DesertPunk 16.05.23 14:40 Сейчас в теме
(1)
Если Перечисления.СтавкиНДС.Ставка20 Тогда
	//Зачем тебе перменная Ставка = 20? Что плохого в следующей конструкции СтрокаТабличнойЧасти.Сумма * 20 / (20 + 100)
	Ставка = 20;
	СтрокаТабличнойЧасти.СуммаНДС =  СтрокаТабличнойЧасти.Сумма * Ставка / (Ставка + 100)
15. HelpMe 16.05.23 14:47 Сейчас в теме
(13) Я думаю и так и так можно сделать, проблему это не решает, к сожалению.
14. user1647484 9 16.05.23 14:46 Сейчас в теме
а еще выдаст ошибку, потому что Перечисления.СтавкаНДС.Ставка20 пытается преобразовать к булевскому типу
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот