Числовое или строковое выражение, определяющее
Вывести окно вопроса.
Синтаксис:
Вопрос(<Текст_вопроса>, <Режим>, <Таймаут>)
Англоязычный синоним:
DoQueryBox
Параметры:
<Текст_вопроса> |
Строковое выражение текста вопроса. |
<Режим> |
Числовое или строковое выражение, определяющее режим вывода окна вопроса. |
<Таймаут> |
Необязательный параметр. Числовое выражение интервала времени ожидания ответа в секундах, в течение которого система будет ожидать ответа пользователя. Если данный параметр опущен или равен 0, то время ожидания бесконечно. Значение по умолчанию — 0. |
Возвращаемое значение:
Если параметр <Режим> задан числовым значением, то функция возвращает числовое значение:
-1 |
Закончилось время ожидания ответа. |
1 |
Выбрана кнопка «ОК». |
2 |
Выбрана кнопка «Отмена». |
3 |
Выбрана кнопка «Стоп». |
4 |
Выбрана кнопка «Повтор». |
5 |
Выбрана кнопка «Пропустить». |
6 |
Выбрана кнопка «Да». |
7 |
Выбрана кнопка «Нет». |
Если параметр <Режим> задан строковым значением, то функция возвращает строковое значение. Язык для возврата такой же, какой использован в пара-метре <Режим>.
Русск. яз. |
Англ.яз. |
Описание |
Таймаут |
Timeout |
Закончилось время ожидания ответа. |
ОК |
ОК |
Выбрана кнопка «ОК». |
Отмена |
Cancel |
Выбрана кнопка «Отмена». |
Стоп |
Abort |
Выбрана кнопка «Стоп». |
Повтор |
Retry |
Выбрана кнопка «Повтор». |
Пропустить |
Ignore |
Выбрана кнопка «Пропустить». |
Да |
Yes |
Выбрана кнопка «Да». |
Нет |
No |
Выбрана кнопка «Нет». |
Описание:
Функция Вопрос выводит на экран окно вопроса. Текст определяется параметром <Текст_вопроса>. Параметр <Режим> определяет варианты возможных ответов.
Если параметр <Режим> задан числовым значением, то возможные варианты передаваемого параметра:
0 |
Кнопка «ОК». |
1 |
Кнопки «ОК» и «Отмена». |
2 |
Кнопки «Стоп», «Повтор», «Пропустить». |
3 |
Кнопки «Да», «Нет», «Отмена». |
4 |
Кнопки «Да», «Нет». |
5 |
Кнопки «Повтор», «Отмена». |
Любое другое числовое значение параметра <Режим> эквивалентно значению 0 (кнопка «ОК»), равно как и отсутствие указанного параметра.
Если параметр <Режим> задан строковым значением, то возможные варианты передаваемого параметра:
Русскоязычное написание |
Англоязычное написание |
ОК |
ОК |
ОК+Отмена |
OK+Cancel |
Стоп+Повтор+Пропустить |
Abort+Retry+Ignore |
Да+Нет+Отмена |
Yes+No+Cancel |
Да+Нет |
Yes+No |
Повтор+Отмена |
Retry+Cancel |
Пример:
Рез = Вопрос("Вы получили данное сообщение?", 4);
Если Вопрос("Все нормально?", "Да+Нет") = "Да" Тогда
// . . .
КонецЕсли;
Восстановить
Восстановить текущую запись.
Синтаксис:
Восстановить()
Англоязычный синоним:
Recall
Описание:
Метод Восстановить восстанавливает текущую запись.
Пример:
См. пример метода Удалить
ВосстановитьЗначение
Восстановить сохраненное для пользователя значение.
Синтаксис:
ВосстановитьЗначение(<Идентификатор>)
Англоязычный синоним:
RestoreValue
Параметры:
<Идентификатор> |
Строковое выражение, наименование восстанавливаемого значения. Данное наименование используется для идентификации сохраненных значений. |
Возвращаемое значение:
Значение, сохраненное для пользователя.
Описание:
Применять функцию ВосстановитьЗначение следует, например, если требуется восстановить ранее запомненное (в предыдущем сеансе работы) некоторые значение системы.
Например, можно сохранять для данного пользователя значение того склада, с которого он обычно выписывает накладные. При запуске системы в следующий раз данное значение может использоваться как значение склада по умолчанию для данного пользователя.
Замечание. При использовании метода ВосстановитьЗначение() для значения типа «СписокЗначений», являющимся реквизитом формы, его идентификатор следует передавать в качестве второго параметра. В этом случае метод следует использовать как процедуру, т. е. не использовать возвращаемое значение. ВосстановитьЗначение("СистСтрокаМойСпис", ИдентМойСпис);
Пример:
ДефСклад = ВосстановитьЗначение("МойСклад");
См. также: СохранитьЗначение
Возврат
Завершение процедуры или функции.
Синтаксис:
Возврат [<Выражение>]
Англоязычный синоним:
Return
Параметры:
<Выражение> |
Выражение, значение которого содержит результат обращения к функции. Этот параметр обязателен для оператора Возврат в теле описания функции, но не может использоваться в процедуре. |
Описание:
Оператор Возврат завершает выполнение процедуры или функции и передает управление в вызвавшую точку программы. Оператор Возврат обязателен в функции и необязателен в процедуре. Если в процедуре не используется оператор Возврат, то его неявное выполнение происходит вслед за последним исполняемым оператором процедуры. Данный оператор может применяться только в теле описания процедуры или функции, причем <Выражение> может задаваться только в случае использования оператора в контексте функции.
Пример:
Функция ДеньНедели(Номер)
Если Номер =1 Тогда
Return "понедельник";
ИначеЕсли Номер =2 Тогда
Возврат "вторник";
ИначеЕсли Номер =3 Тогда
Возврат "среда";
ИначеЕсли Номер =4 Тогда
Возврат "четверг";
ИначеЕсли Номер =5 Тогда
Возврат "пятница";
ИначеЕсли Номер =6 Тогда
Возврат "суббота";
ИначеЕсли Номер =7 Тогда
Возврат "воскресенье";
Иначе
Возврат "ошибка";
КонецЕсли;
КонецФункции
Врег
Преобразовать символы строки в верхний регистр.
Синтаксис:
ВРег(<Строка>)
Англоязычный синоним:
UpРег
Параметры:
<Строка> |
Строковое выражение. |
Возвращаемое значение:
Строковое значение.
Описание:
Функция ВРег преобразует все символы строки в верхний регистр. Результирующую строку возвращает в качестве собственного значения. Исходная строка не изменяется.
Пример:
Загл = ВРег("маленькие");
ВременныйРасчет
Установить флаг участия регистра во временном расчете.
Синтаксис:
ВременныйРасчет(<Флаг>)
Англоязычный термин:
TempCalc
Параметры:
<Флаг> |
Необязательный параметр. Числовое выражение. 1 — установить флаг участия регистра во временном расчете; 0 — сбросить флаг участия регистра во временном расчете. Значение по умолчанию — 1. |
Возвращаемое значение:
Текущее числовое значение флага участия регистра во временном расчете.
Описание:
Метод ВременныйРасчет устанавливает флаг участия регистра во временном расчете. После такой установки можно выполнять процедуры рассчитатьРегистрыНа и РассчитатьРегистрыПо, тогда у данного регистра методы обращения к остаткам будут выдавать рассчитанные значения остатков на заданный момент времени.
Замечание. В один момент времени только по одному объекту регистров каждого вида могут участвовать во временном расчете.
Пример:
// если итоги не актуальны, то стоимости берем из временного расчета
// регистра УчетРеализации
Рег = СоздатьОбъект("Регистр.УчетРеализации");
Рег.ВременныйРасчет();
РассчитатьРегистрыНа(ТекущийДокумент());
Рег.Товар = Товар;
Рег.Клиент = Клиент;
Рег.ОстаткиПолучить();
ТекОстаток = Рег.ОстатокТовара;
ТекСтоимость = Рег.Стоимость;
ТекПродСтоимость = Рег.ПродСтоимость;
См. также: РассчитатьРегистрыНа, РассчитатьРегистрыПо
Вспомогательный объект Регистры
В системе 1С:Предприятие есть возможность создавать вспомогательные объекты типа «Регистры». Использование этих объектов дает возможность преодолеть ограничение на выполнение временного расчета в один момент времени только по одному регистру каждого вида. Система позволяет выполнять параллельно временные расчеты одних и тех же регистров, но для разных объектов «Регистры». Дело в том, что регистры одного объекта воспринимаются системой независимо от регистров другого объекта.
Во всех программных модулях доступ к атрибутам и методам объекта типа «Регистры» может выполняться при помощи переменной со ссылкой на объект, который создается функцией СоздатьОбъект. Чтобы вызвать атрибут или метод объекта, имя этого атрибута или метода (с указанием необходимых параметров) пишется через точку после имени объекта. При создании объекта типа «Регистры» используется ключевое слово Регистры. Англоязычный синоним ключевого слова Регистры — Registers.
Пример:
СпецРег = СоздатьОбъект("Регистры");
Объект «Регистры» через свои атрибуты предоставляет доступ к любому виду регистра конфигурации. Методы данного объекта позволяют выполнять временный расчет именно для регистров данного объекта, независимо от реги стров другого (аналогичного) объекта.
ВставитьКолонку
Вставить новую колонку в таблицу значений в указанную позицию.
Синтаксис:
ВставитьКолонку(<Идентификатор>, <НомерКолонки>, <Тип>, <Длина>, <Точность>,
<3аголовок>, <Ширина>, <Формат>, <Положение>)
Англоязычный синоним:
InsertColumn
Параметры:
<Идентификатор> |
Необязательный параметр. Идентификатор колонки, если не указан обращение к колонке возможно только по номеру. |
<НомерКолонки> |
Необязательный параметр. Числовое выражение, содержащее позицию, в которую вставляется новая колонка. |
<Тип> |
Необязательный параметр. Строка или вид суб кон-то, задающий тип колонки. Если не указан, то можно хранить любой тип. |
<Длина> |
Необязательный параметр. Длина для числовой или строковой колонки. |
<Точность> |
Необязательный параметр. Точность (длина дробной части) для числовой колонки. |
<Заголовок> |
Необязательный параметр. Строковое выражение, содержащее заголовок колонки в элементе диалога типа «ТаблицаЗначений». |
<Ширина> |
Необязательный параметр. Числовое выражение, содержащее ширину колонки (в символах) для представления колонки в элементе диалога типа «ТаблицаЗначений». |
<Формат> |
Необязательный параметр. Строковое выражение, содержащее форматную строку, которая будет использована при визуальном отображении значений данной колонки. |
<Положение> |
Необязательный параметр. Определяет вариант выравнивания при визуальном отображении значений данной колонки. Число: 1 — слева; 2 — справа. |
Возвращаемое значение: номер новой колонки.
Описание:
Метод ВставитьКолонку вставляет новую колонку в таблицу значений в указанную позицию.
Пример:
Табл.ВставитьКолонку("Код", 1, "Число", 6, 0, "Код", 6);
ВставитьСтроку
Вставить строку с указанным номером.
Синтаксис:
ВставитьСтроку(<НомерСтроки>, <Строка>)
Англоязычный синоним:
InsertLine
Параметры:
<НомерСтроки> |
Числовое выражение — номер вставляемой строки. |
<Строка> |
Строковое выражение. |
Описание:
Метод ВставитьСтроку вставляет в текст строку <Строка> с номером <НомерСтроки>.
Пример:
ТекстДок = СоздатьОбъект("Текст");
ТекстДок.Открыть("catalog.txt");
ТекстДок.ЗаменитьСтроку(52, "Установка оборудоввания 3456......" + Стоимость);
ТекстДок.ВставитьСтроку(53, "Замена оборудования 5691... ");
ТекстДок.ТолькоПросмотр(1);
ВставитьЗначение
Вставить значение в указанную позицию списка.
Синтаксис:
ВставитьЗначение(<Позиция>, <Знач>, <Строка>, <Колич>)
АНГЛОЯЗЫЧНЫЙ СИНОНИМ:
InsertValue
Параметры:
<Позиция> |
Числовое выражение — номер позиции в списке, начиная с которого будут вставлены новые значения. Номер позиции может быть от 1 до РазмерСписка() + 1. |
<Знач> |
Выражение со значением, которое добавляется в список. |
<Строка> |
Необязательный параметр. Строковое выражение, содержащее задаваемое символьное представление добавляемого значения. По умолчанию принимает стандартное в системе 1С:Предприятие символьное представление объекта. |
<Колич> |
Необязательный параметр. Числовое выражение — количество повторов. По умолчанию — 1. |
Описание:
Метод ВставитьЗначение добавляет значение и его символьное представление в указанную позицию списка <Позиция> заданное число раз <Колич>. Представление используется в дальнейшем для удобства сортировки и выбора значений из списка (отображается в диалоговом окне выбора).
Пример:
// Объявляем переменные
Перем Список;
Перем ВР;
// процедура выбора значения
Процедура ВыбратьВР()
Если Список.ВыбратьЗначение(ВР, "Выбор доплаты") = 1 Тогда
Расчет = ВР;
НазваниеВР = Расчет.Код;
КонецЕсли;
КонецПроцедуры
// инициализация переменных
Список = СоздатьОбъект("СписокЗначений");
Список.ВставитьЗначение(1, Вид Расчета.ДоплатаПроцентом, "Процентом");
Список.ВставитьЗначение(1, Вид Расчета.ДоплатаСуммой, "Суммой");
// первоначальное значение
НазваниеВР = Расчет.Код;
ВСтрокуСРазделителями
Преобразует список значений в строку, содержащую строки в двойных кавычках и числа, разделенные запятыми.
Синтаксис:
ВСтрокуСРазделителями()
Англоязычный синоним:
ToSeparatedString
Описание:
Метод ВСтрокуСРазделителями преобразует список значений в строку, содержащую строки в двойных кавычках и числа, разделенные запятыми.
Пример:
СтрПроводка = Спис.ВСтрокуСРазделителями();
Данная книга является описанием встроенного
Назначение и краткая характеристика встроенного языка
Построение книги
Формат описания элементов языка
Соглашения и обозначения, принятые в синтаксических диаграммах
Синтаксическая диаграмма описания элемента языка
ЭлементЯзыка
Данная книга является описанием встроенного языка системы 1С:Предприятие и предназначена для специалистов, выполняющих конфигурирование системы для решения конкретной задачи автоматизации учета.
1С:Предприятие является гибкой настраиваемой системой, с помощью которой можно решать широкий круг задач в сфере автоматизации деятельности предприятий. Специфические алгоритмы конфигурации описываются в системе 1С:Предприятие при помощи программной компоненты Конфигуратор (далее по тексту — конфигуратор) в программных модулях, содержащих тексты на встроенном языке системы 1С:Предприятие.
ВвестиЧисло
Вызов диалога для ввода числа.
Синтаксис:
ВвестиЧисло(<Число>, <Подсказка>, <Длина>, <Точность> , <Таймаут>)
Англоязычный синоним:
InputNumeric
Параметры:
<Число> |
Имя переменной, ранее объявленной в программном модуле. В эту переменную будет помещено введенное значение числа. |
<Подсказка> |
Текст заголовка окна диалога ввода. Может использоваться в качестве подсказки конечному пользователю. |
<Длина> |
Длина вводимого числа. |
<Точность> |
Количество знаков после десятичной точки. |
<Таймаут> |
Необязательный параметр. Числовое выражение интервала времени ожидания ответа в секундах, в течение которого система будет ожидать ответа пользователя. Если данный параметр опущен или равен 0, то время ожидания бесконечно. Значение по умолчанию — 0. |
Возвращаемое значение:
Числовое значение: 1 — если в диалоге нажата кнопка «ОК»; 0 — если нажата кнопка «Отмена»; -1 (минус единица) — если закончилось время ожидания ответа.
Описание:
Функция ВвестиЧисло выполняет вызов диалога для ввода числа.
Пример:
Если ВвестиЧисло(Ном, "Введите номер приказа", 5, 0, 10) = 1 Тогда
ВыбДок = СоздатьОбъект("Документ.Приказ");
ВыбДок.НайтиПоНомеру(Строка(Ном), Дата(0));
Если ВыбДок.Выбран() = 1 Тогда
// . . .
ИначеЕсли;
// . . .
КонецЕсли;
КонецЕсли;
ВвестиДату
Вызов диалога для ввода даты.
Синтаксис:
ВвестиДату(<Дата>, <Подсказка>, <Таймаут>)
Англоязычный синоним:
InputDate
Параметры:
<Дата> |
Имя переменной, ранее объявленной в программном модуле. В эту переменную будет помещено введенное значение даты. |
<Подсказка> |
Текст заголовка окна диалога ввода. Может использоваться в качестве подсказки конечному пользователю. |
<Таимаут> |
Необязательный параметр. Числовое выражение интервала времени ожидания ответа в секундах, в течение которого система будет ожидать ответа пользователя. Если данный параметр опущен или равен 0, то время ожидания бесконечно. Значение по умолчанию — 0. |
Возвращаемое значение:
Числовое значение: 1 — если в диалоге нажата кнопка «ОК»; 0 — если нажата кнопка «Отмена»; -1 (минус единица) — если закончилось время ожидания ответа.
Описание:
Функция ВвестиДату выполняет вызов диалога для ввода даты.
Пример:
Процедура ВводДатыСсуды()
Если ВидРасчета = ВидРасчета.БеспроцентнаяСсуда Тогда
ДатаСсуды = Дата(0);
Возврат;
КонецЕсли;
Если ДатаСсуды = Дата(0) Тогда
ДатаСсуды = ДатаДок + 30;
КонецЕсли;
Д = ДатаСсуды;
Если ВвестиДату(Д, "Введите дату ссуды") = 1 Тогда
ДатаСсуды = Д;
Иначе
ВидРасчета = ВидРасчета.БеспроцентнаяСсуда;
КонецЕсли;
КонецПроцедуры
ВвестиПеречисление
Вызов диалога для ввода перечисления.
Синтаксис:
ВвестиПеречисление(<3начение>, <Подсказка>, <Таймаут>)
Англоязычный синоним:
InputEnum
Параметры:
<3начение> |
Имя переменной, ранее объявленной в программном модуле. Переменная должна содержать значение типа «Перечисление» или строковое значение. Если тип передаваемого в качестве параметра значения — перечисление, то вызывается диалог со списком заданного вида перечисления. Если тип передаваемого в качестве параметра значения — строка, то в ней должен быть идентификатор требуемого вида перечисления, как он задан в конфигураторе. В эту же переменную будет помещено выбранное в диалоге значение перечисления. |
<Подсказка> |
Текст заголовка окна диалога ввода. Может использоваться в качестве подсказки конечному пользователю. |
<Таймаут> |
Необязательный параметр. Числовое выражение интервала времени ожидания ответа в секундах, в течение которого система будет ожидать ответа пользователя. Если данный параметр опущен или равен 0, то время ожидания бесконечно. Значение по умолчанию — 0. |
Возвращаемое значение:
Числовое значение: 1 — если в диалоге нажата кнопка «ОК», 0 — если нажата кнопка «Отмена»; -1 (минус единица) — если закончилось время ожидания ответа.
Описание:
Функция ВвестиПеречисление выполняет вызов диалога для ввода перечисления.
Пример:
*
Процедура УстПризнак1()
ВыбПризн = Перечисление.ТипСотрудника.Штатный;
Если ВвестиПеречисление(ВыбПризн, "Выберите тип") > 0 Тогда
Тип = ВыбПризн;
Иначе
Тип = Перечисление.ТипСотрудника.Штатный;
КонецЕсли;
КонецПроцедуры
*
Процедура УстПризнак2()
ВыбПризн = "ТипСотрудника";
Если ВвестиПеречисление(ВыбПризн, "Выберите тип") > 0 Тогда
Тип = ВыбПризн;
Иначе
Тип = Перечисление.ТипСотрудника.Штатный;
КонецЕсли;
КонецПроцедуры
ВвестиПерерасчет
Вводит перерасчет текущей записи журнала расчетов.
Синтаксис:
ВвестиПерерасчет()
Англоязычный синоним:
InsertRecalc
Возвращаемое значение:
Число: 1 — если операция успешно выполнена, и 0 — в противном случае.
Описание:
Метод предназначен для ввода строк-перерасчетов в журнал расчетов. Как правило, используется в модуле документа, но может использоваться и в модуле вида расчета. Метод вводит полную копию текущей записи в журнал расчетов, не заполняя лишь атрибут Результат. Впоследствии система распознает «обычные» записи и записи-перерасчеты.
Записи-перерасчеты могут вводиться только для записей одного из прошлых расчетных периодов. Невозможно ввести перерасчет записи, которая в свою очередь является перерасчетом. При этом система позволяет вводить несколько записей-перерасчетов в разных расчетных периодах для одной и той же записи журнала.
Например, в случае если журнал расчетов имеет месячную периодичность, для «мартовской» записи журнала могут быть введены перерасчеты в апреле, мае и т. д.
Для записей, введенных в журнал одним из методов ВвестиПерерасчет или ВвестиПерерасчетНаОсновании, атрибут Перерасчет принимает значение 1.
При расчете записи-перерасчета результат вычисляется с учетом результата первичной (перерассчитываемой) записи. Это значит, что если в журнале расчетов введен перерасчет записи прошлого периода, то результат перерасчета будет рассчитан за вычетом значения Результат первичной записи.
Пример:
Процедура Перерасчет(Группа, Сотрудник, Основание, Начало, Окончание)
//Группа расчетов "оплата по среднему"
ОС = ГруппаРасчетов.ОплатаПоСреднему;
// перерасчет по журналу "зарплата"
ЖрнЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");
// дата, начиная с которой нужно перерассчитывать и начисления
ДатаНачислений = ЖрнЗарплата.КонецПериодаПоДате(Начало) + 1;
// выделим все записи ЖР по сотруднику
ЖрнЗарплата.ВыбратьЗаписиПоОбъекту(Сотрудник,
ЖрнЗарплата.НачалоПериодаПоДате(Начало),
Минимум(Окончание, ЖрнЗарплата.НачалоТекущегоПериода() - 1));
Сч = 1;
Пока ЖрнЗарплата.ПолучитьЗапись() > 0 Цикл
Если ЖрнЗарплата.ВидРасч.ВходитВГруппу(Группа) = 1 Тогда
Пересчитать = 1;
Если ((ЖрнЗарплата.ВидРасч.ВходитВГруппу(ОС) = 1)И
(ЖрнЗарплата.ДатаНачала<ДатаНачислений)) Тогда
// надо перерассчитывать начисления, оплачиваемые
//по среднему заработку только следующего
// (за началом действия данного документа-основания)
// периода расчета
Пересчитать = 0;
КонецЕсли;
Если Пересчитать = 1 Тогда
ЖрнЗарплата.ВвестиПерерасчет(};
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
См. также: Перерасчет, ВвестиПерерасчетНаОсновании
ВвестиПерерасчетНаОсновании
Вводит перерасчет текущей записи журнала расчетов на основании произвольного документа.
Синтаксис:
ВвестиПерерасчетНаОсновании(<Документ>)
Англоязычный синоним:
InsertRecalcByReason
Параметры:
<Документ> |
Документ, на основании которого вводится запись (или записи) в журнал расчетов. |
Возвращаемое значение:
Число: 1 — если операция успешно выполнена; 0 — в противном случае.
Описание:
Метод предназначен для ввода строк-перерасчетов в журнал расчетов на основании произвольного документа. Как правило, используется в модуле документа, но может использоваться и в модуле вида расчета. Метод вводит полную копию текущей записи в журнал расчетов, не заполняя лишь атрибут Результат и вводя в качестве документа-основания параметр <Документ>.
В отличие от метода ВвестиПерерасчет (который вводит записи журнала на основании того документа, в модуле которого используется метод), данный метод вводит записи-перерасчеты, задавая для них произвольный документ-основание.
Записи-перерасчеты могут вводиться только для записей одного из прошлых расчетных периодов. Невозможно ввести перерасчет записи, которая в свою очередь является перерасчетом. При этом система позволяет вводить несколько записей-перерасчетов в разных расчетных периодах для одной и той же записи журнала.
Пример:
Процедура ПровестиПерерасчет(Док)
//Группа расчетов "оплата по среднему"
ОС = ГруппаРасчетов.ОплатаПоСреднему;
// перерасчет по журналу "зарплата"
ЖрнЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");
// дата, начиная с которой нужно перерасчитывать и начисления
ДатаНачислений = ЖрнЗарплата.КонецПериодаПоДате(Начало) + 1;
// выделим все записи ЖР по сотруднику
ЖрнЗарплата.ВыбратьЗаписиПоОбъекту(Док.Сотрудник,
ЖрнЗарплата.НачалоПериодаПоДате(Док.Начало),
Минимум(Док.Окончание, ЖрнЗарплата.НачалоТекущегоПериода() - 1));
Сч = 1;
Пока ЖрнЗарплата.ПолучитьЗапись() > 0 Цикл
Если ((ЖрнЗарплата.ВидРасч.ВходитВГруппу(ОС) = 1) И
(ЖрнЗарплата.ДатаНачала < ДатаНачислений)) Тогда
ЖрнЗарплата.ВвестиПерерасчетНаОсновании(Док);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
См. также: Перерасчет, ВвестиПерерасчет
ВвестиПериод
Ввод периода в виде диалога.
Синтаксис:
ВвестиПериод(<НачалоПериода>, <КонецПериода>, <Подсказка>)
Англоязычный синоним:
InputРег1od
Параметры:
<НачалоПериода> |
Идентификатор переменной, в которую функция возвращает дату начала периода. |
<КонецПериода> |
Идентификатор переменной, в которую функция возвращает дату конца периода. |
<Подсказка> |
Необязательный параметр. Строковое выражение, содержащее строку, которая будет выводиться в заголовке окна диалога. Если не указано — стандартная подсказка. |
Возвращаемое значение:
Числовое значение: 1 — выбор осуществлен , 0 — выбор не осуществлен (пользователем нажата кнопка «Отмена», клавиша <Esc> или закрыто окно диалога).
Описание:
Функция ВвестиПериод выдает на экран диалог специального вида, при помощи которого пользователь может выбрать период. Выбранный пользователем период записывается в переменные, передаваемые как параметры при вызове метода.
Пример:
Дата1 = '01.01.97';
Дата2 = '31.03.97';
Если ВвестиПериод(Дата1, Дата2, "Введите период отчета") <> 1 Тогда
Возврат 0;
КонецЕсли;
ВвестиПланСчетов
Выбрать план счетов из существующих планов счетов в диалоге.
Синтаксис:
ВвестиПланСчетов(<ПланСчетов>, <Подсказка>, <Таймаут>)
Англоязычный синоним:
InputChartOfAccounts
Параметры:
<ПланСчетов> |
Значение типа «План счетов», переданное по ссылке (идентификатор переменной). В данное значение будет осуществлен возврат выбранного значения. |
<Подсказка> |
Строковое выражение, содержащее строку, которая будет выводиться в заголовке окна диалога. |
<Таймаут> |
Числовое выражение — интервал времени ожидания ответа пользователя в секундах. Если параметр опущен или равен 0 — ожидание бесконечно. Необязательный параметр. |
Возвращаемое значение:
Числовое значение: 1 — выбор осуществлен , 0 — выбор не осуществлен (пользователем нажата кнопка «Отмена», клавиша <Esc> или закрыто окно диалога).
Описание:
Данная функция выводит диалог, в котором пользователь интерактивно выбирает один из существующих планов счетов. Результат выбора возвращается в первый параметр функции.
Пример:
Перем ВыбПлан;
Если ВвестиПланСчетов(ВыбПлан, "Введите план счетов") = 1 Тогда
...
КонецЕсли;
ВвестиРасчет
Ввести запись в журнал расчетов.
Синтаксис:
ВвестиРасчет(<06ъект>, <ВидРасчета>, <ДатаНачала> , <ДатаОкончания>, <Результат>}
Англоязычный синоним:
InsertCalculation
Параметры:
<Объект> |
Объект расчета — элемент справочника, заданного при конфигурировании журнала расчетов. |
<ВидРасчета> |
Вид вводимого расчета — ссылка на агрегатный объект «ВидРасчета». |
<ДатаНачала> |
Необязательный параметр. Дата начала действия вводимого расчета. По умолчанию — дата начала текущего периода журнала расчетов. |
<ДатаОкончания> |
Необязательный параметр. Дата окончания действия вводимого расчета. По умолчанию — дата окончания текущего периода журнала расчетов. |
<Результат> |
Необязательный параметр. Результат расчета. По умолчанию — 0. |
Возвращаемое значение:
Число: 1 — если операция успешно выполнена; 0 — в противном случае.
Описание:
Метод ВвестиРасчет предназначен для ввода строк в журнал расчетов. Как правило, используется в модуле расчета документа, но может использоваться и в модуле вида расчета. Метод вводит одну или несколько записей в журнал расчетов, и результат ее действия зависит от того, вводится «вытесняющий» расчет или обычный.
При вводе вытесняющего расчета проводится анализ уже существующих записей журнала расчетш; для интервала времени, заданного параметрами ДатаНачала и ДатаОкончания. Если в этом периоде уже существуют записи, приоритет вытеснения которых меньше либо равен приоритету вытеснения вводимого расчета, будет проводиться редактирование периода их действия или полное их удаление. Это приведет, например, к тому, что вводимая запись будет вытеснять записи с тем же видом расчета.
В том случае, если вытесняемые данные принадлежат не текущему периоду расчета, проводится не корректировка или полное удаление записей, а их сторнирование
Если приоритет вытеснения уже существующих записей больше приоритета вытеснения вводимого расчета, то корректируется период действия вводимой записи. Это может привести, например, к тому, что новая запись вовсе не будет введена, если ее место во времени уже занято записями с большим приоритетом вытеснения.
Для случая ввода невытесняющих расчетов анализ существующих записей журнала расчетов и их протяженности во времени не проводится, и расчет вводится в любом случае.
Во всех вышеописанных случаях ввод записей в журнал расчетов проводится в пределах границ расчетных периодов журнала расчетов. Например, если при месячной периодичности журнала задать дату начала и дату окончания, отстоящие друг от друга более, чем на месяц, будет введено более одной записи журнала расчетов — для всех периодов, затрагиваемых временным интервалом от <ДатаНачала> до <ДатаОкончания>.
Важно! Следует помнить, что ввод записи с временем действия расчета, не принадлежащим текущему расчетному периоду, не означает ввода записей прошлого или будущего периода. Вводимые записи всегда принадлежат текущему периоду (т. е. введены в текущем периоде), хотя и производят расчеты прошлого или будущего периодов.
Атрибуты Документ и РодительскийДокумент журнала расчетов заполняются значением того документа, в модуле расчета которого сработал метод ВвестиРасчет. Этот документ будет «родителем» и «основанием» вводимой записи журнала расчетов. В том случае, когда метод сработал в модуле вида расчета, реквизиты Документ и РодительскийДокумент заполняются значениями этих атрибутов той записи журнала расчетов, при расчете которой выполнен метод ВвестиРасчет.
Таким образом, конкретный документ является «родителем» не только тех записей журнала расчетов, которые введены непосредственно им, но и тех записей, которые порождены при расчете записей, введенных документом. Можно считать, что для таких записей документ является не «родителем», а «прародителем».
Параметр <Результат> можно использовать в том случае, когда сразу при вводе записей журнала расчетов можно записать их результат.
Важно! Метод ВвестиРасчет можно применять только для тех объектов, которые созданы функцией СоздатьОбъект. Это значит, например, что его нельзя использовать непосредственно (без точки) в форме журнала расчетов или в модуле видов расчета.
Пример:
// Ввод выбранного расчета.
// Атрибут "Расчет" — реквизит формы документа
Процедура ПровестиДокумент()
// Процедура выполняется при проведении документа расчета
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ЖР.ВвестиРасчет(Сотрудник, Расчет, ДатаН, ДатаК, 0);
КонецПроцедуры
См. также: ВвестиРасчетНаОсновании, ЗаписатьРасчет
ВвестиРасчетНаОсновании
Ввести запись в журнал расчетов на основании произвольного документа.
Синтаксис:
ВвестиРасчетНаОсновании(<Основание>, <Объект>, <ВидРасчета>, <ДатаНачала>,
<ДатаОконч>, <Результат>)
Англоязычный синоним:
InsertCalculationByReason
Параметры:
<Основание> |
Документ, на основании которого вводится запись (или записи) в журнал расчетов. |
<Объект> |
Объект расчета — элемент справочника, заданного при конфигурировании журнала расчетов. |
<ВидРасчета> |
Вид вводимого расчета — ссылка на агрегатный объект типа «ВидРасчета». |
<ДатаНачала> |
Необязательный параметр. Дата начала действия вводимого расчета. По умолчанию — дата начала текущего расчетного периода журнала расчетов. |
<ДатаОконч> |
Необязательный параметр. Дата окончания действия вводимого расчета. По умолчанию — дата окончания текущего расчетного периода журнала расчетов. |
<Результат> |
Необязательный параметр. Результат расчета. По умолчанию — ноль. |
Возвращаемое значение:
Число: 1 — если операция успешно выполнена; 0 — в противном случае.
Описание:
Метод предназначен для ввода строк в журнал расчетов. Работает так же, как и метод ВвестиРасчет, но при этом реквизит Документ вводимых строк журнала расчетов заполняется значением параметра <Основание>. Использование метода ВвестиРасчетНаОсновании — один из способов непосредственно установить родительские отношения между любым документом и вводимыми записями журнала расчетов.
Важно! Метод ВвестиРасчетНаОсновании можно применять только для тех объектов, которые созданы функцией СоздатьОбъект. Это значит, например, что его нельзя использовать непосредственно (без точки) в форме журнала расчетов или в модуле видов расчета.
Пример:
// Модуль выполняется при проведении документа расчета "Начало месяца"
Процедура ПровестиДокумент()
// Если можно проводить...
Если (МожноПроводить = 1) Тогда
// Журнал расчетов — Зарплата
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ЖРКомп = СоздатьОбъект("ЖурналРасчетов.Компенсации");
// конец и начало текущего периода
КТП = ЖР.КонецТекущегоПериода();
НТП = ЖР.НачалоТекущегоПериода();
Сотр = СоздатьОбъект("Справочник.Сотрудники");
Спр = СоздатьОбъект("Справочник.ПриказыДлительногоДействия");
Сотр.ВыбратьЭлементы();
Пока Сотр.ПолучитьЭлемент() > 0 Цикл
// расчет "приказов длительного действия"
// типа доплат исп. листов, штрафов и пр...
Спр.ИспользоватьВладельца(Сотрудник);
Спр.ВыбратьЭлементы();
// предполагается, что в каждом приказе есть
// реквизиты Начало, Окончание и Сотрудник
Пока Спр.ПолучитьЭлемент() > 0 Цикл
//. . .
Если Спр.Приказ.Вид() <> "" Тогда
Если ((Спр.Приказ.Окончание >= НТП) И
(Спр.Приказ.Начало <= КТП)) Тогда
// предполагается, что в каждом приказе
// есть реквизиты Начало и Окончание
ЖР.ВвестиРасчетНаОсновании(Спр.Приказ, Спр.Приказ.Сотрудник,
Спр.Приказ.Расчет, Макс(Спр.Прика з.Начало, НТП),
Мин(Спр.Приказ.Окончание, КТП), 0);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ИначеЕсли МожноПроводить = 0 Тогда
Сообщить("Документ не проведен!!!");
КонецЕсли;
КонецПроцедуры
См. также: ВвестиРасчет, ЗаписатьРасчетНаОсновании
ВвестиСтроку
Вызов диалога для ввода строки.
Синтаксис:
ВвестиСтроку(<Строка>, <Подсказка>, <ДлинаСтроки>, <Признак>, <Таймаут>)
Англоязычный синоним:
InputString
Параметры:
<Строка> |
Имя переменной, ранее объявленной в программном модуле. В эту переменную будет помещено введенное строковое значение. |
<Подсказка> |
Текст заголовка окна диалога ввода. Может использоваться в качестве подсказки конечному пользователю. |
<ДлинаСтроки> |
Числовое выражение — длина строки. |
<Признак> |
Необязательный параметр. Числовое выражение, если 0 — ввод простой строки без разделителей строк, если 1 — ввод многострочного текста с разделителями строк. Значение по умолчанию — 0. |
<Таймаут> |
Необязательный параметр. Числовое выражение интервала времени ожидания ответа в секундах, в течение которого система будет ожидать ответа пользователя. Если данный параметр опущен или равен 0, то время ожидания бесконечно. Значение по умолчанию — 0. |
Возвращаемое значение:
Числовое значение: 1 — если в диалоге нажата кнопка «ОК», 0 — если нажата кнопка «Отмена»; -1 (минус единица) — если закончилось время ожидания ответа.
Описание:
Функция ВвестиСтроку выполняет вызов диалога для ввода строки.
Пример:
Процедура ВводКодовПродукции()
Если Продукция.Вид = Перечисление.ВидПродукции.Наша Тогда
НК = Код;
Если ВвестиСтроку(НК, "Введите код продукции", 40, 1, 9) = 1 Тогда
Koд = HK;
КонецЕсли;
Иначе
Код = "";
Возврат;
КонецЕсли;
КонецПроцедуры
ВвестиВидСубконто
Выбрать вид субконто из существующих видов субконто в диалоге.
Синтаксис:
ВвестиВидСубконто(<ВидСубконто>, <Подсказка>, [<Счет>], [<Таймаут>])
Англоязычный синоним:
InputSubcontoKind
Параметры:
<ВидСубконто> |
Значение типа «ВидСубконто», переданное по ссылке (идентификатор переменной). В данное значение будет осуществлен возврат выбранного значение вида субконто. |
<Подсказка> |
Строковое выражение, содержащее строку, которая будет выводиться в заголовке окна диалога выбора вида субконо. |
<Счет> |
Значение типа «Счет». Если данное значение указано выбор будет ограничен видами субконто, заданными для указанного счета. Необязательный параметр. |
<Таймаут> |
Числовое выражение — интервал времени ожидания ответа пользователя в секундах. Если параметр опущен или равен 0 — ожидание бесконечно. Необязательный параметр. |
Возвращаемое значение:
Числовое значение: 1 — выбор осуществлен , 0 — выбор не осуществлен (пользователем нажата кнопка «Отмена», клавиша <Esc> или закрыто окно диалога).
Описание:
Данная функция выводит диалог, в котором пользователь выбирает один из существующих видов субконто. Результат выбора возвращается в первый параметр функции. Выбор видов субконто может быть ограничен видами субконто, заданными для конкретного счета.
Пример:
Перем ВыбВидСубк;
Если ВвестиВидСубконто(ВыбВидСубк, "Введите вид убконто", ВыбСчет) = 1 Тогда
...
КонецЕсли;
ВвестиЗначение
Вызов диалога для ввода значения заданного типа.
Синтаксис:
ВвестиЗначение(<3начение>, <Подсказка>, <Тип>, <Длина>, <Точность>)
Англоязычный синоним:
InputValue
Параметры:
<3начение> |
Имя переменной, ранее объявленной в программном модуле. В эту переменную будет помещено введенное значение. |
<Подсказка> |
Текст заголовка окна диалога ввода. Может использоваться в качестве подсказки конечному пользователю. |
<Тип> |
Строковое выражение — название типа данных, которое требуется ввести. Например: "Строка", "Число", "Справочник.Товары", "Документ . РасходнаяНакладная" и т. п. |
<Длина> |
Необязательный параметр. Длина вводимого значения (для типов данных «Строка», «Число»). |
<Точность> |
Необязательный параметр. Количество знаков после десятичной точки (для типа данных «Число»). |
Возвращаемое значение:
Числовое значение: 1 — если в диалоге нажата кнопка «ОК»; 0 — если нажата кнопка «Отмена»;
Описание:
Функция ВвестиЗначение выполняет вызов диалога для ввода значения заданного типа.
Пример:
Если ВвестиЗначение(Ном, "Введите номер приказа", "Число", 5, 0) = 1 Тогда
ВыбДок = СоздатьОбъект("Документ.Приказ");
ВыбДок.НайтиПоНомеру(Строка(Ном), Дата(0));
Если ВыбДок.Выбран() = 1 Тогда
// . . .
ИначеЕсли;
// . . .
КонецЕсли;
КонецЕсли;
ВводНаОсновании
Предопределенная процедура при вводе нового документа на основании.
Синтаксис:
ВводНаОсновании(<ДокументОснование>)
Англоязычный синоним:
InputCausedBy
Параметры:
<ДокументОснование> |
Значение документа, на основании которого вводится новый документ. |
Описание:
Вызов процедуры ВводНаОсновании производится в системе 1С:Предприятие неявно после выбора пункта меню «Действия» - «Ввести на основании». В этот момент система подставляет фактическое значение параметра <ДокументОснование>, содержащее документ, на котором находился курсор в момент выполнения данной команды.
Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов нового документа, вводимого на основании другого. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя вводить новые документы), ввода нового документа и открытие его формы не будет выполнено.
Процедуру ВводНаОсновании можно размещать только в Модулях форм документов (см. «Виды программных модулей»).
Пример:
Процедура ВводНаОсновании(ДокОснование)
Если (ДокОснование.Вид() = "ПриходнаяРеализ")
ИЛИ ДокОснование.Вид() = "РасходнаяРеализ") Тогда
ПризнакРеализатора = Перечисление.ПризнакиРеализаторов.Реализатор_Клиент;
ДатаДок = РабочаяДата();
Валюта = Константа.БазоваяВалюта;
Валюта.ИспользоватьДату(ДатаДок);
Дата_Курса = ДокОснование.Дата_Курса;
Курс = ДокОснование.Курс;
НДС = ДокОснование.НДС;
СН = ДокОснование.СН;
Фирма = ДокОснование.Фирма;
Основание = "" + ДокОснование + " от " + ДокОснование.ДатаДок;
ДокОснование.ВыбратьСтроки();
Пока ДокОснование.ПолучитьСтроку() = 1 Цикл
НоваяСтрока();
Товар = ДокОснование.Товар;
Цена = ДокОснование.Цена;
Единица = ДокОснование.Единица;
Коэффициент = ДокОснование.Коэффициент;
Количество = ДокОснование.Количество;
Сумма = ДокОснование.Сумма;
КонецЦикла;
Иначе
Предупреждение("Этот Документ можно вводить только на основании
|накладных по реализации!");
ВводНового();
КонецЕсли;
Валюта_Прежн = Валюта;
Курс_Прежн = Курс;
КонецПроцедуры
См. также: СтатусВозврата
ВводНаОсновании
Предопределенная процедура при вводе новой операции на основании.
Синтаксис:
ВводНаОсновании(<ДокОснование>)
Англоязычный синоним:
InputCausedBy
Параметры:
<ДокОснование> |
Значение документа, на основании которого вводится новая операция. |
Описание:
Вызов процедуры ВводНаОсновании производится в системе 1С:Предприятие неявно после выбора пункта «Ввести на основании» из меню «Действия» главного меню системы 1С:Предприятие при работе с журналом операций или в других случаях, когда форма открывается для ввода на основании. В этот момент система подставляет фактическое значение параметра <ДокОснование>, содержащее объект типа «Документ», на которой находился курсор в момент выполнения данной команды.
Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов новой операции, вводимых на основании выбранного документа
Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю нельзя вводить новые операции), ввода новой операции и открытие формы не будет выполнено.
Процедуру ВводНаОсновании можно размещать только в модуле формы операции (см. «Виды программных модулей»).
Пример:
Процедура ВводНаОсновании(ДокОсн)
Если ДокОсн.Вид() = "ПлатПор" Тогда
ИспользоватьСубконто(ВидыСубконто.Организации, ДокОсн.Получатель);
КонецЕсли;
КонецПроцедуры
См. также: СтатусВозврата
ВводНового
Предопределенная процедура при вводе нового элемента справочника.
Синтаксис:
ВводНового(<ПризнКопирования>, <ОбъектКопирования>)
Англоязычный синоним:
InputNew
Параметры:
<ПризнКопирования> |
Признак того, что объект введен копированием. Число: 1 — объект введен копированием, 0 — просто новый объект. Данный признак может быть использован для анализа необходимости инициализации реквизитов нового объекта. |
<ОбъектКопирования> |
Объект, который был скопирован. |
Описание:
Вызов процедуры ВводНового производится в системе 1С:Предприятие неявно в момент выбора пункта меню "Действия" — "Новый" при работе со справочниками. Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов нового элемента справочника. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя вводить новые элементы), ввода нового элемента и открытие его формы не будет выполнено.
Процедуру ВводНового контекста справочников можно размещать в следующих программных модулях: Модуль формы элемента справочника, Модуль формы группы справочника (см. «Виды программных модулей»).
Пример:
Процедура ВводНового();
Оклад = 1000000;
Пдр = СоздатьОбъект("Справочник.Подразделения");
Пдр.НайтиПоКоду(1);
Подразделение = Пдр.ТекукщийЭлемент();
Город = Константа.НашГород;
КонецПроцедуры
См. также: СтатусВозврата
ВводНового
Предопределенная процедура при вводе нового документа.
Синтаксис:
ВводНового(<ПризнКопирования>, <ОбъектКопирования>)
Англоязычный синоним:
InputNew
Параметры:
<ПризнКопирования> |
Признак того, что объект введен копированием. Число: 1 — объект введен копированием, 0 — просто новый объект. Данный признак может быть использован для анализа необходимости инициализации реквизитов нового объекта. |
<ОбъектКопирования> |
Объект, который был скопирован. |
Описание:
Вызов процедуры ВводНового производится в системе 1С:Предприятие неявно в момент выбора пункта меню «Действия» — «Новый» при работе с Документами. Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов нового документа. Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя вводить документы), ввода нового документа и открытие его формы не будет выполнено.
Процедуру ВводНового контекста документа можно размещать в Модулях форм документов (см. «Виды программных модулей»).
Пример:
Процедура ВводНового();
Валюта = Константа.ДефВалютаПродажи;
Валюта.ИспользоватьДату(ДатаДок);
Дата_Курса = ДатаДок;
Если Число(Валюта.Код) = Число(Константа.БазоваяВалюта.Код) Тогда
//У базовой валюты курс = 1, поэтому отображаем курс Основной валюты
Константа.ОсновнаяВалюта.ИспользоватьДату(ДатаДок);
Курс = Константа.ОсновнаяВалюта.Текущ_курс;
Иначе
Курс = Валюта.Текущ_курс;
КонецЕсли;
Фирма = Константа.ДефФирма;
Клиент = Константа.ДефПокупатель;
КонецПроцедуры
См. также: СтатусВозврата
ВводНового
Предопределенная процедура при вводе нового счета.
Синтаксис:
ВводНового(<ПризнКопирования>, <ОбъектКопирования>)
Англоязычный синоним:
InputNew
Параметры:
<ПризнКопирования> |
Признак того, что объект введен копированием. Число: 1 — объект введен копированием, 0 — просто новый объект. Данный признак может быть использован для анализа необходимости инициализации реквизитов нового объекта. |
<ОбъектКопирования> |
Объект, который был скопирован. |
Описание:
Вызов процедуры ВводНового производится в системе 1С:Предприятие неявно в момент выбора открытия формы счета для ввода нового счета. Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) характеристик нового счета.
Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю нельзя вводить новые счета), ввода нового счета и открытие формы счета не будет выполнено.
Процедура ВводНового контекста справочников должна находиться в модуле: формы счета (см. «Виды программных модулей»).
Пример:
Процедура ВводНового()
Если НазваниеНабораПрав() = "Оператор" Тогда
Предупреждение("У вас нет права добавлять счета!", 2);
СтатусВозврата(0);
КонецЕсли;
СтатусСчета = ОснСтатусСчетов;
КонецПроцедуры
См. также: СтатусВозврата
ВводНового
Предопределенная процедура при вводе новой операции.
Синтаксис:
ВводНового(<ПризнКопирования>, <ОбъектКопирования>)
Англоязычный синоним:
InputNew
Параметры:
<ПризнКопирования> |
Признак того, что объект введен копированием. Число: 1 — объект введен копированием, 0 — просто новый объект. Данный признак может быть использован для анализа необходимости инициализации реквизитов нового объекта. |
<ОбъектКопирования> |
Объект, который был скопирован. |
Описание:
Вызов процедуры ВводНового производится в системе 1С:Предприятие неявно в момент выбора пункта «Новая» из меню «Действия» главного меню системы 1С:Предприятие при работе с журналом операций, или в других случаях при открытии формы операции для ввода новой операции. Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов новой операции. Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю нельзя вводить операции), ввода новой операции и открытие ее формы не будет выполнено.
Процедура ВводНового должна размещаться в модуле формы операции (см. «Виды программных модулей»).
Пример:
Процедура ВводНового()
ИспользоватьВалюту(Константа.ОснВалюта);
КонецПроцедуры
См. также: СтатусВозврата
ВводНового
Предопределенная процедура при открытии формы отчета (обработки) или при восстановлении сохраненной настройки отчета (обработки).
Синтаксис:
ВводНового()
Англоязычный синоним:
InputNew
Описание:
При работе с формой отчета у пользователя существует возможность сохранять и восстанавливать настройки отчета — содержимое реквизитов диалога формы. Предопределенная процедура ВводНового вызывается и в вомент открытия формы и в момент восстановления значений настройки. Это позволяет контролировать содержимое реквизитов диалога во всех случаях их изменения системой.
Пример:
Процедура ВводНового()
ДатаНач = РабочаяДата();
ДатаКон = РабочаяДата();
КонецПроцедуры
См. также: СтатусВоз врата
ВыборГруппы
Установить режим выборки групп.
Синтаксис:
ВыборГруппы(<Режим>)
Англоязычный синоним:
SelectGroup
Параметры:
<Режим> |
Необязательный параметр. Числовое выражение: |
1 — выбирать группы; 0—не выбирать группы.
Возвращаемое значение:
Текущее числовое значение режима выборки групп (на момент до исполнения метода).
Описание:
Метод ВыборГруппы устанавливает режим выборки групп. Данный метод может применяться как для позиционируемых объектов, созданных функцией СоздатьОбъект, так и для элементов диалога для полей типа «справочник» (см. «Методы элементов диалога»).
По умолчанию, выборка элементов справочников для полей в формах документов, журналов и справочников установлена без выбора групп, а в форме отчета с выбором групп. Поэтому реально имеет смысл применять данный метод только в том случае, если надо изменить режим выборки групп.
Пример:
* Если в форме документа необходимо, чтобы какой-либо реквизит "Статус" типа «справочник» мог принимать значения как элемента, так и группы, то этому реквизиту следует установить:
Статус.ВыборГруппы(1);
*
Спр = СоздатьОбъект("Справочник.Сотрудники");
// Задаем выборку без групп
Спр.ВыборГруппы(0);
// Открываем выборку
Спр.ВыбратьЭлементы();
// Цикл получения элементов справочника
Пока (Спр.ПолучитьЭлемент() > 0) Цикл
Состояние(Спр.Наименование);
КонецЦикла;
ВыборГруппы
Установить режим выборки групп.
Синтаксис:
ВыборГруппы(<Режим>)
Англоязычный синоним:
SelectGroup
Параметры:
<Режим> |
Необязательный параметр. Числовое выражение: 1 — выбирать группы; 0 — не выбирать группы. |
Возвращаемое значение:
Текущее числовое значение режима выборки групп (на момент до исполнения метода).
Описание:
Метод ВыборГруппы устанавливает режим выборки групп для формы списка справочника, которая открыта в режиме выбора или подбора элемента.
По умолчанию, выборка элементов справочников для полей в формах документов, журналов и справочников установлена без выбора групп, а в форме отчета с выбором групп. Поэтому реально имеет смысл применять данный метод только в том случае, если надо изменить режим выборки групп.
Пример:
// Задаем выборку без групп
ВыборГруппы(0);
ВыборГруппы
Устанавливает или сбрасывает признак выбора группы.
Синтаксис:
ВыборГруппы([<ПризнакВыбораГруппы>])
Англоязычный синоним:
SelectGroup
Параметры:
<ПризнакВыбораГруппы> |
Необязательный параметр. Числовое выражение: 1 — выбирать группы; 0 — не выбирать группы. |
Возвращаемое значение:
Текущее числовое значение режима выборки групп (на момент до исполнения метода).
Описание:
Метод ВыборГруппы устанавливает режим выборки групп. Данный метод может применяться как для позиционируемых объектов, созданных функцией СоздатьОбъект, так и для элементов диалога типа «Счет» (см. «Методы элементов диалога»).
Рекомендуется отключать возможность выбора группы, если значение будет использовано для формирования проводок.
По умолчанию выбор группы разрешен, за исключением счетов дебета и кредита в проводках операции.
Режим, устанавливаемый данным методом для элементов диалога, влияет на интерактивный выбор пользователем значения типа «Счет» из списка счетов (плана счетов). Такой выбор производится вызовом метода Выбрать или нажатием кнопки выбора, если объект является элементом диалога. Установка режима позволяет разрешить или запретить пользователю выбирать счета-группы (счета, которые могут иметь субсчета). Это имеет смысл для установки режима сразу на все значения реквизита табличной части документа.
Пример:
Сч = СоздатьОбъект("Счет.Основной");
Сч.ВыборГруппы(0);
Сч.Выбрать("Выберите конкретный счет");