Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Нет. Во второй ТЧ - все Признаки всех Номенклатур + колонка с ключом, указывающим на "свою" строку первой ТЧ. При активизации строки в первой ТЧ - во второй включается отбор по значению этой колонки, т. о. видны только Признаки, относящиеся к активной строке Номенклатуры.
Пример... ну, в альфа-авто есть Наряд, в УТП и УПП в ОтчетеПроизводстваЗаСмену должно быть нечто подобное.
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
Цитата(sava1 @ 17.09.13, 18:13)
Согласен - не понял сразу. Возможен вариант со строчным реквизитом, признаки через запятую
Да, такой вариант и нужен. Создаю реквизит ТЧ, со ссылкой на справочник ИндПризнаки. Далие на форме добавляю колонку с признаком поле выбора и ничего не получаю.
Нужно что-то наподобие того как в настройках отчетов выбираешь элементы в списке.
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Ну кто ж так вопросы задает?
Вам нужен реквизит табЧасти, значение которого будет выбираться из списка? Это совсем не "реквизит в виде списка"... ... ...
В ТЧ добавляйте колонку, Свойства колонки: элемент управления - поле выбора. Свойства поля - настроить высоту и ширину списка выбора Затем читать пост 3 (sava1 оказался догадливее меня ) Список значений для выбора заполнять, нпр, при начале редактирования строки - это если Признаки у каждой Номенклатуры разные, иначе можно при открытии документа.
Если ИндПризнаки - справочник, подчиненный элементам Номенклатуры, тогда есть еще вариант без заполнения списка. Выбирать придется из формы списка справочника(из какой именно - можно выбрать), но там будут только нужные элементы. Для этого - элемент управления "поле ввода" и настроить Связь по владельцу.
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
Цитата(Zaval @ 18.09.13, 2:03)
Ну кто ж так вопросы задает?
Вам нужен реквизит табЧасти, значение которого будет выбираться из списка? Это совсем не "реквизит в виде списка"... ... ...
Не пойму . Мне нужно, что б значение моей колонки было в виде строки с перечисленными ч/з запятую признаками признак1, признак2, и т.д. Но что б заполнить ее можно было ч/з открывающуюся форму списка значений. Может создать дополнительную форму с таблицей ИндПризнаков, открывать ее при начале выбора , а потом переносить данные таблицы в строку колонки????
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Можно попробовать сделать через список с пометками. Но проще будет сделать подбор - посмотрите в любом отчете, как формируется Отбор с видом сравнения ВСписке. Только не открывать форму для добавления значений, а сразу программно кнопку Подбор.
ОбработкаВыбора(Элемент,ФормаПризнаков );/// Вот тут не пойму что куда передавать и правильно ли это???
КонецПроцедуры
А дальше в процедуре ОбработкаВыбора ()
МассивВыбранныхЭлементов = Новый Массив; Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.ИндивидуальныеПризнаки") Тогда // Тут что-то не работает МассивВыбранныхЭлементов.Добавить(ЗначениеВыбора); ИначеЕсли ТипЗнч(ЗначениеВыбора) = Тип("Массив") Тогда МассивВыбранныхЭлементов = ЗначениеВыбора; КонецЕсли;
Для каждого Элемент Из МассивВыбранныхЭлементов Цикл
Сообщить(Элемент);
КонецЦикла;
Конечно если это не полная чепуха. Как мне получить и вернуть массив выбранных элементов?
ОбработкаВыбора (МассивВозврата, Источник); //Дальше из массиваВозврата получим Строку ТекЗначениеПризнаков
КонецФункции
5)Дальше, самое непонятное. В ОбработкеВыбора ФормыДокумента ЗаказПокупателя Дописываем:
Для каждого ВыделенныеСтрока Из Источник.ЭлементыФормы.СправочникСписок.ВыделенныеСтроки Цикл Если ЗначениеЗаполнено(ВыделенныеСтрока) Тогда ЗначениеВыбора.Добавить(ВыделенныеСтрока); КонецЕсли; КонецЦикла;
В режиме 1с открываю при активации строки форму выбора ИндПризнаков, могу выделить несколько элиментов и все... В ОбработкуВыбора передается моя форма и массив, Но заполнить его и вернуть обратно я не могу. Что я не так делаю?
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(alexkhua @ 19.09.13, 21:21)
Блин, ну в какой же процедуре мне получить этот Массив выделенных элементов
В одной единственной, у ячейки в НачалеВыбора
Процедура ПолеВвода1НачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаВыбора = Справочники.ИндивидуальныеПризнаки.ПолучитьФормуВыбора(,ЭтаФорма); ФормаВыбора.МножественныйВыбор = Истина; Результат = ФормаВыбора.ОткрытьМодально(); Если ТипЗнч(Результат) = Тип("Массив") Тогда ПолеВвода1 = ""; Для Каждого Эл Из Результат Цикл ПолеВвода1 = ?(ПолеВвода1="",Эл, ПолеВвода1+ ", " + Эл); КонецЦикла; КонецЕсли; КонецПроцедуры
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 181
Спасибо сказали: 2 раз
Рейтинг: 0
logist , Спасибо. Все оказалось как всегда гораздо проще, чем думалось. Надо только подобрать правильный ключик. Моя ошибка была в том, что при открытии формы нужно указать ее Владельца. Сделал так:
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!