|
|
Отбор по строкам в таб. частях.
formista2000, Fregat, dergreche, okmail, Anton1307, Ненавижу 1С, takefive, 2S, lirt82, Гипервизор, ads55, Fedor-1971, Мультук, Fragster, Builder, Timon1405, Климов Сергей, Hans, arsik, maxar
| ☑ |
|
0
lirt82
16.10.26
✎
13:34
|
В ЕРП у документа ПроизводствоБезЗаказа, есть несколько табличных частей, расположены они на разных страницах формы,
необходимо сделать отбор строк для табличной части 2-МатериалыИРаботы расположенной на странице "Материалы и работы", когда переключаемся по строкам табличной части 1-ВыходныеИзделия расположенной на странице "Продукция", у обеих частей есть реквизит Номенклатура тип спр Номенклатура.
При выполнении кода из расширения ниже таб. часть 2-ВыходныеИзделия при первом переключении строк в таб.части 1 отображает результат отбора, но далее при переключении строк таб. часть 2 становиться пустой, как исправить?
&НаКлиенте
Процедура ВыходныеИзделияПриАктивизацииСтрокиПосле(Элемент)
ТекДанныеВыходныеИзделия = Элементы.ВыходныеИзделия.ТекущиеДанные;
Если ТекДанныеВыходныеИзделия = Неопределено Тогда
Элементы.МатериалыИРаботы.ОтборСтрок = Неопределено;
Иначе
ТекНоменклатура = ТекДанныеВыходныеИзделия.Номенклатура;
Элементы.МатериалыИРаботы.ОтборСтрок = Новый ФиксированнаяСтруктура("Номенклатура", ТекНоменклатура);
КонецЕсли;
КонецПроцедуры
|
|
|
1
Timon1405
16.10.26
✎
13:34
|
(0) см. как сделано в кнопке "показать все товары" в документе "таможенная декларация на импорт"
|
|
|
2
lirt82
16.10.26
✎
13:40
|
(1) да также
&НаКлиенте
Процедура ПоказатьВсеТовары(Команда)
Элементы.ТоварыПоказатьВсеТовары.Пометка = Не Элементы.ТоварыПоказатьВсеТовары.Пометка;
НастроитьСервисыЗаполнения(Элементы, Объект);
АктивироватьРаздел();
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьСервисыЗаполнения(Элементы, Объект)
ПоРазделам = Не Элементы.ТоварыПоказатьВсеТовары.Пометка;
Элементы.ТоварыПодобратьИзПоступлений.Доступность = ПоРазделам;
Элементы.ТоварыПодобратьТовары.Доступность = ПоРазделам;
Элементы.ТоварыПодобратьИзОформления.Доступность = ПоРазделам;
Элементы.ТоварыЗаполнитьНомерРаздела.Доступность = Не ПоРазделам;
Элементы.ТоварыУстановитьНомерРаздела.Доступность = Не ПоРазделам;
Элементы.РазделыУстановитьНомерДляСФ.Доступность = Не Объект.НумероватьПоТоварам;
Элементы.ТоварыУстановитьНомерДляСФ.Доступность = Объект.НумероватьПоТоварам;
КонецПроцедуры
&НаКлиенте
Процедура АктивироватьРаздел()
РазделОтбора = ДанныеТекущегоРаздела(Элементы.Разделы).НомерРаздела;
ПоРазделам = Не Элементы.ТоварыПоказатьВсеТовары.Пометка;
Товары = Элементы.Товары;
Если ПоРазделам И (Товары.ОтборСтрок = Неопределено Или Товары.ОтборСтрок.НомерРаздела <> РазделОтбора) Тогда // включить отбор
Товары.ОтборСтрок = Новый ФиксированнаяСтруктура("НомерРаздела", РазделОтбора);
ИначеЕсли Не ПоРазделам И Товары.ОтборСтрок<>Неопределено Тогда // выключить отбор
Товары.ОтборСтрок = Неопределено;
КонецЕсли; // ничего не менять
КонецПроцедуры
|
|
|
3
Timon1405
16.10.26
✎
13:45
|
(2) +
&НаКлиенте
Процедура РазделыПриАктивизацииСтроки(Элемент)
ПодключитьОбработчикОжидания("АктивироватьРаздел", 0.2, Истина);
КонецПроцедуры
|
|
|
4
Fedor-1971
16.10.26
✎
13:52
|
(0) Для начала запросником проверить, что под каждую строку ТЧ 1 подбираются строки из ТЧ2
Перенести код установки отбора на переключение закладок т.к. может теряться фокус на неактивной закладке (т.е. пишем в реквизит формы текНоменклатуру, а при переключении на нужную закладку устанавливаем отбор)
|
|
|
5
lirt82
16.10.26
✎
14:11
|
(4) отбой, разобрался, отбор работает, номенклатуры в таб частях различаются, а по одной позиции одинаковые там и отбор срабатывает. Код правильный, все дело в данных.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший