Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 16:04

Множественное выделение и копирование

Автор mohock, 23 авг 2010, 15:26

0 Пользователей и 1 гость просматривают эту тему.

mohock

Добрый день
Есть табличное поле. У него есть характеристики (свойства) Режим выделения и Режим выделения строки. Если установить РежимВыделения = Множественный и РежимВыделенияСтроки = Строка, то можно будет выделять строки в Табличном поле используя Shift и Ctrl. Выделенное можно удалить, ч/з Командную панель со стандартными кнопками. Но почему-то нельзя скопировать выделенное.
Кто знает как это сделать без кодирования?

mohock

Не стал ждать решил кодированием:
Кому интересно, то ключевая фраза -

ВыделенноеВТаблице = ЭлементыФормы.Товары.ВыделенныеСтроки;

Затем цикл:
   Для Каждого Выделенное Из ВыделенноеВТаблице Цикл
                          ...
           КонецЦикла;

crow1983

А можно подробнее внутри цикла? Куда вы помещаете данные? И с какой целью вообще надо копировать?
Преподаватель, программист...и просто хороший человек

crow1983

Я в том смысле в буфер копируется или новая строка появляется?
Преподаватель, программист...и просто хороший человек

mohock

Цитата: crow1983 от 23 авг 2010, 17:32
А можно подробнее внутри цикла? Куда вы помещаете данные? И с какой целью вообще надо копировать?

Для Каждого Выделенное Из ВыделенноеВТаблице Цикл
      Товар = ТабличноеПоле.Добавить();
      Товар.Номенклатура = Выделенное.Номенклатура;
      Товар.Количество = Выделенное.Количество;
      Товар.Цена = Выделенное.Цена;
               .....
КонецЦикла;

Т.е. идет перебор по выделенным строкам и они добавляются в ТабличноеПоле, в котором их выделили. Мне это надо было.
Сама процедура вешается на событие кнопки, которая добавлена в кнопочную панель управления.
Это почему-то не стандартная операция для 1С. Во многих системах это обычное дело.
Однако, я понимаю, что это связано с партионным учетом и свертками табличных частей для правильного вычисления остатков при списании.

mohock

Цитата: mohock от 23 авг 2010, 22:04

Исходя из

ВыделенноеВТаблице = ЭлементыФормы.Товары.ВыделенныеСтроки;

то

      Товар = ТабличноеПоле.Добавить();

лучше заменить на:

     Товар = Товары.Добавить(); //я имею в виду, что имя ТЧ объекта = имя ТабличноеПоле

:D


crow1983

Преподаватель, программист...и просто хороший человек

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск