[РЕШЕНО] Групповое заполнение строк табличной части.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Artjomrgv, 24 апр 2016.

  1. TopicStarter Overlay
    Artjomrgv
    Offline

    Artjomrgv

    Регистрация:
    13 июл 2014
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Добрый день. Уважаемые форумчане помогите с кодом не могу доделать редактирование табличной части документа. Например пользователь выделил через ctpl или shift несколько строк, и одновременно поменял статус (Кнопка утвердить) выделенных строк.

    Кнопкой Утвердить я получаю значение которое хочу проставить в колонке утвердить.
    &НаКлиенте
    Процедура Утвердить(Команда)
    ПараметрыФормы= Новый Структура("ЗакрыватьПриВыборе",Истина);
    ОткрытьФорму("Перечисление.Утвердить.ФормаВыбора",ПараметрыФормы,Элементы.Реестр)
    КонецПроцедуры


    Для одного элементы это делается так

    &НаКлиенте
    Процедура РеестрОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Элементы.Реестр.ТекущиеДанные.Утвердить=ВыбранноеЗначение
    КонецПроцедуры


    А как это сделать для массива выделенных строк. Вроде задача простая, а решить не могу. 1C 8.3 Управляемое приложение

    Вложения:

    Последнее редактирование: 24 апр 2016
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    У табличного поля есть свойство "ВыделенныеСтроки". Это массив, содержащий идентификаторы выделенных строк.
    Обходя в цикле элементы этого массива, по идентификатору получаете строку таблицы и устанавливаете в строке значение.

    Для получения строки таблицы есть соответствующий метод "НайтиПоИдентификатору()".
  3. TopicStarter Overlay
    Artjomrgv
    Offline

    Artjomrgv

    Регистрация:
    13 июл 2014
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Так.
    Процедура РеестрОбработкаВыбора (Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    Строки=Элементы.Реестр.ВыделенныеСтроки; - Я получая массив данных (выделенные строки)

    Дальше

    Для каждого выдЗнач из строки цикл

    Элемент. ???????=ВыбранноеЗначение
    КонецЦикла;

    КонецПроцедуры


    Как обратиться именно к нужной колонке?
  4. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Как-то так (если правильно помню по памяти):
    Код:
    Для каждого выдЗнач из строки цикл
        СтрокаТабличнойЧасти = Объект.Реестр.НайтиПоИдентификатору(выдЗнач);
        СтрокаТабличнойЧасти.Утвердить = ВыбранноеЗначение;
    КонецЦикла;
  5. TopicStarter Overlay
    Artjomrgv
    Offline

    Artjomrgv

    Регистрация:
    13 июл 2014
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    ААААА!!. Работает. Ты не представляешь как мне помог. Спасибо.

Поделиться этой страницей