Имя: Пароль:
1C
1С v8
как программно заполнить поле на форме которого нет как реквизита
0 LivingStar
 
18.03.13
10:17
Как программно заполнить поле на форме которого нет как реквизита. Документ Переоценка цен номенклатуры. Программно создаю документ. В табличной части на форме есть поле ЕдиницаХранения, которое можно заполнить со стороны пользователя. Как установить ему значение программно?

НоваяСтрока.ЕдиницаХранения             = Запись.ЕдиницаИзмерения;

на это выдается ошибка Поле объекта не обнаружено (ЕдиницаХранения)
1 НафНаф
 
18.03.13
10:18
что такое НоваяСтрока?
2 pessok
 
18.03.13
10:18
ЭлементыФормы.Товары.ТекущаяСтрока.ЕдиницаХранения = Запись.ЕдиницаИзмерения. Вот только вопрос - нафига?
3 cw014
 
18.03.13
10:19
(1) +1
4 Defender aka LINN
 
18.03.13
10:19
"В табличной части на форме есть поле ЕдиницаХранения, которое можно заполнить" - значит, и реквизит есть
5 LivingStar
 
18.03.13
10:19
(1) это я создаю строку в Тч документа

НоваяСтрока                             = Товары.Добавить();
НоваяСтрока.Номенклатура                = Запись.Номенклатура;

и тд.
6 cw014
 
18.03.13
10:20
(4) Я так думаю, что это не ТЧ а ТЗ, которая заполняется так же как и в документе "Установка цен номенклатуры". Занятно, что в УПП такого документа нет :)
7 LivingStar
 
18.03.13
10:20
(4) реквизита нет в табличной части, только на форме

видимо только для отобрадения
8 LivingStar
 
18.03.13
10:20
(6) это розница 1
9 LivingStar
 
18.03.13
10:21
то есть решать как в (2) ?
10 cw014
 
18.03.13
10:21
(8) Увы, этого добра у меня нет. Поэтому ничего сказать не могу - не вижу документа как такового
11 НафНаф
 
18.03.13
10:21
(8) ну и какие данные прицеплены к колонки на форме?
12 pessok
 
18.03.13
10:21
(9) угу
13 Defender aka LINN
 
18.03.13
10:22
(7) А в путь к данным ему посмотреть - религия мешает?
14 Reset
 
18.03.13
10:23
(9) Чего решать? Если программно создаешь документ, то если ревизит в нем есть, то заполни его. Если реквизита нет, нахрена(и как) его заполнять? Я не пойму)
15 LivingStar
 
18.03.13
10:23
(10) в Тч товары документа установка цен номенклатуры есть реквизит ЕдиницаИзмерения
16 pessok
 
18.03.13
10:24
+(14) вот в (2) и был сакраментальный вопрос - "зачем". На самом деле наверняка при открытии значение тянется из реквизитов справочника Номенклатура
17 НафНаф
 
18.03.13
10:24
(15) а говорил нет
18 pessok
 
18.03.13
10:24
(17) это другой реквизит :)
19 pessok
 
18.03.13
10:25
(0), посмотри (14) и (16). Не надо тебе ничего заполнять наверняка
20 LivingStar
 
18.03.13
10:25
(11) никаких, везде пусто, только можно ввести со стороны пользователя, я же хочу установить это значение программно!
21 LivingStar
 
18.03.13
10:25
(13) пусто там !
22 Галахад
 
гуру
18.03.13
10:26
Событие при выводе строки.
23 НафНаф
 
18.03.13
10:26
(20) ты по-ходу зря открыл конфигуратор
24 Галахад
 
гуру
18.03.13
10:26
(22) Так что ничего не надо устанавливать.
25 Reset
 
18.03.13
10:27
(20) Посмотри (22) и событие ПриИзменении элемент управления этой колонки
26 LivingStar
 
18.03.13
10:27
(14) пользователь когда делает этот документ ставит же в ручную этот реквизит. Значит нужно его заполнять если я документы создаю программно
27 Reset
 
18.03.13
10:28
(26) Как можно заполнить то, что нет? :)
28 pessok
 
18.03.13
10:28
(26) ты же понимаешь, что после того, как пользователь закроет/откроет документ ему надо было бы ставить эту вручную заново? потому (22)
29 LivingStar
 
18.03.13
10:28
(17) это в другом документе говорю есть на основании которого я заполняю этот
30 LivingStar
 
18.03.13
10:29
(28) ок!
31 LivingStar
 
18.03.13
10:30
вот что там при выводе строки:

// Процедура - обработчик события "ПриВыводеСтроки" ТЧ "Товары".
//
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

   Если мКолонкиТовары.ЕдиницаХранения.Видимость Тогда
       ОформлениеСтроки.Ячейки.ЕдиницаХранения.УстановитьТекст(ДанныеСтроки.Номенклатура.ЕдиницаХраненияОстатков);
   КонецЕсли;

   РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура);

КонецПроцедуры // ТоварыПриВыводеСтроки()
32 pessok
 
18.03.13
10:31
(31) что и требовалось доказать. внимательно смотри в то, что скопипастил
33 LivingStar
 
18.03.13
10:34
вот это только крутится в модуле формы мКолонкиТовары, настораживает

за всеми процедурами стоит мКолонкиТовары = ЭлементыФормы.Товары.Колонки;

и потом в самом начале Перем мКолонкиТовары;

потом по ней только видимость устанавливается.....
34 pessok
 
18.03.13
10:36
(33) и чего непонятного? массив колонок, локальная переменная модуля формы. в зависимости от учетной политики/настроек список колонок может быть разный. ответ на (0) в (31). ничего тебе устанавливать не надо, "оно само"
35 LivingStar
 
18.03.13
10:38
как в модуле объекта сослаться на элементы формы?
36 pessok
 
18.03.13
10:39
(35) никак. ЗАЧЕМ, БЛДЖАД?!
37 LivingStar
 
18.03.13
10:39
ОформлениеСтроки, ДанныеСтроки тоже не определяются!!!

(36) я в модуле документа же пишу код!
38 pessok
 
18.03.13
10:40
+(36) можно передать параметров, конечно...
39 pessok
 
18.03.13
10:40
(37) еще раз. тебе не надо заполнять эту колонку, акстись.

       ОформлениеСтроки.Ячейки.ЕдиницаХранения.УстановитьТекст(ДанныеСтроки.Номенклатура.ЕдиницаХраненияОстатков);


при выводе строки колонка заполняется сама
40 LivingStar
 
18.03.13
10:41
(39) аааа все дошло, то есть создаю док программно, она сама туда встает!!!
41 LivingStar
 
18.03.13
10:41
ну хорошо проверю!
42 Галахад
 
гуру
18.03.13
10:41
Не прошло и 40 постов...