|
V8 Метод объекта не обнаружен ГлобальныйМодуль
Волшебник, ALCAPONA, Джордж1, maxab72, Hawk_1c, Михаил Козлов, Wern, Гипервизор, Crusher, tir654, vicof, takefive, Sanchez_22, Kobol, Галахад, Chameleon1980, Fynjy, paramedic, PR, Климов Сергей, phabeZ, slad, Kigo_Kigo, RomanYS, elka302, Шурик71, Жеглофф, nextssbt, maxar, AlexKimp, zva, Fish, dmt, Eiffil123, dedmoroz777, U4Me2, d18, lEvGl, Ненавижу 1С, kupec, vyaz, rozer76, Prog_man, Мультук, DimR_71, DemonShinji2, Amfiaray, DimVad, ADirks, hikkeu, victuan1, segn, denk32, ads55, Sserj, SleepyHead, Bigbro, _Batoo
| ☑ |
0
andrewrocker
naïve
05.10.25
✎
18:28
|
Не могу понять, почему из модуля формы функция работает, а из глобального модуля - нет.
&НаКлиенте
Процедура АвтомобилиЦенаПриИзменении(Элемент)
СтрокаАнализаТЧ = Элементы.Автомобили.ТекущиеДанные;
АнализСтавкиНДС = СтрокаАнализаТЧ.СтавкаНДС;
ДатаСтавкиНДС = Объект.Дата;
ПроцентНДС = 0;
ПроцентНДС = РасчетСтавкиНДС(АнализСтавкиНДС, ДатаСтавкиНДС);
СтрокаАнализаТЧ.Сумма = СтрокаАнализаТЧ.Цена * СтрокаАнализаТЧ.Количество;
СтрокаАнализаТЧ.СуммаНДС = СтрокаАнализаТЧ.Сумма / (100+ПроцентНДС) * ПроцентНДС;
КонецПроцедуры
/// Целевая функция:
&НаСервере
Функция РасчетСтавкиНДС(АнализСтавкиНДС, ДатаСтавкиНДС) Экспорт
Если НЕ ЗначениеЗаполнено(АнализСтавкиНДС) Тогда
Если ДатаСтавкиНДС > Дата("20260101") Тогда АнализСтавкиНДС = Перечисления.СтавкиНДС.НДС22
Иначе АнализСтавкиНДС = Перечисления.СтавкиНДС.НДС20
КонецЕсли;
КонецЕсли;
Если АнализСтавкиНДС = Перечисления.СтавкиНДС.НДС22 Тогда ПроцентНДС = 22
ИначеЕсли АнализСтавкиНДС = Перечисления.СтавкиНДС.НДС20 Тогда ПроцентНДС = 20 Иначе ПроцентНДС = 0;
КонецЕсли;
Возврат ПроцентНДС;
КонецФункции
|
|
1
Волшебник
05.10.25
✎
18:31
|
расширения, да?
|
|
2
Волшебник
05.10.25
✎
18:32
|
кстати, у Вашего ГлобальныйМодуль стоит флаг "ВызовСервера"?
|
|
3
andrewrocker
naïve
05.10.25
✎
18:37
|
(1) 1с:Нетленка.
(2) не стояла галочка. Поставил.
|
|
4
andrewrocker
naïve
05.10.25
✎
18:38
|
Ошибка остаётся:
Метод объекта не обнаружен (РасчетСтавкиНДС)
{Документ.СделкаПродажаСпецтехники.Форма.ФормаДокумента.Форма(212)}: ПроцентНДС = ОсновнойОбщийМодуль.РасчетСтавкиНДС(АнализСтавкиНДС, ДатаСтавкиНДС);
|
|
5
vicof
05.10.25
✎
18:43
|
Сделай два модуля
|
|
6
vicof
05.10.25
✎
18:44
|
Или директивы компиляции используй
|
|
7
andrewrocker
naïve
05.10.25
✎
18:45
|
(5) Сделать второй общий модуль? Попробую сейчас, просто не понимаю причин
|
|
8
andrewrocker
naïve
05.10.25
✎
18:46
|
(5) Странно, сработало.
|
|
9
vicof
05.10.25
✎
19:00
|
|
|
10
Волшебник
05.10.25
✎
19:09
|
Кстати, у него стоит флаг Глобальный?
|
|
11
Волшебник
05.10.25
✎
19:10
|
Кстати, очень плохо размещать процедуры в модуле Глобальный. Это же явно специальные процедуры. Сделайте им свой общий модуль, назовите Налоги
|
|
12
kubik_live
06.10.25
✎
09:30
|
(0) Тут ошибка:
Если ДатаСтавкиНДС > Дата("20260101") Тогда АнализСтавкиНДС = Перечисления.СтавкиНДС.НДС22;
Надо:
Если ДатаСтавкиНДС >= Дата("20260101") Тогда АнализСтавкиНДС = Перечисления.СтавкиНДС.НДС22;
|
|
13
Fish
гуру
06.10.25
✎
08:42
|
(12) Если первого января они не работают, то никто не заметит.
|
|
14
Wern
06.10.25
✎
10:43
|
(13) Когда-нибудь заметят, 31 декабря прошлого года вечером мне пришлось делать срочные исправления, потому что из-за подобных кривых условий документы, сделанные в последнюю секунду года, считались как будто они относятся к новому году.
|
|