Центральный Дом Знаний - Работа в 1С 19

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Я учусь (закончил(-а) в
Всего ответов: 2653

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Логин:
Пароль:

Работа в 1С 19

Работа в программе 1С

стр.: 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32
33  34  35  36  37  38  39  40  41  42  43  44  45  

Тема 6 Список значений и таблица значений

Цель:

1) познакомиться с понятием и назначением списка и таблицы значений в системе 1С;

2) приобрести и закрепить навыки использования стандартных методов работы со списком и таблицей значений в программных модулях и их применением в экранных формах.

Пояснения к работе

6.1 Список значений

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

Для создания списка значений используется метод СоздатьОбъект():

СписокЗнач = СоздатьОбъект("СписокЗначений");

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

ДобавитьЗначение(<Значение>,[<Представление>]) – добавить значение (создать новую строку) в список значений.

Параметры:

<Значение> – добавляемое значение;

<Представление> – необязательный параметр, экранное представление элемента списка

Пример:

СписокЗнач.ДобавитьЗначение("Иванов Иван Иванович");

СписокЗнач.ДобавитьЗначение(1,"Значение №1");

ВставитьЗначение(<Позиция> <Знач>, <Представление>, <Колич>) – добавляет значение и его символьное представление в указанную позицию списка <Позиция> заданное число раз <Колич>. Представление используется в дальнейшем для удобства сортировки и выбора значений из списка (отображается в диалоговом окне выбора).

Параметры:

<Позиция> – числовое выражение – номер позиции в списке, начиная с которого будут вставлены новые значения. Номер позиции может быть от 1 до РазмерСписка() + 1.

<Знач> – выражение со значением, которое добавляется в список.

<Представление> – необязательный параметр, экранное представление элемента списка.

<Колич> – необязательный параметр. Количество повторов. По умолчанию – 1.

Пример:

СписокЗнач.ВставитьЗначение(3, "Иванов Иван Иванович");

РазмерСписка() – позволяет определить общее количество элементов в списке.

Возвращаемое значение: количество элементов в списке.

Пример:

Разм = СписокЗнач.РазмерСписка();

НайтиЗначение(<Знач>) – позволяет определить номер позиции в списке для элемента, имеющего значение <Знач>.

Параметры:

<Знач> – выражение со значением, которое необходимо найти в списке.

Возвращаемое значение: номер позиции в списке, где расположено требуемое значение. Если значение не найдено, то – 0.

Пример:

Позиция = СписокЗнач.НайтиЗначение("Иванов Иван Иванович");

ПолучитьЗначение(<Позиция>, <Перем>) – позволяет получить значение элемента, находящегося в указанной позиции списка.

Параметры:

<Позиция> – числовое выражение – номер элемента в списке, значение которого будет возвращено. Номер позиции может быть от 1 до количества элементов в списке.

<Перем> – идентификатор переменной, в которую будет возвращено экранное представление получаемого значения.

Возвращаемое значение: полученное значение из списка.

Пример:

ОпредПредст = "";

ОпредВид= СписокЗнач.ПолучитьЗначение(1, ОпредПредст);

УстановитьЗначение(<Позиция>, <Знач>, <Представление>, <Колич>) – устанавливает значения и его символьные представления, начиная с указанной позиции списка <Позиция> заданное число повторов <Колич>. Представление используется в дальнейшем для удобства сортировки и выбора значений из списка (отображается в диалоговом окне выбора).

Параметры:

<Позиция> – числовое выражение – номер позиции в списке, начиная с которого будут установлены новые значения, т. е. «старые» будут заменены. Номер позиции может быть от 1 до РазмерСписка+1.

<Знач> – выражение со значением, которое добавляется в список.

<Представление> – необязательный параметр. Строковое выражение, содержащее задаваемое символьное представление добавляемого значения. По умолчанию принимает стандартное в системе 1С:Предприятие символьное представление объекта.

<Колич> – необязательный параметр. Числовое выражение – количество повторов. По умолчанию – 1.

Пример:

СписокЗнач. УстановитьЗначение (3,1,"Значение №1");

Получить(<Представление>) – возвращает значение по указанному представлению. Если значения с таким представлением нет, то возвращается пустое значение.

Параметры:

<Представление> – строковое выражение, содержащее задаваемое экранное представление получаемого значения.

Возвращаемое значение: полученное значение из списка.

Пример:3

ОпредЗнач = СписокЗнач.Получить("Значение №1");

Установить(<Представление>, <Знач>) – устанавливает в списке значение с указанным представлением, если значение с таким представлением уже есть – изменяется значение, если нет – добавляется в конец списка значение с указанным представлением

Параметры:

<Представление> – строковое выражение, содержащее задаваемое экранное представление добавляемого значения.

<Знач> – выражение со значением, которое добавляется в список.

Пример:

СписокЗнач.Установить("Значение №1", 1);

УдалитьЗначение(<Позиция>, <Колич>) – удаляет <Колич> значений, начиная с указаний позиции <Позиция>.

Параметры:

<Позиция> – числовое выражение – номер позиции в списке, начиная с которой будут удалены значения. Номер позиции может быть от 1 до количества элементов в списке.

<Колич> – необязательный параметр. Числовое выражение – количество повторов. По умолчанию – 1.

Пример:

СписокЗнач.УдалитьЗначение(1, 2);

УдалитьВсе() – удаляет все элементы списка.

Пример:

СписокЗнач.УдалитьВсе();

Сортировать(<Направление>, <ДокументыПоДате>) – выполняет сортировку списка по значениям. Если первый элемент списка (значение в первой позиции) имеет базовый тип данных (число, строка, дата), то сортировка проводится по значениям элементов, приведенных стандартными правилами к типу первого элемента. В противном случае, если первый элемент имеет агрегатный тип данных, сортировка проводится по значениям элементов, приведенных к строковому представлению типа данных.

Параметры:

<Направление> – необязательный параметр. Если – 0, то сортировка по возрастанию. Если не 0, то сортировка по убыванию. Значение по умолчанию – 0.

<ДокументыПоДате> – необязательный параметр. Имеет смысл только в том случае, если значениями списка значений являются документы. В этом случае можно задавать сортировку документов по их хронологии. 1 – сортировка по хронологии документов; 0 – нет. Значение по умолчанию – 0.

Пример:

СписокЗнач.Сортировать();

СортироватьПоПредставлению(<Направление>) – выполняет сортировку списка по символьному представлению в соответствии с порядком, заданным параметром <Направление>.

Параметры:

<Направление> – необязательный параметр. Если – 0, то сортировка производится по возрастанию. Если отлично от 0, то сортировка по убыванию.

Пример:

СписокЗнач.СортироватьПоПредставлению();

СдвинутьЗначение(<Колич>, <НомерПоз>) – переместить значение списка значений на новую позицию.

Параметры:

<Колич> – числовое выражение – количество позиций, на которое надо переместить значение. Если число положительное, то значение сдвигается вниз, если отрицательное, то вверх.

<НомерПоз> – номер позиции, значение которой надо переместить.

Пример:

СписокЗнач.СдвинутьЗначение(1, Поз);

Принадлежит(<Значение>) – проверяет вхождение в список значений заданного значения.

Параметры:

<Значение> – значение, проверяемое на вхождение в список значений.

Возвращаемое значение: 1 – если проверяемое значение входит в список значений; 0 – если не входит.

Пример:

Если СписокЗнач.Принадлежит("Иванов Иван Иванович") = 1 Тогда

Сообщить("Иванов Иван Иванович");

КонецЕсли;

ВыбратьЗначение(<Значение>, <3аголовок>, <Позиция> , <Таймаут>, <Спосо6Выбора>) – вызывает диалоговое окно для интерактивного выбора значения из заранее подготовленного списка. Параметр <Значение> указывает на значение того элемента списка, на котором будет установлен курсор при открытии окна выбора. В этот же параметр возвращается выбранное значение. В параметр <Позиция> возвращается номер позиции выбранного значения в списке. Если выбор отменен, то значение параметров не меняются. Данный метод может использоваться только для переменных созданных функцией СоздатьОбъект().

Параметры:

<Значение> – идентификатор переменной, куда помещается значение – результат выбора.

<3аголовок> – строковое выражение, значение которого отображается в заголовке диалогового окна. Может использоваться для подсказки пользователю.

<Позиция> – идентификатор переменной, куда помещается номер позиции выбранного значения в списке.

<Таймаут> – необязательный параметр. Числовое выражение, значение которого задает время ожидания системы (в секундах) на отклик пользователя.

<СпособВыбора> – необязательный параметр. Числовое выражение, значение которого задает способ выбора значения: 0 – в виде диалога; 1 – выбор производится в виде меню, которое подстраивается по месту текущего элемента диалога или ячейки таблицы, откуда вызвано; 2 – выбор маленьким списком (список похож на выбор значения перечисления), также привязанным к позиции элемента диалога. Значение по умолчанию – 0.

Возвращаемое значение: 1 – если выбор произведен (нажата кнопка «ОК»); 0 – если выбор не произведен (нажата кнопка «ОТМЕНА»); –1 (минус единица) – закончилось время <Таймаут> ожидания отклика пользователя.

Пример:

Если СписокЗнач.ВыбратьЗначение(ВыбЗн, "Выберите ", Поз) = 1 Тогда

Сообщить("Выбрано "+ ВыбЗн);

КонецЕсли;

ОтметитьЗначения(<Значение>, <3аголовок>, <Позиция>, <Таймаут>) – вызывает диалоговое окно для интерактивной пометки значений списка из заранее подготовленного списка. Возможность выбора значения – это дополнительная возможность, предоставляемая данным методом. Параметр <Значение> указывает на значение того элемента списка, на котором будет установлен курсор при открытии окна выбора. В этот же параметр возвращается последнее выбранное значение. В параметр <Позиция> возвращается номер позиции последнего выбранного значения в списке. Если выбор отменен, то значение параметров не меняются. Данный метод может использоваться только для переменных созданных функцией СоздатьОбъект().

Параметры:

<Значение> – идентификатор переменной, куда помещается значение – результат выбора.

<Загoлoвoк> – строковое выражение, значение которого отображается в заголовке диалогового окна. Может использоваться для подсказки пользователю.

<Пoзиция> – необязательный параметр. Идентификатор переменной, куда помещается номер позиции выбранного значения в списке.

<Tаймayт> – необязательный параметр. Числовое выражение, значение которого задает время ожидания системы (в секундах) на отклик пользователя.

Возвращаемое значение: 1 – если выбор произведен (нажата кнопка «ОК»); 0 – если выбор не произведен (нажата кнопка «ОТМЕНА»); –1 (минус единица) – закончилось время <Таймаут> ожидания отклика пользователя.

Пример:

СписокЗнач.ОтметитьЗначения(ВыбЗн, "Выберите ", Поз);

Пометка(<Позиция>, <Отметка>) – позволяет пометить указанную позицию списка значений.

Параметры:

<Позиция> – номер позиции выбранного значения в списке.

<Отметка> – необязательный параметр. 1 – установить отметку; 0 – снять отметку. Если данный параметр опущен, то отметка значения списка не изменяется.

Возвращаемое значение: значение метки до выполнения метода: 1 – отметка установлена; 0 – отметка не установлена.

Пример:

СписокЗнач.Пометка(Н, 1);

ТекущаяСтрока(<ИндексСтроки>) – позволяет установить и/или считать текущее положение курсора в элементе диалога типа Список или Поле со списком. Данный метод можно использовать только для объектов, которые созданы при помощи визуальных средств конфигуратора (в форму вставлены элементы диалога типа Список или Поле со списком, а идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа СписокЗначений).

Параметры:

<ИндексСтроки> – необязательный параметр. Числовое выражение с задаваемым индексом строки для элемента диалога типа Список или Поле со списком, на которое требуется установить курсор. Если параметр не задан, то положение курсора в поле диалога не меняется.

Возвращаемое значение: числовое значение, соответствующее индексу текущей строки поля диалога (до его изменения).

Пример:

Список.ТекущаяСтрока(2);

ИзСтрокиСРазделителями(<Строка>) – заполняет список значениями из переданной в качестве параметра строки, содержащей строки в двойных кавычках и числа, разделенные запятыми.

Параметры:

<Строка> – строковое выражение, содержащее строки в двойных кавычках и числа, разделенные запятыми.

Пример:

СписокЗнач.ИзСтрокиСРазделителями("5, 6, 12, 68, " "ОпредПредст" " ");

ВСтрокуСРазделителями() – преобразует список значений в строку, содержащую строки в двойных кавычках и числа, разделенные запятыми.

Пример:

СтрПроводка = СписокЗнач.ВСтрокуСРазделителями();

Выгрузить(<Знач>, <НачПоз>, <Колич>) – позволяет выгрузить список значений в другой список значений или таблицу значений. При выгрузке в таблицу значений, в ней добавляется новая колонка.

Параметры:

<Знач> – значение типа ТаблицаЗначений или СписокЗначений, в которое нужно выгрузить данные. При выгрузке в таблицу значений, в ней добавляется новая колонка. Если переданное значение пустое, тогда система сама создаст объект типа СписокЗначений.

<НачПоз> – необязательный параметр. Номер начальной позиции, с которой надо начинать выгрузку. Значение по умолчанию 1.

<Колич> – необязательный параметр. Количество выгружаемых значений, если не указан, то все.

Пример:

СтарСписок.Выгрузить(НовСписок);

Используем элемент Список значений для выбора в диалоге типа работника (основной или совместитель). Для этого в справочник Сотрудники добавим реквизит ТипРаботника (Тип – Строка, Длина – 15). Для того чтобы этот новый реквизит был виден при просмотре справочника в виде списка, откроем форму списка справочника Сотрудники (кнопка Формы списка\ФормаСписка). На экране появится экранная форма списка требуемого справочника. Из меню Вставить выберите пункт Реквизиты. В появившемся окне все реквизиты отмечены «галочками», кроме нового. Отметьте новый реквизит и нажмите кнопку Вставить. В результате созданный реквизит ТипРаботника отразится на форме.

Далее откройте документ ПриказОПриеме и создайте новый реквизит табличной части документа Тип (Тип – Строка, Длина – 15). Вставьте реквизит Тип на форму документа, действуя аналогично вставке реквизита ТипРаботника.

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

Запретить редактирование – установлено;

ФормулаВыборТипа()

В начале модуля формы документа создадим переменную Выб, куда запомниться выбор из списка:

Перем Выб;

Затем запрограммируем процедуру ВыборТипа():

Процедура ВыборТипа()

// создаем список значений

ТипРаботника=СоздатьОбъект("СписокЗначений");

// задаем значения списка

ТипРаботника.ИзСтрокиСРазделителями(" " "Основной" ", " "Совместитель" " ");

// вызываем выбор значения из выпадающего списка,

// выбранное значение сохраняется в переменной Выб

ТипРаботника.ВыбратьЗначение(Выб,,,,2);

// присваиваем реквизиту Тип выбранное из списка значение

Тип=Выб;

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

Теперь необходимо, чтобы при проведении документа ПриказОПриеме в справочнике сотрудники сохранялся ТипРаботника. Для этого в процедуре ОбработкаПроведения() модуля документа перед командой Записать() необходимо добавить строку:

Сотр.ТипРаботника=Тип;

Сохраните конфигурацию. Запустите 1С в режиме Предприятие, создайте новый приказ о приеме и при входе в колонку Тип нажмите клавишу Tab. На экране появится выпадающий список (рисунок 6.1.1):

Рисунок 6.1.1

Последний параметр стандартной процедуры ВыбратьЗначение() управляет видом списка для выбора: 0 – в виде диалога; 1 – выбор производится в виде меню, которое подстраивается по месту текущего элемента диалога или ячейки таблицы, откуда вызвано; 2 – выбор маленьким списком (список похож на выбор значения перечисления), также привязанным к позиции элемента диалога. Попробуйте установить другие значения этого параметра и посмотрите вид списка для выбора.

Loading

Календарь

«  Июль 2019  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24