|   |   | 
| 
 | Не отображаются строки табл части | ☑ | ||
|---|---|---|---|---|
| 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 | 
        можно организовать флаг проверки активизации строки
 и проверять его вначале вызова активизации, елси не активровать, то ставить истина, и если есть сервеная процедура то она вызовет активзацию которая проигнорирутеся, в конце после сервеной процедуры флаг снова в ложь | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |