Если нужно программно заполнить реквизиты строки табличной части, которую добавляет пользователь, необходимо использовать обработчик события табличной части ПриНачалеРедактирования.
Бесплатные программы русские. Программирование 1С
(Эта статья относится к циклу статей 1С с нуля; программирование 1с с нуля; таблица значений 1с)
В прошлой статье я рассказывал о создании таблицы значений 1с и способам обращения к данным, которые в ней содержатся.
Давайте расширим эти знания, для более удобной работы с таблицей значений. Начнем с некоторых полезных свойств таблицы значений.
1. Перебор строк таблицы значений при помощи индексов строк (номеров строк)
Метод ТаблицаЗначений.Количество() — возвращает количество строк в таблице значений.
Напоминаю, что если метод ТаблицаЗначений.Количество() показал, что в таблице 5 строк, то индексы(номера) этих строк такие: 0, 1, 2, 3, 4.
Предположим, что мы имеем таблицу значений 1С с колонкой «ФамилияКлиента»
Если мы желаем перебрать все строки таблицы значений при помощи индекса строк, мы должны использовать заголовок цикла, как в следующем примере. В нем мы выводим на экран содержимое колонки «ФамилияКлиента» для каждой строки, то есть, по-сути, печатаем весь столбец с фамилиями клиентов.
Итак:
Обратите внимание, что счетчик цикла мы наращиваем до значения, равного числу строк таблицы минус один: НашаТаблица.Количество() — 1
Давайте выясним, что означает код: НашаТаблица[НомерСтроки]. Это и есть обращение к конкретной строке таблицы значений по ее индексу (номеру).
В следующем примере я покажу, как НашаТаблица[НомерСтроки] возвращает нам объект, который имеет тип «СтрокаТаблицыЗначений» .
В дополнительную переменную я помещаю результат обращение к строке по номеру: СтрокаТаблицы = НашаТаблица[НомерСтроки]
Далее, получив объект — одну строку таблицы значений в виде переменной СтрокаТаблицы, мы можем работать отдельно с этим объектом-строкой. Пример ниже делает тоже самое, что и пример выше, только в нижнем примере использована «лишняя» переменная СтрокаТаблицы
Если внутри цикла мы напишем такой код: Сообщить(СтрокаТаблицы) — этот код НЕ выведет на экран данные из текущей строки таблицы значений (например фамилию клиента и прочее).
Все правильно, потому что переменная СтрокаТаблицы представляет собой объект и доступ к данным осуществляется через свойства и методы этого объекта — а если написать Сообщить(СтрокаТаблицы), то на экран будет выведена информация о типе переменной СтрокаТаблицы: СтрокаТаблицыЗначений.
Например, код СтрокаТаблицы.ФамилияКлиента как раз означает доступ к данным, хранящимся в колонке «ФамилияКлиента» у текущей строки-объекта. Чем мы и воспользовались в примере, чтобы вывести фамилии всех клиентов, хранящиеся в таблице значений. Перебирая все строки и выводя на экран по очереди эти самые фамилии.
Промокоды на Займер на скидки
2. Перебор строк таблицы значений при помощи цикла перебора коллекции «Для Каждого. «
Для перебора строк таблицы значений 1С мы можем воспользоваться другим вариантом цикла. Это специальный цикл для перебора элементов объектов-коллекций. Таблица значений 1с представляет из себя так называемую коллекцию. В данном случае — коллекцию строк.
Условное оформление списка | Кодерлайн — ОБСЛУЖИВАНИЕ 1С | Яндекс Дзен
Функция ВвестиСтроку x, y, z, w вызывает диалог для ввода строки, введенная строка записывается в переменную x , кроме этого можно указать подсказку y , длину вводимой строки z , отметку многострочности вводимого текста w.
Одиночный подбор
При одиночном подборе форма справочника будет закрываться сразу после выбора элемента. Для выбора следующего элемента необходимо будет снова инициировать подбор.
Откроем форму документа ПриходнаяНакладная , создадим команду Подбор и назначим для нее обработчик:
В этой процедуре мы открываем форму выбора для справочника Номенклатура , указывая, что она подчинена таблице Материалы формы документа ПриходнаяНакладная ( Элементы.Материалы ). При выборе из формы выбора справочника выбранное значение будет передано в обработчик события ОбработкаВыбора таблицы формы Материалы , так как она является владельцем открытой формы выбора.
Поэтому откроем палитру свойств таблицы Материалы и создадим обработчик события ОбработкаВыбора :
В этой процедуре мы добавляем новую строку в таблицу Материалы и присваиваем колонке Материал в новой строке выбранное в форме выбора справочника значение. Это значение передается в обработчик события в параметре ВыбранноеЗначение .
1С команды в табличной части — Вэб-шпаргалка для интернет предпринимателей!
- Если табличное поле связано с таблицей или деревом значений, метод добавляет строку в таблицу или дерево значений (аналогично соответствующим методам этих объектов).
- Если табличное поле связано со списком объектов, хранимых в базе данных, метод начинает редактирование нового объекта этого списка. (Например, список объектов в форме списка справочника, или документа).
- Если табличное поле связано с набором записей или табличной частью, то метод начинает редактирование новой записи. (Например, список записей в форме списка регистра сведений; табличная часть документа или справочника).
Множественный подбор с использованием множественного выбора
Обработчик события ОбработкаВыбора остается без изменений.
Метод формы ОповеститьОВыборе() используется в тех случаях, когда алгоритм формирования данных подбора сложен и кроме собственно выбора элемента справочника от пользователя требуется указание некоторой дополнительной информации. В этом случае метод ОповеститьОВыборе() вызывается тогда, когда вся необходимая информация подбора сформирована.
Метод ОповеститьОВыборе() посылает оповещение владельцу формы о выполнении выбора или подбора, передает ему выбранное значение и закрывает форму, если она открыта не в режиме множественного выбора.
Также метод ОповеститьОВыборе() может использоваться в тех случаях, когда требуется передать в форму документа не только выбранный элемент справочника (или массив элементов), а некоторую произвольную структуру данных.
Функция ВвестиСтроку x, y, z, w вызывает диалог для ввода строки, введенная строка записывается в переменную x , кроме этого можно указать подсказку y , длину вводимой строки z , отметку многострочности вводимого текста w.
1С Управляемые Формы. Программное создание таблицы значений и динамического списка (Часть 2)
Перед прочтением данной статьи рекомендуется ознакомиться с первой частью, в которой описаны примеры программного создания элементов, команд, реквизитов управляемой формы, а также описание стандартных возможностей для работы с ними.
В данной же части будет рассмотрено программное создание динамических списков, таблиц значений на форме, их вывод в элементы формы и стандартные возможности для работы.
Модифицировать формы рекомендуется программно для удобного обновления конфигураций и исключения конфликтов, а также для удобной поддержки кода. Со статьями о механизмах модификации можно ознакомиться в разделе полезных ссылок.
Также все описанные в текущем разделе процедуры и функции находятся во внешней обработке УпрФормы.
Примеры программного создания элементов, команд, реквизитов управляемой формы, а также описание стандартных возможностей для работы с ними можно будет посмотреть в части 1.
Для запуска обработки в режиме предприятия необходимо наличие объектов «Справочники.Номенклатура», подчиненный ему «Справочники.ХарактеристикиНоменклатуры» и «РегистрыСведений.ЦеныНоменклатуры”.
Таблица значений 1С – 2 часть. Основы. Обращение к данным, перебор строк таблицы значений
Все действия по управлению списком значений добавление значения в список, удаление значения из списка, сортировка списка и другие выполняются только средствами встроенного языка.
Функция СтрПолучитьСтроку(x, y) возвращает строку с номером “y” из многострочного текста “x”.
МногострочныйТекст = СтрЗаменить(«тест1,тест2,тест3,тест4», «,», Символы.ПС); //тест1 тест2 тест3 тест4
Функция Символ(x) получает код символа “x” и возвращает строку содержащую соответствующий символ (в кодировке Unicode). Функция КодСимвола(x) делает обратное действие — получает символ “x” и возвращает его код в кодировке Unicode. Таблицу символов Unicode можно найти, например, тут.
Добавление и удаление номеров строк
- ВК (CR) — возврат каретки;
- ВТаб (VTab) — вертикальная табуляция;
- НПП (NBSp) — неразрывный пробел;
- ПС (LF) — перевод строки;
- ПФ (FF) — перевод формы;
- Таб (Tab) — символ горизонтальной табуляции.
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы