![]() |
|
Обновить ТЧ обработки | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
23.12.14
✎
11:58
|
Здравствуйте
Имею ТЧ обработки. При совершении обработки ТЧ перезаписываются реквизиты спр. номенклатура, но в ТЧ обработки не обновляются с новыми результатами. Пытался обновлять по разному не идет. Что не так? МОДУЛЬ ФОРМЫ &НаКлиенте Процедура ТаблицаПравкаДанныхПравка(Команда) Если Объект.ТаблицаОбработки.Количество() > 0 Тогда ТаблицаПравкаДанныхПравкаСервер(); //// Перезаполним Таблицу обработки по критерию поиска КомандаОбработатьДанные(Команда); /// Сбрасывает дааные Флаги для правки ЭтаФорма.ОбновитьОтображениеДанных(); ЭтаФорма.Элементы.ТаблицаОбработки.Обновить(); Иначе Сообщить("ТАБЛИЦА ОБРАБОТКИ пуста !!!"); КонецЕсли; КонецПроцедуры &НаСервере Процедура ТаблицаПравкаДанныхПравкаСервер() мЭтотОбъект = РеквизитФормыВЗначение("Объект"); мЭтотОбъект.ПравитьЭлементыСправочникаНоменклатураНаСервере(Объект, Элементы, Объект.ТаблицаОбработки, ТаблицаПравкаДанных); КонецПроцедуры МОДУЛЬ ОБЪЕКТА ОБРАБОТКИ // Процедура-обработчник // Процедура ПравитьЭлементыСправочникаНоменклатураНаСервере(ЭтотОбъект, Элементы, ТаблицаОбработки,ТаблицаПравкаДанных) Экспорт Для Каждого ВыбраннаяСтрокаПравки из ТаблицаОбработки Цикл Если ВыбраннаяСтрокаПравки.КолонкаПометкаДанныхСтроки = Истина Тогда СтрокаУЗ = ТаблицаПравкаДанных.ПолучитьЭлементы(); // Уровень №0 Для Каждого СтрокаДЗ Из СтрокаУЗ Цикл СтрокаУЗ1 = СтрокаДЗ.ПолучитьЭлементы(); // Уровень №1 Для Каждого ВыбраннаяСтрокаДерева Из СтрокаУЗ1 Цикл Если ЗначениеЗаполнено(ВыбраннаяСтрокаПравки.НаименованиеСпр) Тогда РеквизитПравки = ВыбраннаяСтрокаПравки.НаименованиеСпр.Ссылка.ПолучитьОБъект(); Если ВыбраннаяСтрокаДерева.Пометка = Истина И ВыбраннаяСтрокаДерева.Текст = "Код" Тогда //РеквизитПравки.Код = ""; //РеквизитПравки.Код = СокрЛП(ВыбраннаяСтрокаПравки.Код); РеквизитПравки.Код = ПолучитьРеквизитСсылки(ВыбраннаяСтрокаПравки.НаименованиеСпр, "Код"); РеквизитПравки.Код = ""; РеквизитПравки.Код = СокрЛП(ВыбраннаяСтрокаПравки.Код); ИначеЕсли .... // Дальще РеквизитПравки.Записать(); КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; КонецЦикла; |
|||
1
Любопытная
23.12.14
✎
12:01
|
В конце надо обратно засунуть значение в реквизит формы.
|
|||
2
Начинающий_13
23.12.14
✎
12:07
|
Вот это Все равно не работает
&НаСервере Процедура ТаблицаПравкаДанныхПравкаСервер() мЭтотОбъект = РеквизитФормыВЗначение("Объект"); мЭтотОбъект.ПравитьЭлементыСправочникаНоменклатураНаСервере(Объект, Элементы, Объект.ТаблицаОбработки, ТаблицаПравкаДанных); ЗначениеВРеквизитФормы(мЭтотОбъект, "Объект"); КонецПроцедуры |
|||
3
чувак
23.12.14
✎
12:08
|
Так?
ЗначениеВРеквизитФормы(Объект, "Объект"); |
|||
4
Любопытная
23.12.14
✎
12:11
|
Я плохо понимаю, что там на сервере происходит. Какие-то страшные вложенные циклы, СтрокаУЗ, строкаДЗ... в ТЧ обработки вообще что-то меняется? Отладчиком смотрел?
|
|||
5
Начинающий_13
23.12.14
✎
12:11
|
НЕ обновляет ТЧ
|
|||
6
Любопытная
23.12.14
✎
12:12
|
(5) в объекте. после того, как все обработалось. в ТЧ что-нибудь меняется?
|
|||
7
Начинающий_13
23.12.14
✎
12:17
|
Ч перенес весь код из МОДУЛЯ ОБЪЕКТА в МОДУЛЬ ФОРМЫ не обновляется ТЧ. ЧТо то в коде наверное
По Циклам Объходим табличную часть обработки с выбором строк где уставлен Флаг (эти элементы номеклатуры нодо обработыват) Одновременно объодим дерево значений ищем ревзиты спр. у которых уставовлен флаг Эти ревизиты и меняем на новые ПО ЦИКЛАМ ВСЕ ИДЕТ без проблем |
|||
8
Любопытная
23.12.14
✎
12:20
|
разговор немого с глухим, в общем.
|
|||
9
Начинающий_13
23.12.14
✎
12:22
|
Конечно нет (НЕ обновляется), а в спр.все меняется.
|
|||
10
Начинающий_13
23.12.14
✎
12:22
|
Вот и надо обновить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |