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

Обработка выбранных строк отметкой

Автор Вадим Ф, 27 июл 2018, 12:21

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

alex0402

рассмотри такой способ выделения:
Цитата: alex0402 от 27 июл 2018, 12:56то это и есть именно выделенные пользователем. т.е. в данном случает та строка, на которой стоит курсор. Или те, которые пользователь выделил с помощью шифт+стрелка или контрол+левая мышь.

реализовано на уровне платформы, программировать не нужно, только обработку выделения.
Спасибо за Сказать спасибо

Sy4a

Обход выделенных элементов на управляемых формах выглядит вот так

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

ИсточникСтрок = МассивСтрокДляПечати;

Для каждого стр из ИсточникСтрок цикл

Как на обычных формах не знаю, наверно также)

Вадим Ф

К сожалению код не поменялся с прошлого раза, тот который скидывал с самого начала.
Про отбор почитал, но не пойму как им воспользоваться и подтянуть его к ДокументуОснованию.

Вот мой код на основании:
Если ТипЗнч(Основание) = Тип("ДокументСсылка.ГрузовыеОтправления") Тогда
// Заполнение шапки
Организация = Основание.ДокументОснование.Организация;
Склад = Основание.ДокументОснование.СкладГруппа;
Контрагент = Основание.ДокументОснование.Контрагент;
Сделка = Основание.ДокументОснование;


//Заполнение табличной части
ТЗ = Сделка.Услуги.Выгрузить();
ТЗ.Колонки.Удалить("Количество");
Услуги.Загрузить(ТЗ);

ТЗГО = Основание.Груз.ВыгрузитьКолонку("Вес");
Услуги.ЗагрузитьКолонку(ТЗГО, "Количество");


Для каждого Колонка Из Услуги Цикл
Если Колонка.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда
НДС20 = 0.20;
          Колонка.Сумма = Колонка.Количество * Колонка.Цена;
          Колонка.СуммаНДС = Колонка.Сумма * НДС20;
    КонецЕсли
КонецЦикла;
КонецЕсли;



Смотрите, значит у меня есть этот список документов, в комментариях писали, что нужно прикрепить эту отметку к реквизиту табличной части, но насколько я понимаю список не является табличной частью, пробовал создавать табличную часть, ну в общем что попало...)

Список документов я могу вывести через:
Если ОтмеченныеНакладные.Количество()=0 Тогда
Сообщить("Не отмечен ни один товар!");
Иначе
Сообщить("Отмечены следующие накладные:");
Для Каждого Накладная Из ОтмеченныеНакладные Цикл
  Выбранные = Накладная.Значение.Ссылка;
Сообщить(Выбранные);
//ВременнаяТаблица = Выбранные.Груз.Выгрузить();
КонецЦикла;
КонецЕсли;


Но понимаю, что это ничего и никуда его не прикрутишь....

Насколько я понял, этот код вообще не нужен и нужно искать что-то другое, только не пойму что. Хотя бы подтолкните что искать...

Спасибо!

alex0402

Цитата: Вадим Ф от 30 июл 2018, 16:51список документов
если это список документов, то можно "запихнуть" отметку в реквизиты документа или в регистр сведений (в этом случае на УФ нужен будет Динамический список, для обычных форм придется через получение данных или оформление строки).
ну и на сам реквизит вешать обработчик "при изменении"
Спасибо за Сказать спасибо

Вадим Ф

Спасибо за все вышеперечисленные методы, сейчас буду пробовать.

Еще раз спасибо, если у кого возникнут какие-то мысли, пишите. Буду очень благодарен)
Добавлено: 31 июл 2018, 12:37


Ребята, список документов вроде получил.
Как теперь указать, что документы основания, это именно эти документы?

    ПолучитьФорму = Документы.ГрузовыеОтправления.ПолучитьФормуСписка("ФормаСписка");
Строки = ПолучитьФорму.ЭлементыФормы.ДокументСписок.ВыделенныеСтроки;

Для Каждого Элемент Из Строки Цикл
Выбранные = Элемент;
КонецЦикла;

Добавлено: 31 июл 2018, 17:15


Подскажите пожалуйста, кто знает. Никак не могу решить...

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

Рейтинг@Mail.ru

Поиск