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

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

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



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

      cendomzn@yandex.ru  

Наш опрос

Как Вы планируете отдохнуть летом?
Всего ответов: 922

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


Форма входа

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

Работа в 1С 21

Работа в программе 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  

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

Пример:

ВыбЗнач = Табл.ПолучитьЗначение(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);

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

  1. в переменную Сотр запоминается сотрудник из текущей строки;

  2. далее все строки таблицы ниже текущей выгружаются во вспомогательную таблицу Табл1;

  3. в Табл1 выполняется поиск сотрудника, запомненного в Сотр;

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

Процедура ПриЗаписи()

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

Табл1=СоздатьОбъект("ТаблицаЗначений");

ВыгрузитьТабличнуюЧасть(Табл);

Для а=1 По Табл.КоличествоСтрок()–1 Цикл

Сотр = Табл.ПолучитьЗначение(а, 2);

Табл.Выгрузить(Табл1,а+1,,);

Если Табл1.НайтиЗначение(Сотр,,2)=1 Тогда

Предупреждение("Сотрудник "+Сотр.Наименование+" содержится в приказе многократно");

СтатусВозврата(0);

Возврат;

КонецЕсли;

КонецЦикла;

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

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

Вопрос(<Текст_вопроса>, <Режим>, <Таймаут>) – выводит на экран окно вопроса. Текст определяется параметром <Текст_вопроса>. Параметр <Режим> определяет варианты возможных ответов.

Параметры:

<Текст_вопроса> – строковое выражение текста вопроса.

<Режим> – числовое или строковое выражение, определяющее режим вывода окна вопроса. Если параметр <Режим> задан числовым значением, то возможные варианты передаваемого параметра:

0 – Кнопка ОК.

1 – Кнопки ОК и Отмена.

2 – Кнопки Стоп, Повтор, Пропустить.

3 – Кнопки Да, Нет, Отмена.

4 – Кнопки Да, Нет.

5 – Кнопки Повтор, Отмена.

Любое другое числовое значение параметра <Режим> эквивалентно значению 0 (кнопка ОК), равно как и отсутствие указанного параметра.

Если параметр <Режим> задан строковым значением, то возможные варианты передаваемого параметра:

"ОК"

"ОК+Отмена"

"Стоп+Повтор+Пропустить"

"Да+Нет+Отмена"

"Да+Нет"

"Повтор+Отмена"

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

Возвращаемое значение:

Если параметр <Режим> задан числовым значением, то функция возвращает числовое значение:

–1 – Закончилось время ожидания ответа.

1 – Выбрана кнопка ОК.

2 – Выбрана кнопка Отмена.

3 – Выбрана кнопка Стоп.

4 – Выбрана кнопка Повтор.

5 – Выбрана кнопка Пропустить.

6 – Выбрана кнопка Да.

7 – Выбрана кнопка Нет.

Если параметр <Режим> задан строковым значением, то функция возвращает строковое значение. Язык для возврата такой же, какой использован в параметре <Режим>.

Таймаут – Закончилось время ожидания ответа.

ОК – Выбрана кнопка ОК.

Отмена – Выбрана кнопка Отмена.

Стоп – Выбрана кнопка Стоп.

Повтор – Выбрана кнопка Повтор.

Пропустить – Выбрана кнопка Пропустить.

Да – Выбрана кнопка Да.

Нет – Выбрана кнопка Нет.

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

Процедура ПолныйСписок()

Сотр=СоздатьОбъект("Справочник.Сотрудники");

Сотр.ПорядокНаименований();

Сотр.ВыбратьЭлементы();

Пока Сотр.ПолучитьЭлемент()=1 Цикл

Если Сотр.ЭтоГруппа()=0 Тогда

Если (Сотр.ДатаУвольнения='00.00.00') или Сотр.ДатаУвольнения>НачМесяца(Дат)) Тогда

НоваяСтрока();

ФИО=Сотр.ТекущийЭлемент();

ВыборСотрудника();

КонецЕсли;

КонецЕсли;

КонецЦикла;

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

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

// в эту переменную поместиться номер выбранной строки таблицы

Перем НомСтроки;

// создаем таблицу значений

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

// создаем колонки

Табл.НоваяКолонка("ФИО", "Строка", 30,,"ФИО сотрудника",30);

Табл.НоваяКолонка("Должность", "Справочник.Должности",,,"Должность",30);

Сотр=СоздатьОбъект("Справочник.Сотрудники");

Сотр.ПорядокНаименований();

Сотр.ВыбратьЭлементы();

Пока Сотр.ПолучитьЭлемент()=1 Цикл

Если Сотр.ЭтоГруппа()=0 Тогда

Если (Сотр.ДатаУвольнения='00.00.00') или (Сотр.ДатаУвольнения>НачМесяца(Дат)) Тогда

// создаем новую строку таблицы значений

Табл.НоваяСтрока();

// помещаем в нее данные

Табл.ФИО=Сотр.Наименование;

Табл.Должность=Сотр.Должности;

КонецЕсли;

КонецЕсли;

КонецЦикла;

// после заполнения таблицы выдаем окно для выбора сотрудника

Если Табл.ВыбратьСтроку(НомСтроки, "Выберите сотрудника")=1 Тогда

// создаем новую строку в документе Ведомость

НоваяСтрока();

// позиционируемся в справочнике по выбранной в таблице строке

Сотр.НайтиПоНаименованию(Табл.ПолучитьЗначение(НомСтроки,1),0,0);

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

ФИО=Сотр.ТекущийЭлемент();

ВыборСотрудника();

КонецЕсли;

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

Процедура ВводНового()

Дат=НачМесяца(ДатаДок);

РасчетФондаВремени();

Если Вопрос("Нажмите <Да> для внесения в ведомость полного списка сотрудников или <Нет> для выбора сотрудников из списка", 4)=6 Тогда

ПолныйСписок();

Иначе

ТаблицаВыбора();

КонецЕсли;

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

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

Loading

Календарь

«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930

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

Друзья сайта

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