Как изменить выделенные строки динамического списка?
Как можно изменить выделенные строки динамического списка? Выделенные строки получил, но как изменить их не знаю. Нужно, чтобы при нажатии на кнопку "Зачет оплаты" изменялось значение реквизита СостояниеОплаты с Ложь на Истина
&НаКлиенте
Процедура КомандаЗачетОплаты(Команда)
СтрокиСписка = Элементы.Список.ВыделенныеСтроки;
Для Каждого ВыделеннаяСтрока Из СтрокиСписка Цикл
СтрокаСписка = Элементы.Список.ДанныеСтроки(ВыделеннаяСтрока);
СтрокаСписка.СостояниеОплаты = Истина;
Сообщить(СтрокаСписка.СостояниеОплаты);
КонецЦикла;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Как добавить опцию "Изменить выделенные" в списках для своей конфигурации (групповое изменение справочников и документов)
- Как сломать работу 1С, будучи пользователем
- [Общий модуль] Динамическое формирование интерфейса
- Как быстро развернуть автоматическую линию проверки своего решения на 1С, затратив 8 часов и получив выигрыш в 1 человеко/месяц
- Использование флажков в динамических списках 2.0
Найденные решения
ОбъектНакладная = выделеннаястрока.ссылка.получитьобьект();
ОбъектНакладная.состояниеоплаты=истина;
Объектнакладная.записать();Если это реквизит (не типовая конфигурация), то и можно пойти от обратного, записать признак оплаты в накладной, а затем автоматически сформировать документы оплаты по всем накладным (если это вообще предусмотрено в конфигурации).
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Возможно, состояние оплаты это не реквизит накладной, а показатель, рассчитываемый при обновлении списка запросом из формы. В этом случае ваша кнопка должно формировать документы оплаты со ссылками на выделенные документы и проводить их, после чего обновлять форму.
(3) СтрокаСписка.СостояниеОплаты - это не реквизит накладной. Это колонка динамического списка. Смотрите в запросе динамического списка - откуда берет ноги этот реквизит. Это раз.
Во-вторых, в нормальной ситуации состояние оплаты изменяется вводом документов поступления оплат, а не изменением "галочки в списке".
Во-вторых, в нормальной ситуации состояние оплаты изменяется вводом документов поступления оплат, а не изменением "галочки в списке".
(8) По началу вообще хотел сделать, чтобы на основании документа создавался РКО и зачитывался по нему платеж. Но по его просьбе там даже не указывается сумма самой доставки, а лишь сумма товаров, которые перевозчик перевозит... Сказал, что нужно максимум указывать водителя и был платеж или нет, без каких-либо усложнений. Что там в голове не знаю))
ОбъектНакладная = выделеннаястрока.ссылка.получитьобьект();
ОбъектНакладная.состояниеоплаты=истина;
Объектнакладная.записать();Если это реквизит (не типовая конфигурация), то и можно пойти от обратного, записать признак оплаты в накладной, а затем автоматически сформировать документы оплаты по всем накладным (если это вообще предусмотрено в конфигурации).
Примерно как здесь вероятно, только у вас список(массив строк).
Модуль формы документа
Модуль формы документа
&НаКлиенте
Процедура ПолучитьВыделеннуюСтроку(Команда)
ПолучитьВыделеннуюСтрокуНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПолучитьВыделеннуюСтрокуНаСервере()
ТекСтрока = Элементы.ТабличнаяЧасть.ТекущаяСтрока;
Объект.ТабличнаяЧасть[ТекСтрока].РеквизитТЧ;
КонецПроцедуры Показать
Изменение строк динамического списка подробно описано
Вот пример
Вот пример
&НаКлиенте
Процедура ЗаполнитьВВыделенныхСтроках(Команда)
МассивСтруктур = Новый Массив;
Для каждого Стр Из Элементы.Список.ВыделенныеСтроки Цикл
ЗначениеСтроки = Элементы.Список.ДанныеСтроки(Стр);
Если ТипЗнч(Стр) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
СтруктураСтроки = Новый Структура;
СтруктураСтроки.Вставить("Строка",Стр);
СтруктураСтроки.Вставить("ГотовКОтправке",Не ЗначениеСтроки.ГотовКОтправке);
МассивСтруктур.Добавить(СтруктураСтроки);
КонецЦикла;
Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ВыделенныеСтроки",МассивСтруктур);
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
ВыделенныеСтроки = Неопределено;
Настройки.ДополнительныеСвойства.Свойство("ВыделенныеСтроки",ВыделенныеСтроки);
Если ВыделенныеСтроки <> Неопределено Тогда
Для каждого Стр Из ВыделенныеСтроки Цикл
НужнаяСтрока = Строки.Получить(Стр.Строка);
НужнаяСтрока.ГотовКОтправке = Стр.ГотовКОтправке;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
