Имя: Пароль:
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
вообще форма из за этого тормозит ужасно... поэтому хочу вывести отдельную кнопку для обновления этой колонки
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn