|
|
|
Не отображаются строки табл части | ☑ | ||
|---|---|---|---|---|
|
0
Обизян
30.10.25
✎
09:30
|
1с 8.3.27 УФ
Проблема в том, что когда вызываю фому, не отображаются строки тч, хотя данные в этой ТЧ есть, сделал вывод строк через сообщить. Вызываю форму: ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("ТабЧасть",Объект.ТаблицаНоменклатуры); ОткрытьФорму( "ВнешняяОбработка.РабочееМестоМенеджера.Форма.ФормаОтправкиЗаказаПоставщикуАрмтек", ПараметрыФормы, ЭтаФорма, , , , Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); далее, в процедуре ПриАктивизацииСтроки есть следующий код, при котором видимость пропадает, если его закоментить, то строки видно Для Каждого Элемент Из СписокЭлементов Цикл Если Элемент.fieldName = "shipmentAddress" тогда ЭтаФорма.Элементы.shipmentAddress.Видимость = истина; Для Каждого СтрокаЭлемента Из Элемент.enum Цикл name = стрзаменить(СтрокаЭлемента.name,""",""""); Элементы.shipmentAddress.СписокВыбора.Добавить(СтрокаЭлемента.Value,name); Если СтрокаЭлемента.selected тогда Объект.shipmentAddress = СтрокаЭлемента.Value; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; конкретно вот эта строка влияет Элементы.shipmentAddress.СписокВыбора.Добавить(СтрокаЭлемента.Value,name); |
|||
|
1
Обизян
30.10.25
✎
09:32
|
ТЧ - ТаблицаЗаказа, т.е. я даже к ней не обращаюсь
|
|||
|
2
Обизян
30.10.25
✎
10:03
|
Если вывести процедуру с кодом
Элементы.shipmentAddress.СписокВыбора.Добавить(СтрокаЭлемента.Value,name); на отдельную кнопку, то тоже все в порядке, данные ТЧ видны |
|||
|
3
Обизян
30.10.25
✎
09:58
|
Получается только когда этот код срабатывает в процедуре ТЧ ПриАктивизацииСтроки, тогда в ТЧ не видно данных
|
|||
|
4
Обизян
30.10.25
✎
11:42
|
up
|
|||
|
5
Chameleon1980
30.10.25
✎
11:47
|
чего?
ПараметрыФормы.Вставить("ТабЧасть",Объект.ТаблицаНоменклатуры); далее, в процедуре ПриАктивизацииСтроки ПриАктивизацииСтроки где, в чем? кто есть СписокЭлементов что в при создании на сервере РабочееМестоМенеджера? в общем ничего не понятно |
|||
|
6
Обизян
30.10.25
✎
11:55
|
Есть Форма, с неё я открываю другую и передаю туда ТЧ,
и в этой новой открытой форме обработки, есть ТабличнаяЧасть "ТаблицаЗаказа" у нее есть процедура ПриАктивизацииСтроки, в этой процедуре есть строка кода, после которой исчезают все данные ТЧ "ТаблицаЗаказа", но при этом данные там есть, их просто не видно. Строка при которой исчезают данные: Элементы.shipmentAddress.СписокВыбора.Добавить(СтрокаЭлемента.Value,name); |
|||
|
7
Обизян
30.10.25
✎
11:56
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//ПервыйРаз = истина; ЭтаФорма.Элементы.commentString.Видимость = ложь; ЭтаФорма.Элементы.COMPL_DLV.Видимость = ложь; ЭтаФорма.Элементы.shipmentAddress.Видимость = ложь; ЭтаФорма.Элементы.weTab.Видимость = ложь; ЭтаФорма.Элементы.contactTab.Видимость = ложь; ЭтаФорма.Элементы.paymentMethod.Видимость = ложь; ЭтаФорма.Элементы.shipmentMethod.Видимость = ложь; ЭтаФорма.Элементы.shippingDateLast.Видимость = ложь; ЭтаФорма.Элементы.transportType.Видимость = ложь; // ТабЧасть = Параметры.ТабЧасть; Для каждого СтрТЧ из Параметры.ТабЧасть цикл КодСтроки = СтрТЧ.КодСтроки; Номенклатура = СтрТЧ.Номенклатура; Поставщик = СтрТЧ.Поставщик; ПоставщикНаСайте = СтрТЧ.ПоставщикНаСайте; Количество = СтрТЧ.Количество; Цена = СтрТЧ.Цена; СтрокаТабЗаявок = Объект.ТаблицаЗаказа.Добавить(); СтрокаТабЗаявок.Номенклатура = Номенклатура; СтрокаТабЗаявок.Количество = Количество; СтрокаТабЗаявок.Цена = Цена; СтрокаТабЗаявок.Сумма = Цена*Количество; СтрокаТабЗаявок.КодСтроки = формат(КодСтроки,"ЧГ=0"); СтрокаТабЗаявок.Поставщик = Поставщик; СтрокаТабЗаявок.ПоставщикНаСайте = ПоставщикНаСайте; КонецЦикла; КонецПроцедуры |
|||
|
8
Обизян
30.10.25
✎
11:57
|
Список элементов это распарсеная строка
ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(СтрокаОтвет); ОтветJSON = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); СписокЭлементов = ОтветJSON["orderParams"]; |
|||
|
9
Обизян
30.10.25
✎
11:59
|
Если вместо ПриАктивизацииСтроки использовать предопределенную процедуру ТЧ ТаблицаЗаказаВыбор, то все работает
|
|||
|
10
Мультук
гуру
30.10.25
✎
12:09
|
(7)
1) Чему равно ? Параметры.ТабЧасть.количество() 2) В цикл то отладчик заходит ? ТабЧасть = Параметры.ТабЧасть;
Для каждого СтрТЧ из Параметры.ТабЧасть цикл
3) Или всё же нужно ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ТабЧасть",Объект.ТаблицаНоменклатуры.Выгрузить()); |
|||
|
11
Обизян
30.10.25
✎
12:23
|
(10) Да проблема не тут, ТЧ прекрасно заполняется, только если В процедуре ПриАкитивизацииСтроки исполняется эта строчка
Элементы.shipmentAddress.СписокВыбора.Добавить(СтрокаЭлемента.Value,name); то данные пропадают, хотя и продолжают хранится в ТЧ |
|||
|
12
Мультук
гуру
30.10.25
✎
12:29
|
||||
|
13
Обизян
30.10.25
✎
12:53
|
(12) оно, спасибо, единственное что странно, это то, что он постоянно долбится в процедуру ПриАктивизацииСтроки, хотя на форме стою на одной строчке
|
|||
|
14
Обизян
30.10.25
✎
13:05
|
Видимо из-за того, что я серверной процедуре получаю данные и меняю реквизиты на форме, оно снова уходит в обработку при активизацииСтроки, как-то можно это побороть?
|
|||
|
15
Обизян
30.10.25
✎
13:09
|
Добавил ОтключитьОбработчикОжидания("ПолучитьДанныеСайтаКлиент");
теперь срабатывает только два раза |
|||
|
16
программистище
30.10.25
✎
14:29
|
можно организовать флаг проверки активизации строки
и проверять его вначале вызова активизации, елси не активровать, то ставить истина, и если есть сервеная процедура то она вызовет активзацию которая проигнорирутеся, в конце после сервеной процедуры флаг снова в ложь |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |