Добрый день.
розница 8.3 документ установки цен
добавляю новый реквизит,добавляю элемент формы,связываю их.Необходимо поменять местоположение нового реквизита в дереве цен,иными словами поставить его не на последнее месть в дереве цен,а в другое
данный код добавляет его в последнюю позицию.Как поменять позицию?
розница 8.3 документ установки цен
добавляю новый реквизит,добавляю элемент формы,связываю их.Необходимо поменять местоположение нового реквизита в дереве цен,иными словами поставить его не на последнее месть в дереве цен,а в другое
мНовыеРеквизиты = Новый Массив;
пНовыйРеквизит = Новый РеквизитФормы("РеквизитКорректор", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)), "ДеревоЦен", "Корректор");
мНовыеРеквизиты.Добавить(пНовыйРеквизит);
//пНовыйРеквизит = Новый РеквизитФормы("РеквизитПоступило", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)), "ДеревоЦен", "Поступило");
//мНовыеРеквизиты.Добавить(пНовыйРеквизит);
ЭтаФорма.ИзменитьРеквизиты(мНовыеРеквизиты);
пНовыйЭлемент = Элементы.Добавить("Расш1_Корректор", Тип("ПолеФормы"), Элементы.ДеревоЦен);
пНовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
пНовыйЭлемент.ПутьКДанным = "ДеревоЦен.РеквизитКорректор";
Показатьданный код добавляет его в последнюю позицию.Как поменять позицию?
По теме из базы знаний
- Интеграция сценарного тестирования в процесс разработки
- Разработка и сценарное тестирование с Vanessa-ADD. Концепция, теория и сквозной пример создания сценария
- Разработка и сценарное тестирование с Vanessa-ADD. Практические примеры сценариев. Шаги встроенной библиотеки
- Каждому проекту – сценарные тесты! Быстрый старт в тестирование с помощью СППР
- Ценовая власть (УТ 11.5) - 2
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вместо Добавить() использовать Вставить(). Все как и в работе с коллекциями.
И еще. Местоположение реквизитов не имеет никакого значения. Вам надо изменить местоположение ЭЛЕМЕНТА формы в визуальном отображении.
Элементы.Вставить(...);
И еще. Местоположение реквизитов не имеет никакого значения. Вам надо изменить местоположение ЭЛЕМЕНТА формы в визуальном отображении.
Элементы.Вставить(...);
(4)дело в том,что сначала при создании на сервере колонка добавляется,а затем по ходу работы необходимо дать отработать стандартным функция конфигурации,которые не предусматривают наличие доп колонок. И в связи с этим перед запуском стандартных модулей делаю так
1 сохраняю данные реквизита
2 удаляю реквизит
3 передаю конфигурации управление
4 снова создаю реквизит
5 восстанавливаю данные в реквизит
пТЗ_ДанныеРеквизита = Новый ТаблицаЗначений;
пТЗ_ДанныеРеквизита.Колонки.Добавить("РеквизитКорректор");
СохранитьКолонкуДереваРекурсивно(пТЗ_ДанныеРеквизита, ДеревоЦен.ПолучитьЭлементы());
пМассивУдалить = Новый Массив;
пМассивУдалить.Добавить("ДеревоЦен.РеквизитКорректор");
ЭтаФорма.ИзменитьРеквизиты(, пМассивУдалить);
ПродолжитьВызов();
пНовыеРеквизиты = Новый Массив;
пНовыйРеквизит = Новый РеквизитФормы("РеквизитКорректор", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)), "ДеревоЦен", "Корректор");
пНовыеРеквизиты.Добавить(пНовыйРеквизит);
ЭтаФорма.ИзменитьРеквизиты(пНовыеРеквизиты);
ЗагрузитьКолонкуДереваРекурсивно(пТЗ_ДанныеРеквизита, ДеревоЦен.ПолучитьЭлементы());
Показать
(13) Не так. В-первых, данный код переместит элемент в самый конец группы (если вам так и надо - то ок). Во вторых - использовать Найти внутри методов - это моветон. А как поведет себя перемещение, если элемент с таким именем будет не найден? Так писать нельзя.
Если вы точно знаете, что такой элемент существует, то к нему можно сразу обратиться через "точку":
Если вы не уверены, что такой элемент существует, тогда
Если вы точно знаете, что такой элемент существует, то к нему можно сразу обратиться через "точку":
Элементы.Переместить(Элементы.Расш1_Корректор, Элементы.ДеревоЦен);
Если вы не уверены, что такой элемент существует, тогда
ПеремещаемыйЭлемент = Элементы.ДеревоЦен.ПодчиненныеЭлементы.Найти("Расш1_Корректор");
Если ПеремещаемыйЭлемент <> Неопределено Тогда
Элементы.Переместить(ПеремещаемыйЭлемент, Элементы.ДеревоЦен);
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот