Имя: Пароль:
1C
1С v8
на клиенте перечисление не работает
0 _barracuda_
 
13.03.18
17:04
добрый день.подскажите как можно победить этот идеотизм управляемых форм?ругается на перечисление:переменная не определена Перечисления

Процедура ЗапасыКоличествоПриИзменении(Элемент)
        Бронь=СформироватьЗапросБронь(Элементы.запасы.ТекущиеДанные.Номенклатура);        
        СвободныйОстаток=СформироватьОстаток(Элементы.запасы.ТекущиеДанные.Номенклатура);        
        Ит_Остаток=СвободныйОстаток-Бронь;
        Если Элементы.Запасы.ТекущиеДанные.Количество > Ит_Остаток Тогда
            Если Элементы.запасы.ТекущиеДанные.Номенклатура.ТипНоменклатуры <> Перечисления.ТипыНоменклатуры.Услуга Тогда
            сообщить("ошибка");
            Элементы.запасы.ТекущиеДанные.Количество=0;
        КонецЕсли;    
КонецЕсли;
1 Волшебник
 
13.03.18
17:06
Переходите на толстый клиент, там это реализовано.
2 mehfk
 
13.03.18
17:07
(0) Кури ПредопределенноеЗначение
3 AllJoke
 
13.03.18
17:07
ПредопределенноеЗначение("Перечисления.ТипыНоменклатуры.Услуга")
4 Serg_1960
 
13.03.18
17:12
Поправка: ПредопределенноеЗначение("ПеречислениЕ....
5 Сергиус
 
13.03.18
17:13
(0)Что мешает через серверную функцию получить и сравнить?
6 _barracuda_
 
13.03.18
17:13
(3) это на сервере.а надо на клиенте.потому что потом на другое матерится
7 _barracuda_
 
13.03.18
17:15
(3)пардон.кажись прокатило
8 vicof
 
13.03.18
17:22
(0) Дело было не в бобине
9 Fragster
 
гуру
13.03.18
17:23
на самом деле почему 1с сделала такой костыль вместо доступности менеджеров я так и не понял...
10 _barracuda_
 
13.03.18
18:29
(2)(3)(4) спасибо
11 RomaH
 
naïve
13.03.18
20:29
Элементы.запасы.ТекущиеДанные.Номенклатура.ТипНоменклатуры
и это прокатило?
12 WebberNSK
 
13.03.18
20:33
(11) у него не веб, платформа сама сделала серверный вызов...
13 Cyberhawk
 
13.03.18
21:52
(9) Так для кэширования. Обертку типа сделали.
14 Fragster
 
гуру
14.03.18
12:50
(13) оно и в толстом клиенте кэшируется, безо всяких "оберток", судя по изучению техножурнала с мемликс
15 Cyberhawk
 
14.03.18
13:03
(14) Так обертка-то для тонкого и веб
16 RomaH
 
naïve
14.03.18
14:13
(12) у меня тоже не веб, а просто тонкий:

Поле объекта не обнаружено (Код)
        А = СтрокаТЧ.Номенклатура.Код;
17 Fragster
 
гуру
14.03.18
14:14
(15) я знаю. но она работает и на сервере (слава богу) :)
но зачем она, почему недоступны соответствующие менеджеры - вот в чем вопрос.
18 Fragster
 
гуру
14.03.18
14:14
кэшировать ничего не мешает и без нее
19 Cyberhawk
 
14.03.18
14:54
(17) Ну видимо сделали единообразно - тупо все менеджеры недоступны на клиенте. Меньше работы - меньше заботы )
20 Serg_1960
 
14.03.18
15:07
Имхо:
Первое: ПредопределенноеЗначение() сделали ради унификации, чтобы программистам не приходилось писать свои собственные функции обращения к значениям.

Второе: вероятно обращение к перечислениям было реализовано по принципам обращения к предопределенным значениям. А так, как теперь можно предопределенные значения устанавливать программно и были пересмотрены алгоритмы работы, то и перечисления пострадали ни за что, за компанию с ними :)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn