Меню

1с ошибка при вызове метода контекста предопределенноезначение

ошибка при использовании функции ПредопределенноеЗначение

Я
   Wefast

01.03.19 — 10:05

Переношу обработку из УТ 11.1 в УТ 11.4

Перестал работать код

ТипыНоменклатуры.Добавить(ПредопределенноеЗначение(«Перечисления.ТипыНоменклатуры.Товар»));

Ошибка:

{ВнешняяОбработка.УстановкаЦенНоменклатуры.Форма.Форма.Форма(2833)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение)

    ТипыНоменклатуры.Добавить(ПредопределенноеЗначение(«Перечисления.ТипыНоменклатуры.Товар»));

по причине:

Предопределенное значение «Перечисления.ТипыНоменклатуры.Товар» не найдено.

   123GO

1 — 01.03.19 — 10:16

ПеречислениЕ?

   aleks_default

2 — 01.03.19 — 10:19

(1)+1 а уверен что раньше работало? 🙂

   RomanYS

3 — 01.03.19 — 10:33

(1) Да!

Два дня назад городил огород чтобы получить пустую ссылку по имеющемуся типу, про ПредопределенноеЗначение не вспомнил((

   Вафель

4 — 01.03.19 — 10:41

не могло раньше работать, ну никак

   aleks_default

5 — 01.03.19 — 10:44

(3)ОписаниеТипов.ПривестиЗначение

   RomanYS

6 — 01.03.19 — 10:46

(5) Это я рассматривал, но что-то не взлетело

так предлагаешь ОписаниеТипов.ПривестиЗначение(Неопределено)?

   aleks_default

7 — 01.03.19 — 10:54

Если не передавать значение то возвращается значение по умолчанию данного типа. Для справочника например это будет пустая ссылка

   RomanYS

8 — 01.03.19 — 11:06

(7) Да, норм.

А я для теста засунул конструкцию типа

(Новый ОписаниеТипов(«СправочникСсылка.Банки»)).ПривестиЗначение()

в табло, получил ошибку и пошел другим путём.

   Wefast

9 — 01.03.19 — 13:01

(1) (2) Уверен, да и через пробел само все пишется, так что ошибки в написание нет.

Сделал в общем так:

ПолучитьПеречисл()

&НаСервере
Функция ПолучитьПеречисл()
Возврат Перечисления.ТипыНоменклатуры.Товар;
КонецФункции
   Alex87r

10 — 01.03.19 — 13:07

(9) очень некрасиво сделал. с клиента сервер вызывать из за этого. а если это в цикле, то вообще ужас

   Wefast

11 — 01.03.19 — 13:08

(10) что поделать, переписывать что то там кардинально из-за этого не целесообразно. Но это и не в цикле

   catena

12 — 01.03.19 — 13:19

(9)"так что ошибки в написание нет"

Хм, а СП утверждает, что есть:

Синтаксис:

ПредопределенноеЗначение(<ИмяПредопределенногоЗначения>)

Параметры:

<ИмяПредопределенногоЗначения> (обязательный)

Тип: Строка.

Содержит полный путь до предопределенного значения, включая имя самого значения. Например, «ПланСчетов.Основной.Счет41».

Синтаксис описания предопределенного значения совпадает с синтаксисом оператора ЗНАЧЕНИЕ языка запросов:

<Тип предопределенного значения>.<Имя объекта метаданных>.<Значение>.

Тип предопределенного значения> может быть:

Справочник (Catalog); 
ПланВидовХарактеристик (ChartOfCharacteristicTypes); 
ПланСчетов (ChartOfAccounts); 
ПланВидовРасчета (ChartOfCalculationTypes); 
Документ (Document) - только пустая ссылка; 
Перечисление (Enum); 
БизнесПроцесс (BusinessProcess) - только пустая ссылка и получение точек бизнес процесса; 
Задача (Task) - только пустая ссылка.
   Сияющий в темноте

13 — 01.03.19 — 13:22

будтл бы предопределенное значение на сервер не ходит?

   catena

14 — 01.03.19 — 13:23

(13)Один раз же, потом кэш.

   aleks_default

15 — 01.03.19 — 13:24

(9)Молодец, надо быть уверенным в себе, исправляют и проверяют только трусы

   Wefast

16 — 01.03.19 — 13:42

(12) ну я же говорю система через ctrl+пробел дописывает как надо. Через точку все видит.

(15) это не критично, поэтому не понимаю зачем мне логику какую то менять.

Но вот код:

&НаКлиенте

Процедура ПодборВычеркнуть(Команда)
    ПараметрыФормы = Новый Структура();
    ПараметрыФормы.Вставить("Заголовок",                НСтр("ru = 'Подбор вычеркнуть'"));
    ПараметрыФормы.Вставить("ЗаголовокКнопкиПеренести", НСтр("ru = 'Вычеркнуть из списока'"));
    ПараметрыФормы.Вставить("УникальныйИдентификатор",  ЭтаФорма.УникальныйИдентификатор);
    ПараметрыФормы.Вставить("РежимВыбора",              Истина);

    ТипыНоменклатуры = Новый Массив();
    ТипыНоменклатуры.Добавить(ПолучитьТипТовар());
    ОтборПоТипуНоменклатуры = Новый ФиксированныйМассив(ТипыНоменклатуры);
    ПараметрыФормы.Вставить("ОтборПоТипуНоменклатуры", ОтборПоТипуНоменклатуры);
    
    ОткрытьФорму("Обработка.ПодборТоваровПоОтбору.Форма", ПараметрыФормы, ЭтаФорма);

КонецПроцедуры

Куда же мне убрать лишний вызов сервера?

Единственное могу поставить &НаСервереБезКонтекста

   aleks_default

17 — 01.03.19 — 13:46

"ну я же говорю система через ctrl+пробел дописывает как надо. Через точку все видит"

правильно, система не может ошибаться, это же 1С, самая надежная система в мире.

   catena

18 — 01.03.19 — 13:50

(16)А скрин можно? И платформу. У меня на 8.3.10.2580 всё согласно СП, просто академический интерес.

  

Wefast

19 — 01.03.19 — 14:13

(18) начал делать скрины восстанавливая тот код и все работает.

В (0) и правда опечатка


Неловко, что так упорно сопротивлялся, извините.

Поверил на слово, что раньше работало.

Уверен, что проверял что через пробел все заполняется. Может не сохранил после проверки.

Может не увидел разницы когда заново строчку написал. Хз короче куда смотрел.

ES_Dr

0 / 0 / 0

Регистрация: 25.03.2012

Сообщений: 6

1

1C 8.x

Заполнение документа. Поле объекта не обнаружено

15.03.2013, 13:18. Показов 9382. Ответов 18

Метки нет (Все метки)


Здравствуйте! При заполнении документа возникает ошибка:»Поле объекта не обнаружено» Подскажите, пожалуйста, способы устранения.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
&НаКлиенте
Процедура ТоварыПриИзменении(Элемент)
    ТоварыПриИзмененииНаСервере();
    КонецПроцедуры
 
&НаСервере
Процедура ТоварыПриИзмененииНаСервере()
        Если Объект.Товары.ТоварыТипТовара=Перечисления.ТипТовара.Собственный Тогда
        Объект.Товары.СтоимостьХранения=0   
    Иначе
         Объект.Товары.СтоимостьХранения=10*Объект.Товары.Объем*Справочники.Товары.СрокХранения
      КонецЕсли;
 
      Если Объект.Товары.Номенклатура.Ссылка.УсловияХранения=Перечисления.УсловияХраненияТоваров.ПроветриваемоеПомещение Тогда
          Объект.ИтоговаяСтоимостьХранения=Объект.ИтоговаяСтоимостьХранения*1.1
      ИначеЕсли
      Объект.Товары.Номенклатура.Ссылка.УсловияХранения=Перечисления.УсловияХраненияТоваров.ОтапливаемоеПомещение Тогда
      Объект.ИтоговаяСтоимостьХранения=Объект.ИтоговаяСтоимостьХранения*1.2
  ИначеЕсли
       Объект.Товары.Номенклатура.Ссылка.УсловияХранения=Перечисления.УсловияХраненияТоваров.ПроветриваемоеИОтапливаемоеПомещение Тогда
         Объект.ИтоговаяСтоимостьХранения=Объект.ИтоговаяСтоимостьХранения*1.3
                                                                                                    
     КонецЕсли;     
         
             
    Для Каждого ТекущаяСтрока Из Документы.ПриемТовара Цикл
        Объект.ИтоговаяСтоимостьХранения=Объект.ИтоговаяСтоимостьХранения+ТекущаяСтрока.СтоимостьХранения
    КонецЦикла;   
    КонецПроцедуры
 
&НаКлиенте
Процедура ДатаПоступленияТовараПриИзменении(Элемент)
    // Вставить содержимое обработчика.
     ДатаПоступленияТовараПриИзмененииНаСервере();
КонецПроцедуры
 
&НаСервере
Процедура ДатаПоступленияТовараПриИзмененииНаСервере()
    Объект.ДатаОкончанияХранения=Объект.ДатаПоступленияТовара+Справочники.Товары.СрокХранения*24*3600;
КонецПроцедуры

Миниатюры

Заполнение документа. Поле объекта не обнаружено
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Xomych

856 / 655 / 111

Регистрация: 01.11.2012

Сообщений: 2,410

15.03.2013, 13:45

2

1C
1
Если Объект.Товары.ТипТовара=Перечисления.ТипТовара.Собственный



0



Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

15.03.2013, 13:46

3

…………..
Если в табличной части 10000 строк? Какая строка должна проверяться на Тип товара?
Вопрос к Топик Стартеру?



0



Fenomen

900 / 877 / 8

Регистрация: 15.03.2012

Сообщений: 2,680

15.03.2013, 13:47

4

Цитата
Сообщение от ES_Dr
Посмотреть сообщение

Объект.Товары.ТоварыТипТовара

Видимо должно быть:

1C
1
Объект.Товары.ТипТовара

Только если я понимаю логику, это не поможет.



0



ES_Dr

0 / 0 / 0

Регистрация: 25.03.2012

Сообщений: 6

15.03.2013, 13:53

 [ТС]

5

Изначально и было

1C
1
Товары.ТипТовара

. Ошибка та же. Может, как-то с функцией делать? Или аргументы какие-то передать на сервер?



0



Xomych

856 / 655 / 111

Регистрация: 01.11.2012

Сообщений: 2,410

15.03.2013, 14:09

6

Изначально у вас написано

1C
1
Объект.Товары.ТоварыТипТовара

Найдите 10 отличий

1C
1
Объект.Товары.ТипТовара



0



0 / 0 / 0

Регистрация: 15.03.2013

Сообщений: 8

15.03.2013, 14:38

7

Dethmontt, та, на которой меняем Номенклатуру. Та строка, на которой это делаем и должна изменяться.



0



Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

15.03.2013, 14:41

8

Цитата
Сообщение от Serglih
Посмотреть сообщение

Dethmontt, та, на которой меняем Номенклатуру. Та строка, на которой это делаем и должна изменяться.

И где это у вас в коде?



0



0 / 0 / 0

Регистрация: 15.03.2013

Сообщений: 8

15.03.2013, 14:46

9

Сейчас вы меня пристыдили… Я пока еще слабо разбираюсь в этом, что то еще не знаю, что то уже не помню… Но думал что такие вещи мне по силам… Мы ведь вызываем это в обработчике события НоменклатураПриИзменении, разве в таком случае не однозначно определяется строка?



0



Dethmontt

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

15.03.2013, 14:51

10

Вызывается всего лишь обработчик определенного события (в некоторых случаях с параметрами)

А в обработчике вы сами уже показываете что вам нужно работать только с одной строкой или со всей таблицей и т.д. (вариаций полно)…

1C
1
ТекущаяСтрока = Элементы.ИмяТаблица.ТекущиеДанные;

Добавлено через 1 минуту
ТекущиеДанные — Доступность — ТОЛЬКО КЛИЕНТ



0



0 / 0 / 0

Регистрация: 15.03.2013

Сообщений: 8

15.03.2013, 14:53

11

Вот наверно это то, что я забыл. Спасибо, сейчас попробуем.
А у некоторых других элементов(например перечисления) доступность на сервере только. Нужно как то прийти к компромиссу.



0



Dethmontt

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

15.03.2013, 14:59

12

1C
1
ПредопределенноеЗначение("Перечисление.ИмяПеречисления.Значение")  //- доступность клиент



1



0 / 0 / 0

Регистрация: 15.03.2013

Сообщений: 8

15.03.2013, 16:08

13

Вот этого и не знал. Век живи — век учись) Спасибо, будем пробовать.

Добавлено через 1 час 5 минут
Возник еще глупый вопрос. Как в случае работы на стороне клиента обратиться к элементу справочника? Нужно использовать не только строку табличной части документа но и реквизиты элемента справочника. Есть предположение( не уверен в правильности, но все же) как это сделать через запрос. А может можно как то без него?



0



Dethmontt

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

15.03.2013, 16:24

14

1C
1
2
3
4
5
6
7
8
9
&НаКлиенте
Процедура КакаяТо()
   ЗначениеПоСсылке = мПолучитьЗначениеПоСсылке(ТекСтрока.Номенклатура);
КонецПроцедуры
 
&НаСервереБезконтекста
Функция мПолучитьЗначениеПоСсылке(Ссылка)
   Возврат Ссылка.ИмяРеквизита;
КонецФункции

Добавлено через 2 минуты
Или более универсально

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
&НаКлиенте
Процедура КакаяТо()
   ЗначениеПоСсылке = мПолучитьЗначениеПоСсылке(ТекСтрока.Номенклатура,"Наименование");
КонецПроцедуры
 
&НаСервереБезконтекста
Функция мПолучитьЗначениеПоСсылке(Ссылка,ИмяРеквизита)
 
   Попытка 
       Значение = Ссылка[ИмяРеквизита];
   Исключение
       Значение = Неопределено;
   КонецПопытки; 
   Возврат Значение;
 
КонецФункции



1



Serglih

0 / 0 / 0

Регистрация: 15.03.2013

Сообщений: 8

15.03.2013, 17:01

15

Сделали как вы говорите, но ругается на перечисления:

1C
1
2
3
4
{Документ.ПриемТовара.Форма.ФормаДокумента.Форма(16)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение)
   Если мПолучитьЗначениеПоСсылке(ТекущаяСтрока.Номенклатура,"УсловияХранения")=ПредопределенноеЗначение("Перечисления.УсловияХраненияТоваров.ПроветриваемоеПомещение") Тогда
по причине:
Предопределенное значение "Перечисления.УсловияХраненияТоваров.ПроветриваемоеПомещение" не найдено.



0



Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

15.03.2013, 23:23

16

Цитата
Сообщение от Serglih
Посмотреть сообщение

Перечисления

Вы очень не внимательны!!!

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

Перечисление

Найдите отличие!

Перечисления Перечисление

Добавлено через 58 секунд

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

ПредопределенноеЗначение(«Перечисление.ИмяПеречисления.Значение»)

////



2



0 / 0 / 0

Регистрация: 25.03.2012

Сообщений: 6

19.03.2013, 15:43

 [ТС]

17

Спасибо за помощь. Всё работает. Теперь другой вопрос: как из формы документа обратиться к константе?



0



856 / 655 / 111

Регистрация: 01.11.2012

Сообщений: 2,410

19.03.2013, 17:39

18

Через функцию на сервере



0



0 / 0 / 0

Регистрация: 25.03.2012

Сообщений: 6

19.03.2013, 17:45

 [ТС]

19

Спасибо, разобрались.



0



arcmag


  • #1

Подскажите почему это условие не срабатывает?

Вопрос1 — это перечисление у которого есть 3 значения
Ответ1
Ответ2
Ответ3

Код:

&НаКлиенте
Процедура Команда3()

Если (Вопрос1 = "Ответ2") Тогда
Сообщить("Ура вы угадали это 2!");
Иначе;				 
Сообщить("Увы увы неверно!");
КонецЕсли;
КонецПроцедуры

Мне надо что бы при выборе из выпадающего списка 3-х ответов при выборе Ответ2 Вывелось сообщение «Ура вы угадали это 2!»
Но вместо этого у меня при любом варианте выводит «Увы увы неверно!»
я понимаю что ошибка в условии но что за ошибка не могу разобраться.
Так как я пока что еще очень плохо знаю 1С объясните медленно и постепенно пожалуйста.

unknown181538


  • #2

«Ответ2» — это строка. А Вопрос1 — перечисление. Соответсвтенно, типы нужно одинаковые использвоать
Если Вопрос = ПредопределенноеЗначение(«Перечисление.ИмяПеречисления.Ответ2») Тогда…

arcmag


  • #3

{Обработка.Обработка1.Форма.Форма.Форма(5)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение)
Если (Вопрос1 = ПредопределенноеЗначение(«Перечисление.ИмяПеречисления.Ответ2») ) Тогда
по причине:
Предопределенное значение «Перечисление.ИмяПеречисления.Ответ2» не найдено.

Вот такая вот ошибка выходит

Darlock


  • #4

Я так понимаю, у вас управляемая форма. А управляемая форма не знает о сложных типах и предопределенных значениях. Либо делайте вызов сервера и там пишите «Перечисления. …» либо меняете формы на обычные.
И вопрос — а типы Ответ1 и т.п. — какой тип имеют? точно строка? или перечисление? если не перечисление, тогда вам ответ со строкой сравнивать надо, unknown181538 вам пример проверки предложил, а не инструкцию к применению. И вообще чуть больше инфы дайте, плиз: Вопрос1 — тип такой-то, ответы — типы такие-то (реквизиты это или динамический список или что это вообще)

По настройкам (проверьте):

  1. Рекомендуем все же использовать GIT (думаю стоит сделать видео-урок по работе с распределенным хранилищем для тестов, тут все очень просто).
  2. Если вы не используете GIT (по каким либо причинам), то определиться с каталогом в котором лежат тесты (варианты по приоритету). (скорее всего у вас также настроено корректно):
    а) если вы работаете на своей машине, сервер отдельно (там где стоит конфигурация тестирования), тогда необходимо создать общий каталог в котором будут хранится тесты (к примеру, **servertests*, а локальный путь на этом сервере пусть будет **с:tests*). Важно чтобы сервер имел доступ к этому каталогу от системной учетной записи (рекомендуем общий каталог для хранения тестов расположить на этом сервере, где установлена конфигурация тестирования)
    б) если вы работаете на сервере (там где установлена конфигурация тестирования), то можно использовать локальный каталог (к примеру, **с:tests**). Его вы указываете в настройках пользователя.

Как бы технически для конфигурации тестирования нет понятия GIT, она оперирует каталогами. Вы можете к примеру, вручную синхронизировать папки между разработчиками и разруливать конфликты.

  1. Задания тестов или проверок запускаются регламентным заданием на стороне сервера (скорее всего у вас верно настроено).
    а) убедитесь, что регламентное задание запускается под Администратором (с полными правами).
    image
    б) настройка работы пользователя Администратора выглядит что-то вроде
    image

По ошибке:
Ошибка информирует, что задание запустилось, но не произошло подключение. Это могло произойти из-за:
а) не верных настроек подключения или запуска тестируемого клиента (предприятия); проверьте корректность командной строки на запуск.
image

"C:Program Files1cv88.3.12.1685.localbin1cv8c.exe" /S "сервер:порт/база тестирования 3.0" /N"QA-бот" ¶ /Execute "c:testsМенеджерСценарногоТеста.epf" /LogUI /TESTMANAGER ¶ /C"¶ TestUI c:testsсценарииБП Перемещение товаров.xml ¶ TestLogUI c:tempОтчеты ¶ TestLibDirUI c:testsбиблиотека ¶ TestConnectionStringUI localhost/ut_11_demo¶ **TestUser1CUI** Администратор (ОрловАВ) ¶ TestPass1CUI ¶ TestPortUI 1579¶ TestProg1C C:Program Files1cv88.3.12.1685.localbin1cv8c.exe ¶ TestUrlExternAutomationUI http://localhost:8091¶ TestScreenShotUI Actions¶ TestReportNameUI report-503_БП Перемещение товаров ¶ TestReportFormatUI AllureXML¶"
обратите внимание на параметры после:

  • TestConnectionStringUI — должно быть указана строка подключения к серверу и базе тестирования (сервер:порт/имя базы)
  • TestUser1CUI — имя пользователя
  • TestPass1CUI — его пароль
    другие параметры должны быть также заполнены
    б) Другие причины.

Проверить можно что там происходит:

  • Включив режим сохранения снимков экранов в режим все — тогда вы сможете увидеть картинки экранов тестируемого приложения на каждый шаг (используем WinAutomationUI.exe).

  • Либо включив на сервере доступ к 0-му сеансу (под ним запускается на сервере), откроете сеанс и посмотрите что-там происходит. Как настроить говорил тутhttps://github.com/ivanov660/TestingTool-3/issues/18#issuecomment-428462712

 0 

   

Распечатать

Как получить ПредопределенноеЗначение?

Чтобы обратиться к предопределенному значению перечисления на клиенте нужно использовать метод глобального контекста ПредопределенноеЗначение (PredefinedValue)

Синтаксис:
Код 1C v 8.2 УП

 ПредопределенноеЗначение(<ИмяПредопределенногоЗначения>)   

Параметры: <ИмяПредопределенногоЗначения> (обязательный)
Тип: Строка. Содержит полный путь до предопределенного значения, включая имя самого значения. Например, «ПланСчетов.Основной.Счет41».
Синтаксис описания предопределенного значения совпадает с синтаксисом оператора ЗНАЧЕНИЕ языка запросов:
<Тип предопределенного значения>.<Имя объекта метаданных>.<Значение>
Тип предопределенного значения> может быть:
Справочник (Catalog);
ПланВидовХарактеристик (ChartOfCharacteristicTypes);
ПланСчетов (ChartOfAccounts);
ПланВидовРасчета (ChartOfCalculationTypes);
Перечисление (Enum);
БизнесПроцесс (BusinessProcess)
В качестве <Имя объекта метаданных> указывается имя объекта метаданных, как оно задано в конфигураторе.
Для перечислений, определенных в конфигурации, <Значение> указывается как имя соответствующего объекта метаданных типа ЗначениеПеречисления. Для всех остальных типов предопределенных значений <Значение> указывается как имя предопределенного элемента данных, как оно указано в конфигураторе, или ПустаяСсылка для указания пустой ссылки.
Для точек маршрутов бизнес-процессов имя предопределенного значения имеет вид:
БизнесПроцесс.<Имя объекта метаданных>.ТочкаМаршрута.<Имя точки маршрута>
Также метод может быть использован для получения значения системного перечисления. В этом случае параметр формируется как:
<ИмяСистемногоПеречисления>.<ИмяЗначенияСистемногоПеречисления>

Описание: Возвращает ссылку на предопределенный элемент из предопределенных данных, прикладных перечислений и точек маршрута бизнес-процессов, а также значения системных перечислений.

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

Код 1C v 8.2 УП

 &Наклиенте
Процедура ГрафикРемонтовСпособВыполненияПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.ГрафикРемонтов.ТекущиеДанные;

Если СтрокаТабличнойЧасти.СпособВыполнения = ПредопределенноеЗначение("Перечисление.СпособыВыполненияРемонтныхРабот.Подрядный") Тогда
Элементы.ГрафикРемонтовИсполнитель.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Контрагенты");
иначе
Элементы.ГрафикРемонтовИсполнитель.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизации");

КонецЕсли;
КонецПроцедуры


Программируя функционал в платформе 8.2 Управляемые Формы нужно четко понимать где он будет исполняться (на сервере или клиенте). Многие привычные методы теперь не работают так как раньше. И элементарная проверка заполнения реквизита на предопределенное значение на клиенте будет иметь следующий вид:

Код 1C v 8.х

  &НаКлиенте
Процедура ПриИзменениеСтатусаЗаказа()
Если Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыЗаказов.Завершен") Тогда
ЗакрытьЗаказ();
КонецЕсли;
КонецПроцедуры

Вот так работать не будет:

Код 1C v 8.х

  // НЕ РАБОТАЕТ
&НаКлиенте
Процедура ПриИзменениеСтатусаЗаказа()
Если Объект.Статус = Перечисления.СтатусыЗаказов.Завершен Тогда
ЗакрытьЗаказ();
КонецЕсли;
КонецПроцедуры

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • 1с ошибка при вызове метода контекста послать неизвестная ошибка smtp error code 3
  • 1с ошибка при вызове метода контекста подключитьобработчикожидания