Имя: Пароль:
1C
1С v8
Флажок на форме изменить.
,
0 volody
 
07.06.13
11:37
Есть форма на ней Флажок который надо взвести.
       СпрНовый.ВладелецКарты = ФизЛицаСсылка;
       СпрНовый.Записать();
       ФормаЭлемента = СпрНовый.ПолучитьФорму("ФормаЭлемента");
   Сообщить(ФормаЭлемента.ЭлементыФормы.ФлагКодКарты); //  = 1;
Говорит нет такого. В модуле справочника обращение идет по Элемент. Но конфигуратор элемент не предлагает. Что не так?
1 mikecool
 
07.06.13
11:38
это что за ересь?
2 salvator
 
07.06.13
11:38
ФлагКодКарты - это что? Реквизит формы или объекта?
3 Defender aka LINN
 
07.06.13
11:39
(0) Все не так
4 volody
 
07.06.13
11:41
Млядские управляемые ФОрмы! Это объект! А как к нему стучать?
5 volody
 
07.06.13
11:45
Это реквизит объекта.
6 volody
 
07.06.13
11:46
Твою мать... это реквизит. Сори.
7 Любопытная
 
07.06.13
11:46
(5) Если это реквизит объекта, то зачем к нему через форму лезть?
8 eklmn
 
гуру
07.06.13
11:47
хорошая трава!
9 volody
 
07.06.13
11:49
eklmnи не говори ! Это "Ацетилсалициловая кислота".

А как к нему долбится получить реквизит нет такого ?
10 salvator
 
07.06.13
11:51
Объект.Реквизит
11 volody
 
07.06.13
12:04
Это рекизит формы. Когда я открываю форму то есть
Реквизиты          |картинка |Использовать всегда| Тип
+Обект             |         |                    |
Использовать....  |         |                    |
+ТипШтрихкодаКарты |         |                    |
ФлагКодКарты      |         |                    |Булево
12 Defender aka LINN
 
07.06.13
12:13
"долбится получить реквизит нет такого"
Я сломался :(
13 volody
 
07.06.13
12:18
ФормаЭлемента = СпрНовый.Метаданные().Реквизиты. нет флажка
ФормаЭлемента =СпрНовый.ПолучитьФорму("ФормаЭлемента").ЭлементыФормы. нет флажка
14 Поросенок Петр
 
07.06.13
12:36
Погоди, погоди... (*забивает)
15 Поросенок Петр
 
07.06.13
12:37
Так лучше.

(0) Чо должно получиться-то, объясни.
16 an_str
 
07.06.13
12:42
Если форма управляемая и надо просто обратиться к ревизиту формы, то обращаешься к нему напрямую без Объект.Реквизит, а просто Реквизит.
Или
ЭтаФорма.Элементы.Реквизит
17 Шапокляк
 
07.06.13
12:46
(0) Автор, вы открываете форму элемента справочника и меняете у этого элемента реквизит Владелец и перезаписываете этот элемент. После этого вы пытаетесь заставить программу получить какую-то другую форму этого элемента и прочитать там значение какого-то элемента формы?
18 volody
 
07.06.13
12:59
СпрНовый.ВладелецКарты = ФизЛицаСсылка;
СпрНовый.Записать();
СпрНовый.КодКарты = 123456789;
СпрНовый.ФлагКодКарты =Истина;
На форме есть галка для раблокировки поля КодКарты это фложок ФлагКодКарты я хочу присвоить ему истина или 1.
1С мне говорит - Поле объекта не обнаружено (ФлагКодКарты).
19 volody
 
07.06.13
13:02
СпрНовый.ПолучитьФорму("ФормаЭлемента").ФлагКодКарты = истина;
СпрНовый.ПолучитьФорму("ФормаЭлемента").ЭлементыФормы.ФлагКодКарты = истина;
1С мне говорит - Поле объекта не обнаружено (ФлагКодКарты).
20 Поросенок Петр
 
07.06.13
13:03
Не, твоя трава круче.

Если надо что-то "взвести" на форме, то и "взводи" на форме. К объекту то чего докопался?
21 salvator
 
07.06.13
13:05
(18) Не читатель вообще?
22 volody
 
07.06.13
13:55
(21)Ну с 7.7 сразу на 8.2 пару уроков Паши Чистова и в бой :)
(20) Так как ?
23 volody
 
07.06.13
13:58
СпрНовый.ВладелецКарты = ФизЛицаСсылка;
СпрНовый.Записать();
СпрНовый.КодКарты = КодДляПосика;
ФормаЭлемента = ПолучитьФорму("ФормаЭлемента",СпрНовый.Ссылка);
       ФормаЭлемента.ФлагКодКарты = истина; (20)
24 volody
 
07.06.13
13:59
Поле объекта не обнаружено (ФлагКодКарты
25 Поросенок Петр
 
07.06.13
14:09
(24) "взводи" на форме означает в модуле формы. Когда пользователь открывает форму, тогда его там и ставь. Блин, это же очевидно.
26 volody
 
07.06.13
15:14
Да я полностью задачку не описал. я создаю элементы справочника из ексельки мне нужно проставить им значения КодКарты и сответсвенно поставить галку ФлагКодКарты = истина;

В конфигурации я менять ничего не буду. Из внейшней обработки как доступаться до флажка на форме созданного элемента?
27 Шапокляк
 
07.06.13
15:18
(26) Войди в форму и посмотри как этот флажок возводится. Может, эта информация берется из каких-то реквизитов элемента справочника. В форме НИЧЕГО не хранится, только в метаданных. Ты на (17) не ответил, я правильно вообще понимаю что ты делаешь?
28 hhhh
 
07.06.13
15:30
наверно правильнее КодДляПёсика
29 volody
 
07.06.13
15:35
(17) Создаю Элемент Справочники.
СпрНовый.Наименование = наименование из Екмельки
СпрНовый.Владелец     = нийтипокуду(блабла);
СпрНовый.ВладелецКарты = ФизЛицаСсылка; // Сылка на объект Справочника физ лица
СпрНовый.Записать();
СпрНовый.КодКарты = КодДляПосика; // Код из ексельки
ну и дальше моя головная боль надо поставить флаг в истина по Семерошному тупо присвоить ему 1 чтоб он стал с галочкой в нутри. Реквизит это есть только на форме в разделе Реквизиты (где объект открывается плюсиком) и Только на форме которая Называется ФормаЭлемента.
ФормаЭлемента = ПолучитьФорму("ФормаЭлемента",СпрНовый.Ссылка);
       ФормаЭлемента.ФлагКодКарты = истина; (20)
30 volody
 
07.06.13
15:36
(28) оставь себе.
31 Infsams654
 
07.06.13
15:42
(29) " ...я создаю элементы справочника из ексельки ...". При чем тут форма? Раз создаешь программно элемент справочника, так и записывай туда все реквизиты какие хочешь, совершенно ни к чему форму открывать. Галочка "ФлагКодКарты" в форме как то связана с данными объекта, либо, программно взводится при отрытии формы, опять же в зависимости от сохраненных данных объекта...

Врубился, али как ?
32 volody
 
07.06.13
15:50
Эта Млятская галочка не дает мне присвоить КодКарты так как если она не истина то КодКарты не доступен.

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

Собсвенно мне надо

ФлагКодКарты    = Истина;
Объект.КодКарты = КодДляПосика;
33 volody
 
07.06.13
15:51
Это из модуля где просиходит магия которую я немогу транслировать к себе во внешнюю обработайку.
34 salvator
 
07.06.13
15:57
СпрНовый.Владелец     = нийтипокуду(блабла);
СпрНовый.ВладелецКарты = ФизЛицаСсылка;
и дописываешь
СпрНовый.ФлагКодКарты  = Истина;
СпрНовый.КодКарты = КодДляПёсика;
СпрНовый.Записать();
35 volody
 
07.06.13
16:00
СпрНовый.ВладелецКарты = ФизЛицаСсылка;
СпрНовый.ФлагКодКарты = Истина;
СпрНовый.КодКарты = КодДляПосика;

собсвенно не найден ФлагКодКарты, как  к нему надо доступаться я не знаю как.
36 Fish
 
07.06.13
16:02
(35) Читать ветку много раз. Имхо уже всё разжевали, яснее некуда.
37 volody
 
07.06.13
16:09
(36) Да я согласен всем Спасибо !!! Реально парни!
hhhh сори (28) не въехал действительно так прикольнее :))
38 volody
 
07.06.13
16:13
Но я один хер не понимаю если реквизит создан на форме и его нет в метаданных, как мне доступиться до него. Форма вы говорите нахер не нужна. Но по точке при созданном ЭлементеСправочника можно доступиться до реквизитов описаных в метаданных ? признаюсь про восьмерошные форму низнаю ничего.
39 Infsams654
 
07.06.13
16:22
(38) теж сказали, когда форма открывается/создается на сервере, то проверяются какие-то данные объекта и в зависимости от них устанавливается значение того "реквизит создан на форме". Смотри код, от куда ноги растут
40 volody
 
10.06.13
15:35
Вот что эта сучка делала.

Процедура ПередЗаписью(Отказ)
   
   Если ОбменДанными.Загрузка Тогда
       Возврат;
   КонецЕсли;
   Если ВидКарты = Перечисления.ВидыИнформационныхКарт.Штриховая Тогда
   
       КодКарты = "";
   
   КонецЕсли;
   
КонецПроцедуры


Все спасибо не учел.