Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает метод Сдвинуть()
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Insider12
1С:Предприятие 8.3 (8.3.10.2561)
Управление производственным предприятием, редакция 1.4

Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так:

    НоваяКолонка = ЭлементыФормы.Товары.Колонки.Добавить("ЦенаСНаценкой", "Цена с наценкой");
    НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
    НоваяКолонка.Данные = "ЦенаСНаценкой";
    ЭлементыФормы.Товары.Колонки.Сдвинуть(ЭлементыФормы.Товары.Колонки["ЦенаСНаценкой"], -10);


Эта колонка добавляется, но только в конец, то есть метод Сдвинуть не отрабатывает,
Если же я, например, пишу тут-же такое с любой другой колонкой, например:
ЭлементыФормы.Товары.Колонки.Сдвинуть(ЭлементыФормы.Товары.Колонки["Сумма"], -10);

То колонка сумма перемещается влево, как и ожидается.

Тип данных в отладчике одинаков у таких, по разному ведущих себя, колонок - "КолонкаТабличногоПоля".
Вообщем, в чем может быть дело?
Petre
Insider12 @ Сегодня, 9:09 необходимо зарегистрироваться для просмотра ссылки ,
8.3.10.2561 без совместимости - все работает.
Insider12
Petre @ Сегодня, 9:25 необходимо зарегистрироваться для просмотра ссылки ,
Ну не хотелось бы удалять совместимость, это уже прям явное изменение конфы
Petre
Insider12 @ Сегодня, 9:34 необходимо зарегистрироваться для просмотра ссылки ,
Какая совместимость? Какая версия платформы?
daveal
Попробуйте явно Колонки.Вставить в нужную позицию
Insider12
daveal @ Сегодня, 9:58 необходимо зарегистрироваться для просмотра ссылки ,
Да я эту колонку создаю программно, (правда реквизит в табличную часть в дерево конфигуратора все же добавляю руками) поэтому форму я не трогаю вообще, а то привязки послетают, будет все съеживаться.

daveal @ Сегодня, 9:58 необходимо зарегистрироваться для просмотра ссылки ,
аа, может быть я не так вас понял, если вы имеете ввиду код, то не могли бы привести примерно как в моем случае метод Вставить() использовать?
daveal
Insider12,
НоваяКолонка = ЭлементыФормы.Товары.Колонки.Вставить(5, "Цена с наценкой");
НоваяКолонка.Имя = "ЦенаСНаценкой";
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
НоваяКолонка.Данные = "ЦенаСНаценкой";

Вместо 5 нужный Индекс
Insider12
Вот так решилось:
Вместо
НоваяКолонка = ЭлементыФормы.Товары.Колонки.Добавить("ЦенаСНаценкой", "Цена с наценкой");

Сделал
НоваяКолонка = ЭлементыФормы.Товары.Колонки.Вставить(10, "ЦенаСНаценкой");
НоваяКолонка.ТекстШапки = "Цена с наценкой";
НоваяКолонка.Имя = "ЦенаСНаценкой";
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.