1с выделить строку табличного документа

Обновлено: 08.07.2024

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.11.2867.

Мы реализовали выделение нескольких блоков строк в таблицах, а также вывод чисел с единицами измерения в диаграммы, отчёты и динамические списки.

Выделение блоков в таблицах

Желание пользователей выделять несколько отдельных блоков строк в таблицах вполне естественно и понятно. Подобные пожелания были у нас записаны, но их реализация это задача нетривиальная.

Наверное, самым популярным источником данных для таблиц является динамический список. Сложность заключается в том, что в 1С:Предприятии он бесконечный, и платформа не держит в памяти все отображаемые строки. Платформа не знает, сколько и каких строк находится выше и ниже текущей видимой области.

Но мы нашли решение этой проблемы, и теперь вы можете выделять несколько несоприкасающихся блоков в таблицах. Для выделения первого блока вы можете использовать Shift + клик мышью на последней строке блока. А для выделения первой строки следующего блока Ctrl + клик мышью. Окончание следующего блока вы можете указать также с помощью комбинации Shift + клик мышью.

02.jpg

Такое выделение строк поддерживается теперь во всех таблицах, включая таблицы, связанные с динамическими списками и с настройками компоновки данных.

Кроме этого в таблицах, связанных с настройками компоновки данных и с данными типа ДанныеФормыДерево теперь возможно выделение диапазонов строк с любыми родителями, а не только с одинаковыми.

Как вы можете заметить, для выделения конца блока используется комбинация Shift + клик мышью. Таким образом, мы реализовали и ещё одно ваше пожелание, чтобы группу строк можно было выделять кликом на последней строке группы.

Выделение большого количества строк

Мы оптимизировали выделение большого количества строк в тонком клиенте, а кроме этого провели дополнительную оптимизацию выделения строк именно в динамическом списке для тонкого клиента и веб-клиента.

Помимо этого мы изменили сам алгоритм выделения большого количества строк и добавили возможность прерывания этого процесса. Теперь, если выделение строк продолжается более 2 секунд, на экране отображается форма, которая позволяет прервать процесс:

01.jpg

Если пользователь не предпринимает никаких действий, эта форма автоматически исчезнет с экрана, когда выделение завершится. Если пользователь нажимает на кнопку Прервать, выделение строк прекращается. При этом выделенными становятся те строки, которая программа уже успела выделить.

Единицы измерения

В диаграммах, отчётах и динамических списках появилась возможность выводить форматированные числовые значения вместе с единицей измерения. Например, в колонке Сумма, где отображается сумма документа.

03.jpg

Для этого мы добавили в форматную строку новый параметр ЧФ. С его помощью вы можете указывать нужный вам формат, например, прямо в условном оформлении отчёта.

04.jpg

Также этот параметр форматной строки вы можете использовать при описании реквизитов справочников, документов и других объектов конфигурации. Платформа будет автоматически отображать его в динамических списках, например.

05.jpg

Этот же формат вы можете использовать и для редактирования значений в поле ввода.

06.jpg

Мы рассчитываем, что эти доработки повысят информативность отчётов и таблиц, а также упростят работу пользователей с большими таблицами.

Табличные части позволяют хранить неограниченное количество структурированной информации, принадлежащей одному объекту.

Рассмотрим некоторые приемы работы с табличными частями.

Как обойти табличную часть

Для обхода табличной части можно использовать цикл Для каждого

Для каждого Строка из ТабличнаяЧасть Цикл

На каждой итерации в переменную Строка передается очередная строка табличной части. Значения реквизитов строки можно получить выражением Строка.ИмяРеквизита.

Как получить и обойти выделенные строки табличной части

Для вывода информации из табличной части объекта служит элемент формы Табличное поле. Для включения возможности выделения нескольких строк на табличном поле нужно установить значение Множественный у его свойства Режим выделения.

Работа с табличной частью объектов в 1С

Для получения перечня выделенных строк используется следующий код:

ВыделенныеСтроки = ЭлементыФормы . ИмяТабличногоПоля . ВыделенныеСтроки ;

Для того чтобы обойти выделенные строки используется цикл Для каждого:

ВыделенныеСтроки = ЭлементыФормы . ИмяТабличногоПоля . ВыделенныеСтроки ;

Для каждого Строка из ВыделенныеСтроки Цикл

Как программно выделить строки табличной части (табличного поля) и снять выделение

Чтобы программно снять выделение строк табличного поля:

Чтобы программно выделить все строки табличного поля:

Как очистить табличную часть

Как получить текущую строку табличной части

Для обычных форм код будет выглядеть так:

Для управляемых форм:

Как добавить новую строку в табличную часть

Добавление новой строки в конец табличной части:

Добавление новой строки в любое место табличной части (последующие строки будут сдвинуты):

НоваяСтрока . Реквизит 1 = "Значение" ;

Как программно заполнить реквизиты строки табличной части

Если нужно программно заполнить реквизиты строки табличной части, которую добавляет пользователь, необходимо использовать обработчик события табличной части ПриНачалеРедактирования.

Создаваемая обработчиком процедура имеет три параметра:

Рассмотрим пример. Допустим, нам нужно заполнить реквизит табличной части СчетУчета, в случае, когда добавляется новая строка. При редактировании существующей строки изменять счет учета не нужно.

//Если пользователь редактирует существующую строку, то ничего не делаем
Если НЕ НоваяСтрока Тогда
Возврат ;
КонецЕсли ;

//Если же строка новая, устанавливаем счет учета
ТекСтрока = Элемент . ТекущиеДанные ; //Получили текущую строку табличной части
ТекСтрока . СчетУчета = ПланыСчетов . Хозрасчетый . НужныйСчетУчета ;
КонецПроцедуры

Работа с табличной частью объектов в 1С : 13 комментариев

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

Спасибо!
Буду пробовать.

А может это подойдет?

Табличная часть (Tabular section)
Итог (Total)
Синтаксис:

Тип: Число; Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:

Тип: Число; Неопределено.

Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.

Сервер, толстый клиент, внешнее соединение.
Пример:

Это подошло бы, если бы нужно было суммировать колонку в одном документе. А Юрию нужно суммировать колонку Стоимость всех документов.

Добрый день!
Достаточно ли будет обратиться в модуле формы к текущей строке табличной части или в модуле менеджера тоже нужно будет что-то прописать?

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

Здравствуйте!
Опишу вкратце ситуацию:
Из документа вызывается команда печати штрихкодов и в обработку печати передается, как я понимаю, весь контекст документа и печатаются этикетки для всех строк документа. Возможно ли в обработке печати получить информацию только о выделенных строках из этого контекста ? Прилагаю код модуля команды ПечатьЭтикеток.
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

&НаСервере
Функция Заполнялка(ДокСсылка) Экспорт
ТабДокумент = Новый ТабличныйДокумент;

ТабДокумент.АвтоМасштаб = истина ;
ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.ТолькоПросмотр = Истина;
ТабДокумент.ОтображатьЗаголовки = Ложь;

ЧтоТо = Стр.СерийныйНомер;
ПервыйМодуль.ВывестиШтрихкодДокументаВОбластьМакета(ВнешняяКомпонента,ОбластьМакета,ЧтоТо) ;

Информацию о выделенных строках вы можете получить только в модуле формы документа, причем, если мне не изменяет память, это должна быть клиентская процедура. По ссылке на документ выделенные строки получить нельзя.

Значит я на клиенте должен сформировать таблицу выделенных строк и уже ее передавать в обработку печати ?

Доброго времени суток!
Создаю обработку на обычных формах, в которой имеется несколько Табличных частей. Они в свою очередь находят отображение в Форме обработки. И если данные первых 3, меня после закрытия Формы, не интересуют, то данные последней хотелось-бы использовать в дальнейшем, пока открыта обработка. В настоящее время при закрытии Формы Табличные части очищаются. В дальнейшем, в новом сеансе работы с обработкой эти данные не нужны. Насколько я понимаю Функции сохранения Данных Табличной части обработки не существует. Табличную часть в обработке решил использовать из-за возможности сохранить структуру Данных. Как мне сохранить эти данные для использования в других окнах?
Может у Вас есть видео по данному вопросу?

Нетипичный бухгалтер (бухгалтерия и налоги)

Нетипичный бухгалтер (бухгалтерия и налоги)

Нетипичный бухгалтер (бухгалтерия и налоги) запись закреплена

ЛАЙФХАК 1С.
Выделение строки цветом.

Для тех кто еще не знает, расскажем об удобной функции в 1С - выделение цветом.

Для чего использовать? Например для того, что бы видеть подписаны ли документы покупателем/заказчиком, поступили ли оригиналы документов от поставщика. (Это удобнее чем искать крыжики в конце таблицы)

Открываем журнал в котором необходимо сделать выделение. В нашем случае "Продажи"/"Реализация (акты, накладные)".

Ищем справа кнопку "Еще", жмем, выбираем "Настроить список".

Открываем закладку "Условное форматирование" жмем "Добавить"

В открывшемся окне на закладке "Оформление" крыжим "Цвет текста" и меняем цвет с черного на красный (или любой другой).

На закладе "Условие" в левом окне "Доступные поля" выбираем (двойным нажатием) поле "Подписан" оно появляется в правом окне, ставим вид сравнения "Равно" значение "Нет".

Жмем "ОК" и "Завершить редактирование"

Любуемся на список который теперь имеет два цвета, черные строки это подписанные контрагентами накладные/акты , красные не подписанные.

В поступлениях делаем то же самое, только заменяем "Подписан" на "Оригинал".

Если не нравится выделение текста, можно выделить фон строки, цвета разные.

Можно выбрать и другие поля для выделения в настройках таблицы, в каждом журнале свои..

Как в 1С выделить несколько строк?

Выделить несколько строк в журнале документов или другой табличной части можно:

  • сочетанием клавиш Ctrl + A — выделяются все строки;


  • клавишей Shift — выделяются несколько строк подряд:
    • или щелкнуть в начале диапазона выделения+ использовать стрелки,
    • или щелкнуть по нужной строке, обозначив конец выделения списка.


    • клавишей Ctrl — зажав ее, выделите только те документы, которые вам нужны.


    См. также:

    Если Вы еще не подписаны:

    Активировать демо-доступ бесплатно →

    или

    Оформить подписку на Рубрикатор →

    После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

    Помогла статья?

    Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

    Похожие публикации

      В ЗУП 3.1.14 реализован новый механизм для продления отпусков на....

    Карточка публикации

    (4 оценок, среднее: 2,00 из 5)

    Данную публикацию можно обсудить в комментариях ниже.
    Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
    Задать вопрос нашим специалистам можно по ссылке >>

    Добавить комментарий Отменить ответ

    Для отправки комментария вам необходимо авторизоваться.

    Вы можете задать еще вопросов

    Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8

    Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявку

    Нажимая кнопку "Задать вопрос", я соглашаюсь с
    регламентом БухЭксперт8.ру >>

    Как не попасть в ловушку, работая с контрагентами из ЕАЭС

    [17.11.2021 запись] Практический переход на ФСБУ 6 и ФСБУ 26 в 1С

    Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму

    Изменения в 2021 году, о которых нужно знать бухгалтеру

    [11.10.2021 запись] Учет ОС по-новому: ФСБУ 6/2020, ФСБУ 26/2020, ФСБУ 25/2018

    [29.10.2021 запись] Пообъектный учет ОС и подходы к определению и пересмотру СПИ

    Спасибо! Очень ценно полезно нужно! Буду еще неоднократно обращаться к этому семинару для изучения этой темы.

    Читайте также: