1С Предприятие 7.7. Документация

         

НомерСтроки


Возвращает номер строки текущего документа, изменившего периодическое значение реквизита справочника.

Синтаксис:

НомерСтроки()

Англоязычный синоним:

LineNurn

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

Числовое значение — номер строки документа, изменившего периодическое значение реквизита справочника.

Описание:

Метод НомерСтроки возвращает значение номера строки документа, изменившего периодическое значение реквизита справочника (в случае, когда в Модуле документа использовали метод ПривязыватьСтроку). Метод используется после получения очередного значения из выборки, особенно полезен при выборке по документу или по всем реквизитам (см. методы ВыбратьЗначения, ВыбратьПоДокументу, ПолучитьЗначение).

Пример:

Процедура ПечатьИстории(Элем)

   Если Элем.Выбран() = 0 Тогда

      Возврат;

   КонецЕсли;

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

   Таб.ИсходнаяТаблица("ПечатьИстории");

   Таб.ВывестиСекцию("Отчет");

   Ист = СоздатьОбъект("Периодический");

   // Просмотрим все периодические реквизиты справочника

   Ист.ИспользоватьОбъект("", Элем);

   Ист.ВыбратьЗначения();



   Пока Ист.ПолучитьЗначение() = 1 Цикл

      ДокИст = Ист.ТекущийДокумент();

      Если ДокИст.Выбран() = 1 Тогда

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

         НомСтрДок = Ист.НомерСтроки();

         Таб.ВывестиСекцию("ПоДокументу");

      Иначе

         // если значение задано интерактивно

         Таб.ВывестиСекцию("Строка");

      КонецЕсли;

   КонецЦикла;

   Таб.Опции(0, 0, 0, 0);

   Таб.ТолькоПросмотр(1);

   Таб.Показать("Отчет");

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

См. также: УстановитьРеквизитСправочника, ВыбратьПоДокументу, ПолучитьЗначение



НомерСтроки


Номер текущей строки таблицы.

Синтаксис:

НомерСтроки

Англоязычный синоним:

LineNo

Описание;

Атрибут (только для чтения) НомерСтроки содержит номер текущей строки таблицы значений.



НомерСтрокиДокумента


Выдает номер строки документа, по которой сформирована текущая проводка.

Синтаксис:

НомерСтрокиДокумента()

Англоязычный синоним:

DocLineNum

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

Число — номер строки документа, сформировавшей данную проводку.

Описание:

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

Метод НомерСтрокиДокумента выдает для текущей проводки номер строки документа, который был привязан в момент добавления проводки.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Номер строки " + Опер.НомерСтрокиДокумента());

КонецЦикла;



НомерЗаписи


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

Синтаксис:

НомерЗаписи()

Англоязычный синоним:

RecNo

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

Числовое значение — номер текущей записи.

Описание:

Метод НомерЗаписи возвращает физический порядковый номер текущей записи в файле базы данных. Результат не зависит от установки текущего индекса.

Пример:

Процедура ПоказатьНомераУдалЗап()

   РежПокУд = ДБФ.ПоказыватьУдаленные(1);

   ДБФ.Первая();

   Пока ДБФ.Вконце() = 0 Цикл

      Если ДБФ.ЗаписьУдалена() = 1 Тогда

         Стр1 = "Номер удаленной записи — ";

         Стр2 = Строка(ДБФ.НомерЗаписи());

         Предупреждение(Стр1 + Стр2, 3);

      КонецЕсли;

      Если ДБФ.Следующая() = 0 Тогда

         Прервать;

      КонецЕсли;

   КонецЦикла;

   ДБФ.ПоказыватьУдаленные(РежПокУд);

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

См. также: Перейти



Новая


Создать новую операцию.

Синтаксис:

Новая()

Англоязычный синоним:

New

Описание:

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

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

Метод Новая может быть вызван только для объектов типа «Операция» созданных функцией СоздатьОбъект.

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

Пример:

* Создание и запись новой операции созданной в модуле отчета или обработки

Опер = СоздатьОбъект("Операция");

Опер.Новая();

Опер.Дата = РабочаяДата();

Опер.Содержание = "Выдача денег из кассы";

Опер.Записать();



Новая


Добавить новую корректную проводку.

Синтаксис:

Новая()

Англоязычный синоним:

New

Описание:

Метод Новая добавляет новую корректную проводку.

Пример:

КП = СоздатьОбъект("КорректныеПроводки");

КП.Новая();

КП.Комментарий = "НДС с комисс. вознаграждения";

КП.СчетДт = "46.28";

КП.СчетКт = "68.2";

Кп.Записать();



Новая


Создает новую запись журнала расчетов.

Синтаксис:

Новая()

Англоязычный синоним:

New

Описание:

Метод инициализирует создание новой строки журнала расчетов. Собствен­но запись новой строки журнала расчетов происходит при вызове метода Записать. После инициализации создания новой строки, как правило, произ­водится заполнение ее реквизитов с последующим вызовом метода Записать.

Пример:

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

ЖР.Новая();

ЖР.Записать();



НоваяГруппа


Добавить новую группу справочника.

Синтаксис:

НоваяГруппа()

Англоязычный синоним:

NewGroup

Описание:

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

Пример:

Процедура ВводГруппыСотрудников()

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

   // добавляем новую группу справочника

   Спр.НоваяГруппа();

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

   Спр.Наименование = "Расчетчик3";

   Спр.Код = 3;

   // Записываем на диск

   Спр.Записать();

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



НоваяКолонка


Добавить в конец таблицы значений новую колонку.

Синтаксис:

НоваяКолонка(<Идентификатор>, <Тип>, <Длина>, <Точность>, <3аголовок>, <Ширина>,

              <Формат>, <Положение>)

Англоязычный синоним:

NewColumn

Параметры:

<Идентификатор>

Необязательный параметр. Идентификатор колонки, если не указан обращение к колонке возможно только по номеру.

<Тип>

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

<Длина>

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

<Точность>

Необязательный параметр. Точность (длина дробной части) для числовой колонки.

<3аголовок>

Необязательный параметр. Строковое выражение содержащее заголовок колонки в элементе диалога типа «ТаблицаЗначений».

<Ширина>

Необязательный параметр. Числовое выражение, содержащее ширину колонки (в символах) для представления колонки в элементе диалога типа «ТаблицаЗначений».

<Формат>

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

<Положение>

Необязательный параметр. Определяет вариант выравнивания при визуальном отображении значений данной колонки. Число: 1 — слева; 2 — справа.

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

Описание:

Метод НоваяКолонка добавляет в конец таблицы значений новую колонку,

Пример:

Табл.НоваяКолонка("Код", "Число", 6, 0, "Код", 6);



НоваяКолонка


Вставить в результирующую таблицу разделитель колонок.

Синтаксис:

НоваяКолонка(<Ном>)

Англоязычный синоним:

NewColumn

Параметры:

<Ном>

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

Описание:

Метод НоваяКолонка вставляет в результирующую таблицу разделитель колонок.

Пример:

Таб.НоваяКолонка();



НоваяКорреспонденция


Создает новую корреспонденцию проводки.

Синтаксис:

НоваяКорреспонденция()

Англоязычный синоним:

NewCorrespondence

Описание:

Метод НоваяКорреспонденция создает новую корреспонденцию для проводки. Метод должен использоваться после того, как новая проводка создана с использованием метода НоваяПроводка.

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

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

Пример:

Процедура ОбработкаПроведения()

   Операция.Содержание = "Выдача денег из кассы";

   Операция.НоваяПроводка();

   Операция.Кредит.Счет = СчетПоКоду("50");

   Операция.Сумма = Итог("СуммаВыдачи");

   ВыбратьСтроки();

   Пока ПолучитьСтроку() = 1 Цикл

      Операция.НоваяКорреспонденция();

      Операция.Дебет.Счет = СчетПоКоду("71");

      Операция.Дебет.Сотрудники = Сотрудник;

      Операция.Сумма = СуммаВыдачи;

   КонецЦикла;

   Операция.Записать();

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



НоваяПроводка


Создать новую проводку.

Синтаксис:

НоваяПроводка()

Англоязычный синоним:

NewEntry

Описание:

Метод создает новую проводку для текущей операции. Новая проводка становится текущей.

Во-первых, метод может быть вызван для объекта «Операция», созданного функцией СоздатьОбъект, при создании или изменении операции принадлежащей документу специального вида «Операция».

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

Созданная проводка будет записана и повлечет изменения в бухгалтерских итогах после вызова метода операции Записать.

Пример:

* Создание и запись новой операции созданной в модуле отчета или обработки

Опер = СоздатьОбъект("Операция");

Опер.Новая();

Опер.Дата = РабочаяДата();

Опер.Содержание = "Деньги по чеку";

Опер.НоваяПроводка();

Опер.Дебет.Счет = СчетПоКоду("5 0");

Опер.Кредит.Счет = СчетПоКоду("51");

Опер.Сумма = 1000000;

Опер.Записать();

* Запись операции в модуле документа в процессе проведения

Процедура ОбработкаПроведения()

   Операция.Содержание = "Выдача денег из кассы";

   Операция.НоваяПроводка();

   Операция.Дебет.Счет = СчетПоКоду("71");

   Операция.Дебет.Сотрудники = Сотрудник;

   Операция.Кредит.Счет = СчетПоКоду("50");

   Операция.Сумма = СуммаВыдачи;

   Операция.Записать();

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



НоваяСтраница


Вставить в результирующую таблицу разделитель страниц.

Синтаксис:

НоваяСтраница(<Ном>)

Англоязычный синоним:

NewPage

Параметры:

<Ном>

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

Описание:

Процедура НоваяСтраница вставляет в результирующую таблицу разделитель страниц.

Пример:

Таб.НоваяСтраница();



НоваяСтрока


Добавить новую строку в документ.

Синтаксис:

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

Англоязычный синоним:

NewLine

Описание:

Метод НоваяСтрока добавляет новую строку с очередным порядковым номером в многострочную часть документа.

Пример:

Процедура ОбработкаПодбора(Выб, КонФормы)

   Кол=0;

   Если ВвестиЧисло(Кол, "Введите количество", 10, 0) = 1 Тогда

      // добавим новую строку в спецификацию

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

      Работа = Выб;

      Количество = Кол;

      АктивизироватьСтроку();

   КонецЕсли;

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



НоваяСтрока


Добавляет новую строку в таблицу значений.

Синтаксис:

НоваяСтрока(<НомерСтроки>)

Англоязычный синоним:

NewLine

Параметры:

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

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

Описание:

Метод НоваяСтрока вставляет новую строку в таблицу значений в указанную позицию.

Пример:

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



Новый


Добавить новый элемент справочника.

Синтаксис:

Новый()

Англоязычный синоним:

New

Описание:

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

Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.

Пример:

Процедура ВводСотрудника()

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

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

   Спр.Новый();

   // Определяем реквизиты нового элемента справочника

   Спр.Наименование = ФИО;

   Спр.Код = ТН;

   Спр.Оклад = Оклад;

   Спр.Аванс = Аванс;

   // ...

   // Записываем новый элемент справочника

   Спр.Записать();

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



Новый


Начать ввод нового документа.

Синтаксис:

Новый()

Англоязычный синоним:

New

Описание:

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

Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.

Пример:

// данная процедура создает документ с № 1, в котором записывает

// все имеющиеся в справочнике должности

Процедура Оприходовать()

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

   Док = СоздатьОбъект("Документ.Приказы");

   // найдем документ с № 1

   Док.НайтиПоНомеру("1", 0);

   Если Док.Выбран() = 0 Тогда

      // если документа с № 1 не существует, то создадим его

      Док.Новый();

      Док.НомерДок = "1";

      Док.ДатаДок='01.01.80';

      // запишем все должности в документ

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

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

         Если (Док.Выбран() = 1) Тогда

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

            Док.Должность = Спр.ТекущийЭлемент();

         КонецЕсли;

      КонецЦикла;

      // запишем новый документ на диск

      Док.Записать();

   КонецЕсли;

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



Новый


Создает новый счет.

Синтаксис:

Новый(<ЕстьСубсчета>)

Англоязычный синоним:

New

Параметры:

<ЕстьСубсчета>

Числовое выражение — признак наличия субсчетов у создаваемого счета. Может принимать значения:

0 — счет не будет иметь субсчета;

1 — счет будет иметь субсчета.

По умолчанию 0;

Описание:

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

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

Однако, если для счета, для которого было указано отсутствие субсчетов, все-таки введен субсчет, то система 1С:Предприятие выполнит следующее:

Будет создан новый счет (группа) с тем же кодом;

Код данного счета будет дополнен субсчетом 0;

В дальнейшем код субсчета 0 можно будет изменить на другой.

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

Пример:

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

Сч.Новый();

Сч.Код = "76.02";

Сч.Записать();



Новый


Ввести новый «праздничный» день.

Синтаксис:

Новый(<Дата>, <Значение>)

Англоязычный синоним:

New

Параметры:

<Дата>

Дата нового праздника.

<Значение>

Положительное число с двумя знаками после запя­той (не более 100). Поскольку объект «Праздни­ки», как правило, используется для ввода выход­ных праздничных дней по календарям, то значе­ние, как правило, задают равным нулю.

Описание:

Метод Новый вводит и записывает новую запись (новый «праздничный» день).

Пример:

// Праздничные дни

Празд = СоздатьОбъект("Праздники");

Празд.Новый('01.05.99', 0)



Нрег


Преобразовать символы строки в нижний регистр.

Синтаксис:

НРег(<Строка>)

Англоязычный синоним:

Lower

Параметры:

<Строка>

Строковое выражение.

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

Строковое значение.

Описание:

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

Пример:

Загл = НРег("БОЛЬШИЕ");



ОБ


Расчет оборотов между счетами.

Синтаксис:

ОБ(<СчетДеб>, <СчетКред>, <ТипСуммы>, <Валюта>)

Англоязычный синоним:

TO

Параметры:

<СчетДеб>, <СчетКред>

Значения типа «Счет» — счета дебета и кредита, для которых необходимо выдать перекрестные обо­роты. Может использоваться строка — код счета.

<ТипСуммы>

Необязательный параметр. Число или строка — тип возвращаемой суммы. Может принимать одно из следующих значений:

1 ("С", "S")— сумма;

2 ("В", "С")— валютная сумма;

3 ("К", "А")— количество.

Если параметр не указан, метод возвращает сумму.

<Валюта>

Необязательный параметр. Значение типа «Спра­вочник.Валюты». Если параметр не указан итоги выдаются без учета валюты.

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

Число —оборот с дебета счета <СчетДеб> в кредит счета <СчетКред>.

Описание:

Функция ОБ предназначена для выдачи перекрестных оборотов между сче­тами. Коды счетов, оборот между которыми требуется рассчитать, передаются функции в качестве парметров.

Если указана валюта, то данные выдаются по конкретной валюте. Валютная сумма может выдаваться только по конкретной валюте.

Пример:

КассаБанк = БухИтоги.ОБ("50", "51");



Объединить


Объединить ячейки области.

Синтаксис:

Объединить()

Англоязычный синоним:

Merge

Описание:

Метод Объединить объединяет ячейки области.

Пример:

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

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R1C1:R8C4");

ВыбОбласть.Объединить();



Объект


Элемент справочника, для которого введена данная запись журнала расчетов.

Синтаксис:

Объект

Англоязычный синоним:

Object

Описание:

Атрибут типа «Справочник». Ссылка на конкретный элемент того справоч­ника, который при конфигурировании журнала расчетов задан как список объ­ектов расчета (справочник объектов расчета). К этому конкретному элементу справочника имеет отношение данная запись (расчет) журнала расчетов.

Атрибут Объект предназначен только для чтения.

Пример:

// Расчет профвзносов

Процедура ПровестиРасчет()

   // объект расчета — сотрудник

   Если Объект.Профсоюз.Получить(ДатаОкончания) = Да Тогда

      // Зануляем результат перед расчетом для того,

      // чтобы не учитывать его при расчете уже взятого налога!!!

      Результат = 0;

      // Журнал расчетов

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

      ЖР.ВыбратьЗаписиПоОбъекту(Объект, ЖР.НачалоПериодаПоДате(ДатаНачала),

              ЖР.КонецПериодаПоДате(ДатаНачала));

      Облагаем = 0;

      УжеВзяли = 0;

      Группа = ГруппаРасчетов.ОблагаетсяПроф;

      Пока ЖР.ПолучитьЗапись() > 0 Цикл

         Если ЖР.ВидРасч.ВходитВГруппу(Группа) = 1 Тогда

            Облагаем = Облагаем + ЖР.Результат;

         ИначеЕсли ЖР.ВидРасч = ВидРасчета.ПрофВзносы Тогда

            УжеВзяли = УжеВзяли + ЖР.Результат;

         КонецЕсли;

      КонецЦикла;

      Результат = Окр(Константа.ПроцентПроф.Получить(ДатаНачала) / 100 *

              Облагаем - УжеВзяли);

   Иначе

      Результат = 0;

   КонецЕсли;

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

См. также: ВыбратьПериодПоОбъекту, ВыбратьЗаписиПоОбъекту



Объект «Диаграмма» — основные принципы и понятия, используемые при визуальной настройке и управлении


Диаграмма представляет собой определенную фигуру, которая строится на основе матрицы данных размером [M,N], где N — количество серий значений (далее серий), М — количество точек, замерами в которых получены значения серий.

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

С точки зрения настройки, диаграмма состоит из четырех областей:

область диаграммы — совокупность всех областей образующих диаграмму;

область построения диаграммы — содержит координатное пространство и изображенную на нем фигуру;

заголовок диаграммы;

легенда — вспомогательная область, содержащая список меток, соответствующих сериям.

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



Объявление внутренней переменной


Синтаксис:

<ИмяПеременной> = <ОписаниеПеременной> [, <ОписаниеПеременной>]+;

Параметры:

<ИмяПеременной>

Имя объявляемой внутренней переменной описания запроса.

<ОписаниеПеременной>

Указывает на доступный в языке запросов атрибут документа, справочника, регистра или журнала расчетов (см. «Атрибуты, доступные при описании внутренних переменных»).

Описание:

Внутренние переменные используются в тексте запроса для образования ссылок на объекты конфигурации, чтобы использовать их при построении таких операторов запроса, как Группировка, Функция, Условие.

В объявлении внутренней переменной можно указывать несколько вариантов <ОписанияПеременной>. Все описания должны указывать на один и тот же тип данных (число, строку, справочник или документ). Переменной, указывающей на разные справочники или документы присваивается тип данных «Справочник неопределенного вида» или «Документ неопределенного вида» соответственно.

* Например, можно определить внутреннюю переменную:

Товар = Документ.Перемещение.Товар, Документ.Расходная.Товар;

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

* Еще пример. Допустим, у нас есть регистр "Взаиморасчеты" и регистр "Кредиты", и в том и в другом есть измерение "Клиент". Определяем внутреннюю переменную:

Должник = Регистр.Взаиморасчеты.Клиент, Регистр.Кредиты.Клиент;

Если использовать такую внутреннюю переменную для образования Группировки, то она будет означать следующее: пройти по регистру "Взаиморасчеты" и по регистру "Кредиты", вычислить заданные в запросе Функции и выбрать значения "Клиентов", для которых значения хотя бы одной функции будет ненулевой. Здесь мы видим, что формирование запроса по регистрам имеет некоторые особенности (обязательно наличие Функций, причем их вычисленные значения должны быть отличны от нуля, только в этом случае найденные объекты включаются во временный набор данных формируемый запросом).


Если описания внутренней переменной указывают на разные типы данных, например, на «Справочник» и на «Документ», то это просто вызовет сообщение об ошибке. Например, следующее определение внутренней переменной будет ошибочным:

ААА = Справочник.Товары.ТекущийЭлемент, Документ.Счет.ТекущийДокумент;

// ЭТО ОШИБКА !!!

Однако, допускается в описании внутренней переменной указание на разные справочники либо на разные документы. Переменной, указывающей на разные справочники или документы присваивается тип данных «Справочник неопределенного вида» или «Документ неопределенного вида» соответственно.

* Например, правомерно задать такую внутреннюю переменную:

Парам = Документ.Счет.Клиент, Документ.Счет.Фирма;

(Здесь предполагается, что в контексте конфигурации, реквизиты "Клиент" и "Фирма" — это элементы справочников). Если использовать такую внутреннюю переменную для построения Группировки, то она будет означать следующее: пройти по документам "Счет" и выбрать значения клиентов и фирм, встречающихся в них (и, например, упорядочить эти элементы по наименованию). Как интерпретировать результаты полученной выборки при таком запросе — будет зависеть от контекста поставленной задачи.

В языке запросов описание внутренних переменных для агрегатных типов данных типа «Операция» и «Проводка» начинается со слова «Операция» вне зависимости от того, будет ли обращение к бухгалтерским операциям или к проводкам. <ОписаниеПеременной> определяется следующим образом:

Операция.(

   <Реквизиты0перации>

   |  <ПредРеквОпераций>

   |  <РеквизитыПроводок>

   |  <ПредРеквПроводок>

   |  Дебет.(

         Счет

         | <Субконто>

      )

   |  Кредит.(

         Счет

         | <Су6конто>

      )

   |  Субконто.

      <ВидСубконто>

   |  КорСубконто.

      <ВидСубконто>

)

<РеквизитыОперации>

Реквизиты операции объявленные в метаданных.

<ПредРеквОпераций>

Предопределенные реквизиты Операций.

<РеквизитыПроводок>

Реквизиты проводок, объявленные в метаданных.

<ПредРеквПроводок>

Предопределенные реквизиты Проводок.

<ВидСубконто>

Идентификатор вида субконто.


Применение слов "Дебет", "Кредит" в описании переменных позволяют оперировать дебетовой и кредитовой частями проводки, такими как счет и вид субконто.

Применение слов "Субконто" и "КорСубконто" в описании переменных позволяют оперировать как субконто, так и корреспондирующим субконто.

*

Сум = Операция.Сумма;

Сч = Операция.Дебет.Счет, Операция.Кредит.Счет;

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

Несколько слов о дополнительных именах доступа к стандартной информации, которые определены в языке запросов. Речь идет о конструкции ТекущийЭлемент для справочников и ТекущийДокумент для документов и регистров (не надо путать эти конструкции языка запросов с одноименными методами встроенного языка, хотя их смысл во многом совпадает).

Для справочников использование конструкции ТекущийЭлемент в описании внутренней переменной означает выборку элемента справочника как такового (целиком всей записи справочника).

Аналогично при работе с документами, использование конструкции ТекущийДокумент в описании внутренней переменной, означает выборку документа как такового (целиком всего документа как объекта конфигурации). Сравните два примера:

Пример 1.

* Здесь нас интересуют товары, встречающиеся в документах.

ТОВАР = Документ.РасходнаяБН.Товар,

   Документ.РасходнаяКредит.Товар,

   Документ.РасходнаяНал.Товар,

   Документ.РасходнаяРеализ.Товар,

   Документ.Счет.Товар;

Пример 2.

* Здесь нас интересуют сами документы указанных видов как таковые.

ДОКУМ = Документ.РасходнаяБН.ТекущийДокумент,

   Документ.РасходнаяКредит.ТекущийДокумент,

   Документ.РасходнаяНал.ТекущийДокумент,

   Документ.РасходнаяРеализ.ТекущийДокумент,


   Документ.Счет.ТекущийДокумект;

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

СТРОКА = Документ.РасходнаяБН.НомерСтроки;

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

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

Пример:

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

ТекстЗапроса =

"//{{ЗАПРОС(Сформировать)

|Период с НачДата по КонДата;

|ВидТоплива = Регистр.ПокупателиКолво.ВидыТоплива;

|Покуп = Регистр.ПокупателиКопво.Покупатели;

|Док = Регистр.ПокупателиКолво.ТекущийДокумент;

|Ном = Регистр.ПокупателиКолво.НомерСтроки;

|Вес = Регистр.ПокупателиКолво.Кг;

|Группировка ВидТоплива; // по измерению Регистра

|Группировка Док; //по документам, двигавшим Регистр

|Группировка Ном; // по номерам строк документов

|Функция ВсегоКолво = КонОст(Вес);

|Функция ПриходКолво = Приход(Вес);

|Условие(Покуп = Покупат);

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

   Возврат;

КонецЕсли;

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

Область


Возращает Область выходной таблицы.

Синтаксис 1:

Область(<Адрес>)

Синтаксис 2:

Область(<R1>, <С1>, <R2>, <С2>)

Англоязычный синоним:

Area

Параметры:

<Адрес>

Необязательный параметр. Строковое выражение, задающее имя области или адрес в формате «R1C1:R2C2».

<R1>

Необязательный параметр. Числовое выражение. Номер первой строки области.

<С1>

Необязательный параметр. Числовое выражение. Номер первого столбца области.

<R2>

Необязательный параметр. Числовое выражение. Номер последней строки области.

<С2>

Необязательный параметр. Числовое выражение. Номер последнего столбца области.

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

Значение типа «ОбластьТаблицы».

Описание:

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

Пример:

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

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R1C1:R8C16");



Область


Возращает Область секции.

Синтаксис 1:

Область(<Адрес>)

Синтаксис 2:

Область(<R1>, <С1>, <R2>, <С2 >)

Англоязычный синоним:

Area

Параметры:

<Адрес>

Необязательный параметр. Строковое выражение, задающее либо имя области, заданное в конфигураторе, либо адрес в формате «R1C1:R2C2».

<Rl>

Необязательный параметр. Числовое выражение. Номер первой строки области.

<С1>

Необязательный параметр. Числовое выражение. Номер первого столбца области.

<R2>

Необязательный параметр. Числовое выражение. Номер последней строки области.

<С2>

Необязательный параметр. Числовое выражение. Номер последнего столбца области.

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

Значение типа «ОбластьТаблицы».

Описание:

Функция Область возвращает значение области секции. При задании адреса области, номера строк и столбцов задаются относительно начала данной секции. Если последняя строка и последний столбец отсутствуют, то область задана единственной ячейкой. Если строки или столбцы отсутсвуют, то область задана диапазоном столбцов или строк соответственно. Если метод вызван без параметров, то область задана всей секцией.

Пример:

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

Таб.Открыть("tabl_l.mxl");

Секция = Таб.ПолучитьСекцию("ЗаголовокОтчета");

ВыбОбласть = Секция.Область("Заглавие");

ВыбОбласть.Текст = "Товарный отчет";

Таб.ВывестиСекцию(Секция);



Область использования переменной


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

В разделе определения переменных глобального программного модуля. Если переменные определены с ключевым словом Экспорт (см. оператор Перем), то это будут глобальные переменные.

В разделе определения переменных модуля. Это переменные модуля.

В процедуре или функции. Это локальные переменные.

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

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

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

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

Единственный способ создать для процедуры локальную переменную с именем, совпадающим с именем переменной, определенной как глобальная переменная — это объявить ее явно при помощи оператора Перем.


This site is hosted for FREE on VirtualAve -- yours can be, too! Click here for more information.



ОбластьПечати


Устанавливает из языка область печати табличного документа.

Синтаксис:

ОбластьПечати(<Верх>, <Лево>, <Низ>, <Право>)

Англоязычный синоним:

PrintRange

Параметры:

<Верх>

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

<Лево>

Числовое выражение — номер крайнего левого столбца, выводимого на печать.

<Низ>

Числовое выражение — номер нижней строки таблицы, выводимой на печать.

<Право>

Числовое выражение — номер крайнего правого столбца, выводимого на печать.

Описание:

Метод ОбластьПечати устанавливает из языка область печати табличного

документа

Пример:

Таб.Напечатать(0);



Обновить


Обновить форму.

Синтаксис:

Обновись(<Флаг>)

Англоязычный синоним:

Refresh

Параметры:

<Флаг>

Числовое выражение:

1 — установить флаг модифицированности (признак изменения реквизитов текущей формы справочника или документа);

0 — не устанавливать флаг модифицированности.

Описание:

Метод Обновить выполняет обновление окна формы. Кроме того, этот метод позволяет программно установить флаг модифицированности формы. Данный метод имеет смысл вызывать, если через контекст формы (извне, из другого программного модуля) были произведены изменения реквизитов формы.

Доступ к данному методу возможен только в контексте Модуля формы.

Пример:

Форма.Обновить(1)

См. также: ОткрытьФорму, ОткрытьПодбор, Модифицированность



Обновление


Установка режима обновления диаграммы.

Синтаксис:

Обновление(<флаг>)

Англоязычный синоним:

RedrawFlag

Параметры:

<Флаг>

Числовое значение: 1 — разрешить перерисовку диаграммы. 0 — запретить перерисовку диаграммы.

Описание:

Метод Обновление устанавливает режим обновления диаграммы. Запрет перерисовки диаграммы рекомендуется в целях ускорения работы системы на ьремя наполнения данными. По умолчанию перерисовка разрешена.

Пример:

Диаграмма.Обновление(1);         // включим перерисовку



Обрабатывать


Назначить условие обработки помеченных на удаление объектов в запросе.

Синтаксис:

Обрабатывать[ПомеченныеНаУдаление|НеПомеченныеНаУдаление|Все];

Англоязычный синоним:

Process[MarkedOnRemoving|NonMarkedOnRemoving|All];

Описание:

Оператор Обрабатывать назначает режим обработки помеченных на удаление объектов в запросе. В операторе указывается, какими объектами должен оперировать запрос: не помеченными на удаление, помеченными на удаление или теми и другими. По умолчанию в запросе обрабатываются все объекты.

Пример:

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

ТекстЗапроса =

"//{{ЗАПРОС(Обработка)

|Период с '01.10.96' по '05.10.96';

|Обрабатывать НеПомеченныеНаУлаление;

|Товар = Справочник.Товар.ТекущийЭлемент;

|Группировка Товар упорядочить по Товар.Наименование;

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

   Возврат;

КонецЕсли;



ОбрабатыватьДокументы


Назначить условие обработки документов в запросе.

Синтаксис:

ОбрабатыватьДокументы[Непроведенные|Проведенные|Все];

Англоязычный синоним:

ProcessDocuments[NonTransacted|Transacted|All];

Описание:

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

Пример:

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

ТекстЗапроса = "//{{ЗАПРОС(ОбработкаДок)

|Период с '01.10.96' по '05.10.96';

|ОбрабатыватьДокументы Все;

|Тов = Справочник.Товары.ТекущийЭлемент, Документ.РасхНакл.Товар;

|Группировка Тов упорядочить по Тов.Наименование;

|Группировка Документ;

|Группировка СтрокаДокумента;

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

   Возврат;

КонецЕсли;



ОбрабатыватьОперации


Назначить условие обработки бухгалтерских операций в запросе.

Синтаксис:

ОбрабатыватьОперации[Включенные|Выключенные|Все];

Англоязычный синоним:

ProcessOperations[On|Off|All];

Описание:

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

Пример:

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

ТекстЗапроса =

"//{{ЗАПРОС(ОбработкаОпер)

|Период с '01.10.96' по '05.10.96';

|ОбрабатыватьОперации Все;

|Опер = Операция.ТекущийДокумент;

|Группировка Опер;

|"//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

   Возврат;

КонецЕсли;



ОбработкаЯчейкиТаблицы


Предопределенная процедура обработки ячейки таблицы.

Описание:

ОбработкаЯчейкиТаблицы(<Значение>, <ФлагСтандартнойОбработки> , <КонтекстТаблицы>,

                       <Адрес>)

Англоязычный синоним:

SheetCellProcessing

Параметры:

<Значение>

Здесь в процедуру передается вычисленное значение ячейки (задается в конфигураторе: «Свойства» ячейки, «Текст», «Значение»).

<ФлагСтандартнойОбработки>

Флаг, установка которого в теле процедуры в 1 приведет к выполнению стандартной обработки значения ячейки (открытию документа, элемента справочника и т. п.).

<КонтекстТаблицы>

Необязательный параметр. Имя переменной, куда система передаст контекст всей таблицы (см. Передача контекста в качестве параметра). С помощью значения этого контекста можно произвольно манипулировать данной таблицей пока она открыта, например, вывести туда дополнительные секции или очистить и заполнить всю таблицу заново. Пока данный объект «Таблица» существует, тип значения данного параметра равен 100 (см. ТипЗначения), если закрыта — 0.

<Адрес>

Необязательный параметр. Имя переменной, куда система передаст адрес ячейки/объекта в формате «R1C1:R2C2».

Описание:

Вызов процедуры ОбработкаЯчейкиТаблицы на исполнение производится в системе 1С:Предприятие по двойному щелчку мыши или по нажатию клавиши «Enter» в табличном документе на выбранной ячейке

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

Замечание Объект типа «СписокЗначений» может записываться в поле «значение» ячейки таблицы и использоваться затем процедурой ОбработкаЯчейкиТаблицы.

Важно! Если процедура описана в модуле формы, то вызывается она, иначе система запускает одноименную процедуру из глобального модуля.

Внимание! Данная предопределенная процедура не вызывается при выборе ячейки таблицы в режиме ввода данных. Для этого случая вызывается предопределенная процедура ПриВыбореЯчейкиТаблицы.

Пример:

Процедура ОбработкаЯчейкиТаблицы(ЗначениеЯчейки, Флаг)

   // Тело процедуры

   //. . .

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



ОбработкаОжидания


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

Синтаксис:

ОбработкаОжидания([<ИмяПроцедуры>], [<ИнтервалВызова>])

Англоязычный синоним:

IdleProcessing

Параметры:

<ИмяПроцедуры>

Необязательный параметр. Строковое выражение — имя процедуры глобального модуля, которая будет вызываться периодически с интервалом времени <ИнтервалВызова>. Тело процедуры <ИмяПроцедуры> должно быть написано разработчиком конфигурации в глобальном программном модуле.

Если в качестве параметра передается «пустая строка», то ранее запущенный процесс прекращается.

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

<ИнтервалВызова>

Необязательный параметр. Числовое выражение — интервал времени в секундах, с которым периодически будет вызываться процедура глобального модуля <ИмяПроцедуры>.

Если в качестве параметра передается 0 (ноль), то ранее запущенный процесс прекращается.

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

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

Имя процедуры глобального модуля, которая назначена для периодического запуска (на момент до исполнения процедуры).

Описание:

Функция ОбработкаОжидания инициирует периодический вызов процедуры глобального модуля <ИмяПроцедуры> с интервалом времени <ИнтервалВызова>.

Пример:

Процедура СформироватьТекущийОтчетПродаж

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

ОбработкаОжидания("СформироватьТекущийОтчетПродаж", 60);


This site is hosted for FREE on VirtualAve -- yours can be, too! Click here for more information.



ОбработкаПодбора


Предопределенная процедура обработки подбора значения.

Синтаксис:

ОбработкаПодбора(<ЗначениеПод6ора>, <КонтФормы>)

Англоязычный синоним:

ProcessPermanentChoice

Параметры:

<ЗначениеПодбора>

Элемент справочника или документ, передаваемый для обработки.

<КонтФормы>

Контекст той формы, из которой шел подбор.

Описание:

Вызов предопределенной процедуры ОбработкаПодбора производится в системе 1С:Предприятие неявно после нажатия кнопки «Выбрать» в форме подбора значения (см. метод ОткрытьПодбор). В этот момент система подставляет фактическое значение параметра <ЗначениеПодбора>.

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

Данная предопределенная процедура может располагаться только в программном модуле формы.

Пример:

Процедура ОбработкаПодбора(Знач, КонтФормы)

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

   Товар = Знач;

   Знач.ИспользоватьДату(ДатаДок);

   Цена = Знач.Цена;

   Сообщить(Знач.Цена);

   Сообщить(Знач.МОЛ.Наименование);

   АктивизироватьСтроку();

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

См. также: ОткрытьПодбор



ОбработкаПроведения


Предопределенная процедура обработки проведения документа.

Синтаксис:

ОбработкаПроведения(<3нач>)

Англоязычный синоним:

Posting

Параметры:

<3нач>

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

Описание:

Процедура ОбработкаПроведения — предопределенная процедура. Она не является встроенной процедурой языка. Для нее определено только название и синтаксис. Тело процедуры должно быть написано разработчиком конфигурации в Модуле документа (см. «Виды программных модулей»). Собственно говоря, весь алгоритм проведения документа и заключается в данной процедуре.

Вызов процедуры ОбработкаПроведения производится в системе 1С:Предприятие неявно при выполнении проведения документа в любом режиме (интерактивное проведение документа, групповое проведение, программная инициализация проведения при помощи метода Провести). Если проведение документа запущено программно, то система подставляет фактическое значение параметра <3нач>, содержащее значение параметра, заданного при вызове метода Провести.

Замечание. В предопределенных процедурах ОбработкаПроведения и ОбработкаУдаленияПроведения система 1С:Предприятие сама выполняет все действия через транзакцию (см. «Процедуры работы с транзакциями»), поэтому никаких специальных действий по обработке транзакций в этих предопределенных процедурах предпринимать не нужно.

Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя проводить документ), то проведение документа не будет выполнено и будет отменена системная транзакция.

Замечание. В предопределенных процедурах ОбработкаПроведения и ОбработкаУдаленияПроведения нельзя использовать элементы интерактивного управления (например, операторы Предупреждение, Вопрос, ВвестиЧисло и т. п.), т. к. в этом случае при открытой транзакции система ожидает отклика пользователя, а все остальные пользователи ждут завершения транзакции (в результате документы у всех остальных пользователей в этот момент не могут проводиться). Если в конфигурации необходимо при проведении документа выдавать пользователю некоторые coofi щения, то следует использовать операторы Сообщить или Состояние

Для корректного выполнения алгоритма проведения документа в Модуле документа доступны методы ИтогиАктуальны и ГрупповаяОбработка, которые позволяют правильно определить режим проведения документа (см. «Работа с документами»).

Данная предопределенная процедура может располагаться только в Модулях документов (см. «Виды программных модулей»).

Пример:

Процедура ОбработкаПроведения()

   Регистр.ТовЗап.Склад = Склад;

   ВыбратьСтроки();

   Пока( ПолучитьСтроку() > 0) Цикл

      Регистр.ТовЗап.Товар = Товар;

      Регистр.ТовЗап.Количество = Количество;

      Регистр.ТовЗап.ДвижениеРасходВыполнить();

   КонецЦикла;

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

См. также: СтатусВозврата, МтогиАктуальны, ГрупповаяОбработка, Провести



ОбработкаУдаленияПроведения


Предопределенная процедура обработки удаления проведения документа.

Синтаксис:

ОбработкаУдаленияПроведения()

Англоязычный синоним:

UnPostingProcess

Описание:

Процедура ОбработкаУдаленияПроведения — предопределенная процедура. Она не является встроенной процедурой языка. Для нее определено только название и синтаксис. Тело процедуры должно быть написано разработчиком конфигурации в Модуле документа (см. «Виды программных модулей»). Вызов процедуры ОбработкаУдаленияПроведения производится в системе 1С:Предприятие неявно при отмене проведения документа или при удалении проведенных документов в любом режиме — интерактивно или программно. (см. СделатьНеПроведенным, Удалить).

Замечание. В предопределенных процедурах ОбработкаПроведения и ОбработкаУдаленияПроведения система 1С:Предприятие сама выполняет все действия через транзакцию (см. «Процедуры работы с транзакциями»), поэтому никаких специальных действий по обработке транзакций в этих предопределенных процедурах предпринимать не нужно.

Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя отменять проведение документа) то отмена проведения документа не будет выполнена и будет отменена системная транзакция.

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

Данная предопределенная процедура может располагаться только в Модулях документов (см. «Виды программных модулей»).

Пример:

Процедура ОбработкаУдаленияПроведения()

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

   // или удалении документа

   // Сотрудник — это реквизит документа

   СпрСотрудники.НайтиЭлемент(Сотрудник);

   // если нашли сотрудника...

   Если СпрСотрудники.Выбран() = 1 Тогда

      // СтРасч — это реквизит документа

      СпрСотрудники.НайтиЭлемент(СтРасч);

      ВозвратРасч = 0;

      Если СпрСотрудники.Выбран() = 1 Тогда

         // если старый расчетчик еще есть — откатим!

         ВозвратРасч = 1;

      КонецЕсли;

      СпрСотрудники.НайтиЭлемент(Сотрудник);

      Если ВозвратРасч = 1 Тогда

         СпрСотрудники.Родитель = СтРасч;

      КонецЕсли;

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

   КонецЕсли;

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

См. также: СтатусВозврата, СделатьНеПроведенным, Удалить



ОбработкаВыбораСтроки


Включает в форме списка обработку выбора строки предопределенной процедурой ПриВыбореСтроки.

Синтаксис:

ОбработкаВыбораСтроки(<Флаг>)

Англоязычный синоним:

ProcessSelectLine

Параметры:

<Флаг>

Числовое выражение: 1 — включает обработку выбора предопределенной процедурой; 0 — выключает обработку выбора предопределенной процедурой.

Описание:

Метод ОбработкаВыбораСтроки включает в форме списка (справочника, журнала, счетов, журнала операций, журнала проводок) обработку выбора строки предопределенной процедурой ПриВыбореСтроки.

Доступ к данному методу возможен только в контексте Модуля формы списка.

Пример:

Форма.ОбработкаВыбораСтроки(1)

См. также: ПриВыбореСтроки



ОбработкаВыбораЗначения


Предопределенная процедура обработки выбора значения.

Синтаксис:

ОбработкаВыбораЗначения(<Вы6Знач>, <ИдентЭлемДиалога>, <ФлагСтандОбр>)

Англоязычный синоним:

ProcessPermanentChoice

Параметры:

<ВыбЗнач>

Выбранный элемент справочника, документ или иной объект, передаваемый для обработки.

<ИдентЭлемДиалога>

Идентификатор элемента диалога, которым инициализирован выбор значения.

<ФлагСтандОбр>

Флаг, установка которого в теле процедуры в 0 (ноль) приведет к отмене стандартного присвоения значения.

Описание:

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

Формальный параметр <ВыбЗнач> используется в теле процедуры для приема и обработки передаваемого системой выбранного значения.

Данная предопределенная процедура может располагаться только в программном модуле формы.

Пример:

Процедура ОбработкаВыбораЗначения(Знач, Идент, Флаг)

   ...

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



ОбратныйПорядок


Установить порядок выборки элементов справочника.

Синтаксис:

ОбратныйПорядок(<Режим>)

Англоязычный синоним:

BackwardOrder

Параметры:

<Режим>

Необязательный параметр. Числовое выражение: 1 — выбирать элементы справочника в обратном порядке; 0 — выбирать элементы справочника в прямом порядке. Значение по умолчанию — 1.

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

Текущее значение порядка выборки элементов справочника (на момент до исполнения метода): 1 — обратный порядок выборки элементов справочника; 0 — выборка элементов справочника в прямом порядке.

Описание:

Метод ОбратныйПорядок устанавливает порядок выборки элементов справочника. Данный метод обычно используется до вызова одного из методов: ВыбратьЭлементы, ВыбратьЭлементыПоРеквизиту который фактически открывает выборку. Дальнейшая выборка при помощи ПолучитьЭлемент будет происходить в заданном порядке выборки.

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

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

Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.

Пример:

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

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

Акц.ИспользоватьДату(ДатаОтчета);

Таб.ВывестиСекцию("Отчет");

// Открываем выборку Акц.ВыбратьЭлементы();

Акц.ПорядокКодов();

Акц.ОбратныйПорядок(1);

// Цикл получения элементов справочника.

Пока Акц.ПолучитьЭлемент() > 0 Цикл

   Если Акц.Это Группа() = 1 Тогда

      Таб.ВывестиСекцию("Группа");

   Иначе

      Таб.ВывестиСекцию("Акционер");

   КонецЕсли;

КонецЦикла;

См. также: ВыбратьЭлементы, ПолучитьЭлемент, ПорядокНаименований, ПорядокКодов, ВключатьПодчиненные, ИспользоватьРодителя, ИспользоватьВладельца, ИспользоватьДату



ОбратныйПорядок


Установить порядок выборки документов.

Синтаксис:

ОбратныйПорядок(<Режим>)

Англоязычный синоним:

BackwardOrder

Параметры:

<Режим>

Необязательный параметр. Числовое выражение: 1 — выбирать документы в обратном порядке даты и времени; 0 — выбирать документы в порядке возрастания даты и времени. Значение по умолчанию — 1.

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

Текущее значение порядка выборки документов (на момент до исполнения метода): 1 — обратный порядок выборки документов; 0 — выборка документов в порядке возрастания даты и времени.

Описание:

Метод ОбратныйПорядок устанавливает порядок выборки документов. Данный метод обычно используется до вызова одного из методов: ВыбратьДокументы, ВыбратьПодчиненныеДокументы, ВыбратьПоЗначению, который фактически открывает выборку. Дальнейшая выборка при помощи ПолучитьДокумент будет происходить в заданном порядке выборки.

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

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

Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.

Пример:

Если Режим = "Подробный" Тогда

   Док = СоздатьОбъект("Документ");

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

   Док = ОбратныйПорядок(1);

   // открываем выборку документов

   Док.ВыбратьДокументы(ДатаНачало, ДатаКонец);

   // цикл получения документов

   Пока Док.ПолучитьДокумент() > 0 Цикл

      ТекДок = Док.ТекущийДокумент();

   КонецЦикла;

КонецЕсли;



ОбратныйПорядок


Установить порядок выборки документов.

Синтаксис:

ОбратныйПорядок(<Режим>)

Англоязычный синоним:

BackwardOrder

Параметры:

<Режим>

Необязательный параметр. Числовое выражение: 1 — выбирать движения документов в обратном порядке даты и времени; 0 — выбирать движения документов в порядке возрастания даты и времени.

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

Числовое значение, содержащее текущее значение режима порядка выборки документов (на момент до исполнения метода).

Описание:

Метод ОбратныйПорядок устанавливает порядок выборки движения документов. Данный метод обычно используется до вызова одного из методов: ВыбратьДвижения, ВыбратьДвиженияСОстатками, который фактически открывает выборку. Дальнейшая выборка при помощи метода ПолучитьДвижение будет происходить в заданном порядке выборки.

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

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

Пример:

Рег = СоздатьОбъект("Регистр.Взаиморасчеты");

Если Режим = "Подробно" Тогда

   Рег1.УстановитьФильтр(Клиент);

   // Открываем выборку

   Рег1.ОбратныйПорядок(1);

   Рег1.ВыбратьДвижения(ДатаНачало, );

   // Цикл выбора движений по регистру

   Пока Рег1.ПолучитьДвижение() > 0 Цикл

      Если Строка(Рег1.Клиент.Код) <> Строка(Запрос.Клиент.Код) Тогда

         Продолжить;

      КонецЕсли;

      Док = Рег1.ТекущийДокумент();

      Дв_Баз_Сум = Рег1.СуммаБазовая;

      Дв_Вал_Сум = Рег1.СуммаВалютная;

      Если Рег1.Расход = 1 Тогда

         Таб.ВывестиСекцию("Расход2");

      Иначе

         Таб.ВывестиСекцию("Приход2");

      КонецЕсли;

   КонецЦикла;

КонецЕсли;



ОбратныйПорядок


Установить порядок выборки периодических значений.

Синтаксис:

ОбратныйПорядок(<Режим>)

Англоязычный синоним:

BackwardOrder

Параметры:

<Режим>

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

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

Число: 1 — если вызов метода закончился успешно, 0 — если нет.

Описание:

Метод ОбратныйПорядок устанавливает порядок выборки периодических значений. Данный метод используется до вызова метода ВыбратьЗначения, который фактически открывает выборку. Дальнейшая выборка при помощи ПолучитьЗначение будет происходить в заданном порядке.

Пример:

Процедура ЗаполнитьСписокОбр()

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

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

   Вал.НайтиПоКоду(1);

   Если Вал.Выбран() = 1 Тогда

      Доллар = Вал.ТекущийЭлемент(};

   Иначе

      Предупреждение("Не найдена валюта!");

      Возврат;

   КонецЕсли;

   ПерВал = СоздатьОбъект("Периодический");

   ПерВал.ИспользоватьОбъект("Текущ_курс", Доллар);

   ПерВал.ОбратныйПорядок(1);

   ПерВал.ВыбратьЗначения();

   Пока ПерВал.ПолучитьЗначение() = 1 Цикл

      СпВал.ДобавитьЗначение(ПерВал.Значение, Строка(ПерВал.ДатаЗнач) +

                             ПерВал.Значение);

   КонецЦикла;

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

См. также: ВыбратьЗначения, ПолучитьЗначение



Общие методы регистров


Описанные в данном разделе методы используются как для регистров остатков так и для оборотных регистров.



Общие свойства


Работа объекта «БухгалтерскиеИтоги» во всех режимах имеет некоторые общие особенности.

Значение типа «Счет» в параметры методов объекта может передаваться в виде строки, содержащей код счета. При этом счет определяется исходя из те­кущей установки используемого плана счетов основного плана счетов, заданно­го в метаданных.

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

При ведении учета по нескольким планам счетов или с использованием разделителя учета на получение итогов в различных режимах запроса влияют установки методов ИспользоватьПланСчетов и ИспользоватьРазделительУчета.



Очередность


Очередность вида расчета.

Синтаксис:

Очередность

Англоязычный синоним:

Priority

Описание:

Атрибут типа «число». Представляет собой число, соответствующее очеред­ности вида расчета, заданной при конфигурировании.

Понятие очередности используется для упорядочивания записей журнала расчетов. Это помогает упорядочить расчет записей, тем самым выполняя, на­пример, расчет всех начислений раньше, чем расчет базирующихся на них удержаний.

Пример:

ВР01 = ВидРасчета.ПоОкладу;

Сообщить("Это расчет "+ВР01.Наименование+"с очередностью "+ВРО1.Очередность);

См. также: ПриоритетВытеснения



Очистить


Очистить таблицу значений и удалить колонки.

Синтаксис:

Очистить()

Англоязычный синоним:

Clear

Описание:

Метод Очистить выполняет очистку таблицы значений и удаляет колонки.

Пример:

Табл.Очистить();



Очистить


Очищает содержимое табличного документа.

Синтаксис:

Очистить()

Англоязычный синоним:

Clear

Описание:

Метод Очистить очищает текущее содержимое-табличного документа. Его использование позволяет заново заполнить содержимое табличного документа уже открытого в окне методом Показать. Использование данного метода имеет смысл, если сам объект типа «Таблица» не уничтожался после первого заполнения.

Пример:

* Модуль отчета позволяет выводить отчет заново в уже открытое окно.

Перем Таб;

Процедура Сформировать()

   Таб.Очистить();

   Таб.ВывестиСекцию("Отчет");

   Таб.Показать();

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

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