Имя: Пароль:
1C
1С v8
Обновление данных ТЧ
0 inmortal203
 
04.06.13
09:54
В форме документа ЗаказПокупателя нужно после открытия документа просчитать с помощью кнопки и отобразить колонку в ТЧ Товары. Данные изменяются нормально, но изменения не отображаются... К какому методу стоит обратиться и каким образом?

СкладДляЗапроса = ?(СкладГруппа = Справочники.Склады.НайтиПоНаименованию("Основной склад", Истина), Константы.СкладЛистаЗаказа.Получить(), СкладГруппа);
   
   Для каждого Строка из ЭлементыФормы.Товары Цикл
       СвободныйОстаток = УстСвободныйОстаток(Строка.Номенклатура, СкладДляЗапроса);
       Строка.СвОстаток = СвободныйОстаток;
       ЭлементыФормы.Товары.ОбновитьСтроки();
   КонецЦикла;
1 zak555
 
04.06.13
09:55
почти уверен, что основной склад -- предопределенный элемент
2 1Сергей
 
04.06.13
09:55
почему записываешь в элементы формы, а не в объект?
3 zak555
 
04.06.13
09:55
делай динамический список
4 inmortal203
 
04.06.13
10:01
(2)
Это только одна из попыток решить данную задачу...
Может из за того что присутствует и ДокументОбъект.Товары и ЭлементыФормы.Товары возникать путаница?
5 Ненавижу 1С
 
гуру
04.06.13
10:02
Для каждого Строка из ЭлементыФормы.Товары Цикл
       ОформлениеСтроки = Строка.ОформлениеСтроки;
       СвободныйОстаток = УстСвободныйОстаток(ОформлениеСтроки.ДанныеСтроки.Номенклатура, СкладДляЗапроса);
       ОформлениеСтроки.Ячейки.СвОстаток.Значение = СвободныйОстаток;
   КонецЦикла;
6 1Сергей
 
04.06.13
10:06
(4) я так понимаю, это толстый клиент?
Для каждого Строка из ЭтотОбъект.Товары Цикл
7 inmortal203
 
04.06.13
10:07
(5)
Я так надеялся что это будет работать... но

Поле объекта не обнаружено (ОформлениеСтроки)
       ОформлениеСтроки = Строка.ОформлениеСтроки;
8 inmortal203
 
04.06.13
10:07
(6)
да, верно
9 1Сергей
 
04.06.13
10:08
нужно понимать чем отличаются Форма и её элементы от Данных
10 Ненавижу 1С
 
гуру
04.06.13
10:09
(7)
ОформлениеСтроки = ЭлементыФормы.Товары.ОформлениеСтроки(Строка);

(9) да нет в данных объекта такого реквизита
11 inmortal203
 
04.06.13
10:11
(9) У меня уже был подобный опыт когда ТЧ и ее данные имели разные имена, тогда при обращении к данным все прекрасно обновлялось. А в данном случае ТЧ Товары имеет данные Товары, поэтому может быть путаница
12 zak555
 
04.06.13
10:12
повторю : делай динамический список
13 Ненавижу 1С
 
гуру
04.06.13
10:13
(12) в обычном приложении?
14 1Сергей
 
04.06.13
10:13
(10) вононочо... Сразу недопёр

ЗЫ Задавайте правильные вопросы, чтобы получить правильные ответы...
ЗЗЫ (12)+1
15 inmortal203
 
04.06.13
10:15
(12) для этого придется создавать управляемую форму отдельно... чего мне не хочется
16 inmortal203
 
04.06.13
10:17
Нужно где то сохранить шаблон для форума, ибо всегда забываю указыват такие выжные для форумчан данные...)
УТП, Толстый клиент, обычное приложение
17 Ненавижу 1С
 
гуру
04.06.13
10:18
(16) ты (10) попробовал?
18 zak555
 
04.06.13
10:19
(13) да, а что тут такого ?


(15) всё равно же перейдёшь в итоге на УФ => создавай их уже сейчас
19 inmortal203
 
04.06.13
10:20
(17) Да, код

   Для каждого Строка из ЭтотОбъект.Товары Цикл
       ОформлениеСтроки = ЭлементыФормы.Товары.ОформлениеСтроки(Строка);        
       СвободныйОстаток = УстСвободныйОстаток(ОформлениеСтроки.ДанныеСтроки.Номенклатура, СкладДляЗапроса);
       ОформлениеСтроки.Ячейки.СвОстаток.Значение = СвободныйОстаток;
   КонецЦикла;

Отработал без ошибок, но данные не обновились... И кажется мне что и не должны были.
Для каждого Строка из ЭлементыФормы.Товары не прокатывает, ибо "итератор не определен"
20 inmortal203
 
04.06.13
10:20
(18) это будет на крайняк
21 Ненавижу 1С
 
гуру
04.06.13
10:22
(19) ну конечно же:

Для каждого Строка из Товары Цикл
       ОформлениеСтроки = ЭлементыФормы.Товары.ОформлениеСтроки(Строка);        
       СвободныйОстаток = УстСвободныйОстаток(ОформлениеСтроки.ДанныеСтроки.Номенклатура, СкладДляЗапроса);
       ОформлениеСтроки.Ячейки.СвОстаток.Значение = СвободныйОстаток;
   КонецЦикла;
22 inmortal203
 
04.06.13
10:37
(21)
Все так же изменения в отладчике видны, а на экране нет...

ОформлениеСтроки.ДанныеСтроки.СвОстаток = СвободныйОстаток;

тоже не действует
23 zak555
 
04.06.13
10:55
(20) я вот в бп 2.0 создал журнал и документы уже на УФ
24 inmortal203
 
04.06.13
10:57
(23) мне они тоже больше нравятся если честно)
25 inmortal203
 
04.06.13
10:58
но сейчас задача такая... хотя бы ради интереса хочется довести дело до конца
26 Ненавижу 1С
 
гуру
04.06.13
10:59
(25) колонку хоть добавил и визуально ее видно?
ради прикола, так:

ОформлениеСтроки.Ячейки.СвОстаток.УстановитьТекст(СвободныйОстаток);
27 inmortal203
 
04.06.13
11:01
(26)
Колонку видно, вот только Данные для нее не определены. Но и без них раньше все отображалось, только это все выводилось ПриВыводеСтроки
28 inmortal203
 
04.06.13
11:02
вообще форма из за этого тормозит ужасно... поэтому хочу вывести отдельную кнопку для обновления этой колонки