|
Работа в 1С 21
Возвращаемое значение: значение конкретной колонки в данной строке. Пример: ВыбЗнач = Табл.ПолучитьЗначение(3, 5); НайтиЗначение(<Знач>, <Строка>, <Колонка>) – позволяет найти искомое значение в таблице значений и определить номер строки и номер колонки таблицы значений. Параметры: <Знач> – значение для поиска. <Строка> – идентификатор переменной, куда возвращается номер найденной строки. Если при вызове метода передать в этот параметр номер строки, то поиск будет осуществляться только по указанной строке. <Колонка> – идентификатор переменной, куда возвращается номер найденной колонки. Если при вызове метода передать в этот параметр номер или идентификатор колонки, то поиск будет осуществляться только по указанной колонке. Возвращаемое значение: 0 – значение не найдено; 1 – значение найдено. Пример: Перем НомСтр; Перем НомКолонки; Табл.НайтиЗначение(ВыбЗнач, НомСтр, НомКолонки); Сортировать(<Колонки>, <ДокументыПоДате>) – выполняет сортировку таблицы значений по заданным колонкам, порядку и направлению сортировки. Параметры: <Колонки> – строковое выражение, которое определяет колонки, порядок и направление сортировки. Формат передаваемой строки – это разделенные запятыми номера или идентификаторы колонок со знаком направления сортировки ("+" по возрастанию, "–" по убыванию, "*" по внутреннему значению). Знак направления сортировки следует указывать до обозначения колонки через пробел или без пробела. По умолчанию направление сортировки принимается по возрастанию. Например: "–Код, +Цена, –8, 5". <ДокументыПоДате> – необязательный параметр. Имеет смысл только в том случае, если значениями таблицы значений являются документы. В этом случае можно задавать сортировку документов по их хронологии. Число: 1 – сортировка по хронологии документов; 0 – нет. Значение по умолчанию – 0. Пример: Табл.Сортировать("–Код, +Цена, –8, 5"); Очистить() – выполняет очистку таблицы значений и удаляет колонки. Пример: Табл.Очистить(); Итог(<Колонка>) – вычисляет сумму по заданной колонке таблицы значений. Параметры: <Колонка> – номер или идентификатор колонки, по которой считать сумму. Возвращаемое значение: сумма по колонке. Пример: Сумма=Табл.Итог(2); Заполнить(<Знач>, <НачСтрока>, <КонСтрока>, <Колонки>) – позволяет заполнить значения конкретных колонок в строках таблицы значений переданным значением. Параметры: <Знач> – одиночное значение или список значений или таблица значений. <НачСтрока> – необязательный параметр. Номер начальной строки, с которой надо начинать заполнение. Значение по умолчанию 1. <КонСтрока> – необязательный параметр. Номер последней строки, по которую надо заполнять, если не указана, то до последней. <Колонки> – необязательный параметр. Номера или идентификаторы колонок, которые надо заполнять. Если параметр не задан, то заполняются все колонки. Пример: Табл.Заполнить(ВыбЗнач, 2, 5, "5, 6, 7"); Свернуть(<ГруппКолонки>, <СуммКолонки>) – позволяет свернуть таблицу значений по соответствующим значениям колонок, т. е. заменяет на одну строку все дублирующие (по значениям группировочных колонок) строки, суммируя значения но суммируемым колонкам. Параметры: <ГруппКолонки> – группировочные колонки (номера или идентификаторы колонок через запятую), по которым группировать данные. <СуммКолонки> – суммируемые колонки (номера или идентификаторы колонок через запятую), по которым суммировать данные. Пример: Табл.Свернуть("1,2,3,4", "5,6,7"); Выгрузить(<Знач>, <НачСтрока>, <КонСтрока>, <Колонки>) – позволяет выгрузить заданную область таблицы значений в переданное значение. Если в качестве значения для выгрузки задан список значений, то система выгружает данные из таблицы значений по колонкам. Параметры: <Знач> – идентификатор переменной, содержащей значение типа ТаблицаЗначений или СписокЗначений, в которое нужно выгрузить данные. Если переданное значение пустое, тогда система сама создаст объект типа ТаблицаЗначений. <НачСтрока> – необязательный параметр. Номер начальной строки, с которой надо начинать выгрузку. Значение по умолчанию 1. <КонСтрока> – необязательный параметр. Номер последней строки, по которую надо выгружать, если не указана, то до последней. <Колонки> – необязательный параметр. Номера или идентификаторы колонок, которые надо выгружать. Если параметр не задан, то выгружаются все колонки. Пример: НовТабл = СоздатьОбъект("ТаблицаЗначений"); СтарТабл.Выгрузить(НовТабл, 1, 5, "1,3,5,7"); Загрузить(<ТаблицаЗначений>) – позволяет скопировать структуру и значения таблицы значений. Прежняя структура колонок таблицы значений при этом очищается. Параметры: <ТаблицаЗначений> – значение типа ТаблицаЗначений. Структура и значения для загрузки. Пример: НовТабл = СоздатьОбъект("ТаблицаЗначений"); НовТабл.Загрузить(СтарТабл); ВидимостьКолонки(<Колонки>, <Видимость>, <Позиция>) – определяет перечень колонок и их видимость в визуальном представлении таблицы значений. Параметры: <Колонки> – строковое выражение, которое определяет список колонок. Формат передаваемой строки – это разделенные запятыми номера или идентификаторы колонок, для которых применяется данный метод. Например: «Код, Цена, 8, 5». <Видимость> – необязательный параметр. 1 – показать колонки; 0 – скрыть. По умолчанию – 1. <Пoзиция> – необязательный параметр. Позиция, в которой показывать колонку. Если параметр не задан, то колонки отображаются в соответствии с порядком колонок в таблице. Возвращаемое значение: Если передана одна колонка, то возвращается значение видимости колонки до вызова метода. 1 – колонка показана; 0 – колонка скрыта. Пример: ТаблДиалога.ВидимостьКолонки("Код, Цена, 8, 5"); ТекущаяСтрока(<ИндексСтроки>) – позволяет установить и/или считать текущее положение курсора в элементе диалога типа ТаблицаЗначений. Данный метод можно использовать только для объектов, которые созданы при помощи визуальных средств конфигуратора (в форму вставлены элементы диалога ТаблицаЗначений, а идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа ТаблицаЗначений). Параметры: <ИндексСтроки> – необязательный параметр. Числовое выражение с задаваемым индексом строки для элемента диалога типа ТаблицаЗначений, на которую требуется установить курсор. Если параметр не задан, то положение курсора в поле диалога не меняется. Возвращаемое значение: числовое значение, соответствующее индексу текущей строки поля диалога (до его изменения) или 0, если текущей строки нет. Пример: ТаблДиалога.ТекущаяСтрока(2); ТекущаяКолонка(<НоваяКолонка>, <ТекущаяКолонка>) – позволяет установить и/или считать текущее положение курсора в элементе диалога типа ТаблицаЗначений. Данный метод можно использовать только для объектов, которые созданы при помощи визуальных средств конфигуратора (в форму вставлены элементы диалога ТаблицаЗначений, а идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа ТаблицаЗначений). Параметры: <НоваяКолонка> – необязательный параметр. Номер или идентификатор колонки для элемента диалога типа ТаблицаЗначений, на которую требуется установить курсор. Если параметр не задан, то текущая колонка в поле диалога не меняется. <ТекущаяКолонка> – необязательный параметр. Идентификатор переменной, куда система возвращает номер текущей колонки. Возвращаемое значение: идентификатор текущей колонки поля диалога (до его изменения) или "" (пустая строка), если ее нет. Пример: Перем НомКолонки; ТаблДиалога.ТекущаяКолонка(2, НомКолонки); Фиксировать(<КолСтрок>, <КолКолонок>) – позволяет фиксировать в элементе диалога типа ТаблицаЗначений колонки и строки. Параметры: <КолСтрок> – необязательный параметр. Количество фиксируемых строк. Если не указаны, то не изменять фиксацию. <КолКолонок> – необязательный параметр. Количество фиксируемых колонок. Если не указаны, то не изменять фиксацию. Пример: ТаблДиалога.Фиксировать(1, 1); ВыводитьПиктограммы(<Колонка>, <Пиктограмма>) – устанавливает режим, при котором в колонке выводится не текст, а пиктограмма. Пиктограмма будет браться из картинки, назначенной элементу диалога ТаблицаЗначений в закладке Картинка в конфигураторе. Картинка должна быть формата .bmp, содержать все пиктограммы для этой таблицы значений, и состоять из последовательности пиктограмм размером 16х15 пикселей. Пиктограммы будут выбираться из картинки по номеру, взятому из числового значения данной колонки в текущей строке. Параметр <Пиктограмма> позволяет установить для данной колонки начальный номер пиктограмм в картинке. Параметры: <Колонка> – номер или идентификатор колонки, которая содержит номера пиктограмм. <Пиктограмма> – необязательный параметр. Начальный номер пиктограммы. Значение по умолчанию: 1. Пример: ТаблДиалога.ВыводитьПиктограммы(1, 1); Используем таблицу значений в документе ПриказОбУвольнении для того, чтобы проверить, что одного и того же сотрудника не удаляют дважды в одном приказе. Для этого в модуле формы документа создадим предопределенную процедуру ПриЗаписи(). Эта процедура выгружает табличную часть документа в таблицу значений Табл и проходим по всем строкам таблицы, кроме последней, выполняя следующие действия:
Процедура ПриЗаписи()
КонецПроцедуры Далее рассмотрим пример экранного отображения таблицы значения и выбора из такой таблицы. Пусть при создании новой ведомости на зарплату выдается запрос о том, что помещать в ведомость весь список сотрудников или выбрать из списка. Для этого используем стандартную процедуру Вопрос(), которая имеет следующие параметры: Вопрос(<Текст_вопроса>, <Режим>, <Таймаут>) – выводит на экран окно вопроса. Текст определяется параметром <Текст_вопроса>. Параметр <Режим> определяет варианты возможных ответов. Параметры: <Текст_вопроса> – строковое выражение текста вопроса. <Режим> – числовое или строковое выражение, определяющее режим вывода окна вопроса. Если параметр <Режим> задан числовым значением, то возможные варианты передаваемого параметра: 0 – Кнопка ОК. 1 – Кнопки ОК и Отмена. 2 – Кнопки Стоп, Повтор, Пропустить. 3 – Кнопки Да, Нет, Отмена. 4 – Кнопки Да, Нет. 5 – Кнопки Повтор, Отмена. Любое другое числовое значение параметра <Режим> эквивалентно значению 0 (кнопка ОК), равно как и отсутствие указанного параметра. Если параметр <Режим> задан строковым значением, то возможные варианты передаваемого параметра: "ОК" "ОК+Отмена" "Стоп+Повтор+Пропустить" "Да+Нет+Отмена" "Да+Нет" "Повтор+Отмена" <Таймаут> – необязательный параметр. Числовое выражение интервала времени ожидания ответа в секундах, в течение которого система будет ожидать ответа пользователя. Если данный параметр опущен или равен 0, то время ожидания бесконечно. Значение по умолчанию – 0. Возвращаемое значение: Если параметр <Режим> задан числовым значением, то функция возвращает числовое значение: –1 – Закончилось время ожидания ответа. 1 – Выбрана кнопка ОК. 2 – Выбрана кнопка Отмена. 3 – Выбрана кнопка Стоп. 4 – Выбрана кнопка Повтор. 5 – Выбрана кнопка Пропустить. 6 – Выбрана кнопка Да. 7 – Выбрана кнопка Нет. Если параметр <Режим> задан строковым значением, то функция возвращает строковое значение. Язык для возврата такой же, какой использован в параметре <Режим>. Таймаут – Закончилось время ожидания ответа. ОК – Выбрана кнопка ОК. Отмена – Выбрана кнопка Отмена. Стоп – Выбрана кнопка Стоп. Повтор – Выбрана кнопка Повтор. Пропустить – Выбрана кнопка Пропустить. Да – Выбрана кнопка Да. Нет – Выбрана кнопка Нет. При создании новой ведомость зададим вопрос, в зависимости от ответа на который пометим в ведомость полный список сотрудников или выдадим таблицу для выбора сотрудника. Процедура ВводНового() изменится и появятся две новые процедуры: ПолныйСписок(), куда переместится добавление всех сотрудников из справочника, и ТаблицаВыбора(), где будет создана таблица для выбора сотрудника из таблицы. Процедура ПолныйСписок()
КонецПроцедуры Процедура ТаблицаВыбора()
КонецПроцедуры Процедура ВводНового()
КонецПроцедуры Обратите внимание, что из таблицы значений можно выбрать только одну строку. Для множественного выбора лучше пользоваться списком значений и методами ОтметитьЗначения() и Пометка(). |
Loading
|