Как велась подготовка материала
Официальная документация неплохо структурирована и подробно описывает каждый метод. Единственная трудность, с которой я столкнулся, было незнание, какие методы наиболее популярны в основных типовых решениях. Что необходимо знать в первую очередь, а какой функционал оставить на потом. Цель статьи - собрать и упорядочить методы по популярности (суммарным количеством вызовов). Что было сделано:
1. Из официальной документации получены все вызовы (за исключением раздела "Предопределенные").
2. Далее, производился поиск и подсчет каждого метода в 5-х типовых конфигурациях: УТ 11.4, РТ 2.3, БП 3.0, ЗУП 3.1 и ERP 2.4.
3. В заключение, собранная статистика вызовов была преобразована в разделы, близкие по структуре с документацией, и упорядочена в порядке убывания по количеству вызовов. Тем самым мы сразу можем увидеть методы, которые используются наиболее часто. Для удобства ряд методов в рамках раздела сгруппирован логически. Порядок разделов выполнен в ручном режиме. Цифра перед именем метода это и есть количество вызовов данного метода.
Часть 1. Базовая функциональность.
Часть 2. Остальные разделы
Пользовательская документация
Настройка и использование
2259. ТекущийПользователь. Возвращает текущего пользователя.
// Вызов с клиента
Объект.Ответственный = ПользователиКлиент.ТекущийПользователь();
// Вызов с сервера
Объект.Ответственный = Пользователи.ТекущийПользователь();
1926. ЭтоПолноправныйПользователь. Проверяет, является ли текущий или указанный пользователь полноправным.
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
ВызватьИсключение НСтр("ru = 'Недостаточно прав для совершения операции.'");
КонецЕсли;
// пример вызова с клиента, конфигурация ERP
Результат = ОбщегоНазначенияУТВызовСервера.ЭтоПолноправныйПользователь()
981. АвторизованныйПользователь. Возвращает текущего пользователя или текущего внешнего пользователя, в зависимости от того, кто выполнил вход в сеанс.
// Вызов с клиента
Результат = ПользователиКлиент.АвторизованныйПользователь()
// Вызов с сервера
Результат = Пользователи.АвторизованныйПользователь()
620. РолиДоступны. Возвращает доступность хотя бы одной из указанных ролей или полноправность пользователя (текущего или указанного).
Результат = Пользователи.РолиДоступны(ИменаРолей, Пользователь, УчитыватьПривилегированныйРежим)
//
РолиДоступны = Пользователи.РолиДоступны("ПолныеПрава, БазовыеПрава");
143. ВходВПрограммуРазрешен. Проверяет наличие хотя бы одного вида аутентификации у пользователя ИБ.
Результат = Пользователи.ВходВПрограммуРазрешен(ОписаниеПользователяИБ)
//
Процедура ОчиститьРеквизитВходВПрограммуРазрешенУВсехПользователей()
ПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ПользовательИБ Из ПользователиИБ Цикл
Если Пользователи.ВходВПрограммуРазрешен(ПользовательИБ) Тогда
ПользовательИБ.АутентификацияСтандартная = Ложь;
ПользовательИБ.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
140. СсылкаНеуказанногоПользователя. Возвращает ссылку неуказанного пользователя.
Результат = Пользователи.СсылкаНеуказанногоПользователя(СоздатьЕслиНеСуществует)
//
Процедура ОповеститьВсехПользователей()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Пользователи.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Ссылка <> &ПользовательНеУказан";
Запрос.УстановитьПараметр("ПользовательНеУказан", Пользователи.СсылкаНеуказанногоПользователя());
ТаблицаВыборки = Запрос.Выполнить().Выгрузить();
ДобавитьСообщениеВСистемуВзаимодействия(ТаблицаВыборки.ВыгрузитьКолонку("ИдентификаторПользователяИБ"));
КонецПроцедуры
100. СвойстваПользователяИБ. Возвращает свойства пользователя информационной базы в виде структуры.
Результат = Пользователи.СвойстваПользователяИБ(ИмяИлиИдентификатор)
//
ТекущийПользователь = Пользователи.АвторизованныйПользователь();
ИдентификаторПользователя = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТекущийПользователь, "ИдентификаторПользователяИБ");
СвойстваПользователя = Пользователи.СвойстваПользователяИБ(ИдентификаторПользователя);
21. НайтиПоИмени. Возвращает пользователя из справочника Пользователи, с которым сопоставлен пользователь ИБ с указанным именем.
Результат = Пользователи.НайтиПоИмени(ИмяДляВхода)
//
Процедура ПроверитьПолныеПрава(СтрПользователь) Экспорт
ТекПользователь = Пользователи.НайтиПоИмени(СтрПользователь);
Если ТекПользователь = Неопределено Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
СтрШаблон(НСтр("ru = 'Пользователь %1 отсутствует в информационной базе!'"), СтрПользователь));
КонецЕсли;
КонецПроцедуры
67. НовоеОписаниеПользователяИБ. Возвращает пустую структуру описания пользователя ИБ. Назначение свойств структуры соответствует свойствам объекта ПользовательИнформационнойБазы.
Результат = Пользователи.НовоеОписаниеПользователяИБ()
//
Процедура СоздатьСлужебногоПользователяОповещенийЭДО() Экспорт
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
ОписаниеПользователяИБ.Имя = Логин;
ОписаниеПользователяИБ.ПолноеИмя = НСтр("ru='Бот 1С-ЭДО'");
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора = Ложь;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("ВходВПрограммуРазрешен", Истина);
ОписаниеПользователяИБ.ЗапрещеноИзменятьПароль = Истина;
ОписаниеПользователяИБ.Пароль = Пароль;
ОписаниеПользователяИБ.Роли = Новый Массив;
ОписаниеПользователяИБ.Роли.Добавить(Метаданные.Роли.ИспользованиеУведомленийЭДО.Имя);
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = ОписаниеПользователяИБ.ПолноеИмя;
НовыйПользователь.Служебный = Истина;
НовыйПользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОписаниеПользователяИБ);
НовыйПользователь.Записать();
КонецПроцедуры
10. УдалитьПользователяИБ. Удаляет указанного пользователя информационной базы.
Пользователи.УдалитьПользователяИБ(ИмяИлиИдентификатор)
//
&НаСервере
Процедура УдалитьПользователяИБ(ИдентификаторПользователяИБ, Отказ)
Попытка
Пользователи.УдалитьПользователяИБ(ИдентификаторПользователяИБ);
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()), , , , Отказ);
КонецПопытки;
КонецПроцедуры
7. СоздатьАдминистратора. Используется при обновлении и начальном заполнении информационной базы. Создает первого администратора и сопоставляет его с новым или существующим пользователем в справочнике Пользователи
Результат = Пользователи.СоздатьАдминистратора(ПользовательИБ)
//
&НаСервере
Процедура ЗаписатьПользователяСервер()
ОписаниеПользователяИБ = Новый Структура;
Если Не ТекущийПользователь.Пустая()
И Справочники.Пользователи.НайтиПоНаименованию("<Не указан>") <> Неопределено
И Справочники.Пользователи.НайтиПоНаименованию("<Не указан>") <> ТекущийПользователь Тогда
Пользователь = ТекущийПользователь.ПолучитьОбъект();
Иначе
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(НаименованиеПользователя);
Если ПользовательИБ = Неопределено Тогда
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = ПользовательИнфБазыИмя;
ПользовательИБ.ПолноеИмя = НаименованиеПользователя;
ПользовательИБ.Пароль = Пароль;
ПользовательИБ.Роли.Очистить();
ПользовательИБ.Роли.Добавить(Метаданные.Роли.ПолныеПрава);
РольАдминистратораСистемы = Метаданные.Роли.АдминистраторСистемы;
Если НЕ ПользовательИБ.Роли.Содержит(РольАдминистратораСистемы) Тогда
ПользовательИБ.Роли.Добавить(РольАдминистратораСистемы);
КонецЕсли;
ПользовательИБ.Записать();
КонецЕсли;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить(
"УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор);
// Пользователи.СоздатьАдминистратора
Пользователь = Пользователи.СоздатьАдминистратора(ПользовательИБ);
КонецЕсли;
ТекущийПользователь = Пользователь.Ссылка;
КонецПроцедуры
5. СоздатьПароль. Создает новый пароль, соответствующий заданным правилам проверки сложности. Для облегчения запоминания, пароль формируется из слогов (согласная-гласная).
Результат = Пользователи.СоздатьПароль(НаименьшаяДлина, Сложный, УчестьНастройки)
//
НовыйПароль = Пользователи.СоздатьПароль(8, Истина);
5. СохраняемоеЗначениеСтрокиПароля. Возвращает сохраняемое значение пароля для указанного пароля.
Результат = Пользователи.СохраняемоеЗначениеСтрокиПароля(Пароль)
30. СкопироватьСвойстваПользователяИБ. Копирует значения свойств пользователя ИБ с преобразованием в/из строковых идентификаторов для основного интерфейса, языка, режима запуска и ролей.
Пользователи.СкопироватьСвойстваПользователяИБ(Приемник, Источник, КопируемыеСвойства, ИсключаемыеСвойства, ПрефиксСвойств)
77. НайтиНеоднозначныхПользователейИБ. Выполняет поиск идентификаторов пользователей ИБ, используемых более одного раза, и либо вызывает исключение, либо возвращает найденных пользователей ИБ для дальнейшей обработки.
Пользователи.НайтиНеоднозначныхПользователейИБ(Пользователь, УникальныйИдентификатор,
НайденныеИдентификаторы, ИдентификаторПользователяСервиса)
15. СформироватьДанныеВыбораПользователя. Возвращает список пользователей, групп пользователей, внешних пользователей и групп внешних пользователей. Для использования в обработчиках событий ОкончаниеВводаТекста и АвтоПодбор.
Результат = Пользователи.СформироватьДанныеВыбораПользователя(Текст, ВключаяГруппы, ВключаяВнешнихПользователей, БезПользователей)
//
&НаКлиенте
Процедура ПользователиПолноеПредставлениеОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
Если ЗначениеЗаполнено(Текст) Тогда
СтандартнаяОбработка = Ложь;
ДанныеВыбора = СформироватьДанныеВыбораПользователя(Текст);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция СформироватьДанныеВыбораПользователя(Знач Текст,
Знач ВключаяГруппы = Истина,
Знач ВключаяВнешнихПользователей = Неопределено,
Знач БезПользователей = Ложь)
Возврат Пользователи.СформироватьДанныеВыбораПользователя(
Текст,
ВключаяГруппы,
ВключаяВнешнихПользователей,
БезПользователей);
КонецФункции
5. ПользовательИБЗанят. Проверяет, сопоставлен ли пользователь ИБ с элементом справочника Пользователи или с элементом справочника ВнешниеПользователи.
Результат = Пользователи.ПользовательИБЗанят(ПользовательИБ, УчетнаяЗапись)
//
Функция СсылкаПользователяПоПолномуНаименованию(ПолноеИмя)
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка КАК Ссылка,
| Пользователи.ИдентификаторПользователяИБ
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Наименование = &ПолноеИмя";
Запрос.УстановитьПараметр("ПолноеИмя", ПолноеИмя);
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Если НЕ Пользователи.ПользовательИБЗанят(Выборка.ИдентификаторПользователяИБ) Тогда
Результат = Выборка.Ссылка;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
Пользовательская документация
Настройка и использование
1435. ВывестиТабличныйДокументВКоллекцию. Добавляет табличный документ в коллекцию печатных форм. Процедура предназначена для использования только внутри процедуры Печать.
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка, ПолныйПутьКМакету, ИмяФайлаПечатнойФормы)
// Модуль менеджера документа
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"Накладная",
НСтр("ru = 'Реализация товаров'"),
СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати, ПараметрыПечати),
,
"Документ.РеализацияТоваровУслуг.ПФ_MXL_РеализацияТоваров");
КонецЕсли;
КонецПроцедуры
1307. НужноПечататьМакет. Проверить, нужно ли печатать макет. Функция предназначена для использования только внутри процедуры Печать.
Результат = УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, ИмяМакета)
// Модуль менеджера документа
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"Накладная",
НСтр("ru = 'Реализация товаров'"),
СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати, ПараметрыПечати),
,
"Документ.РеализацияТоваровУслуг.ПФ_MXL_РеализацияТоваров");
КонецЕсли;
КонецПроцедуры
1121. МакетПечатнойФормы. Возвращает макет печатной формы по полному пути к макету.
Результат = УправлениеПечатью.МакетПечатнойФормы(ПутьКМакету, КодЯзыка)
//
Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ПФ_MXL_РасчетныйЛистокДляСервисаКабинетСотрудника");
Макет = УправлениеПечатью.МакетПечатнойФормы("Справочник.Организации." + ИмяМакета);
868. ЗадатьОбластьПечатиДокумента. Задает область печати объекта в табличном документе.
Пока ВыборкаПоДокументам.Следующий() Цикл
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// ... вывод печатной формы в табличный документ ...
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоДокументам.Ссылка);
КонецЦикла;
//
Функция ТабличныйДокументСправки(МассивСсылок, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СправкаОЗаработкеДляРасчетаПособий";
ТабличныйДокумент.АвтоМасштаб = Истина;
ДанныеДокументов = ЗапросПоОсновнымДанным(МассивСсылок).Выполнить().Выгрузить();
ПервыйДокумент = Истина;
Для Каждого ДанныеДокумента Из ДанныеДокументов Цикл
Если ПервыйДокумент Тогда
ПервыйДокумент = Ложь;
Иначе
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
НачалоТекущегоФрагмента = ТабличныйДокумент.ВысотаТаблицы + 1;
ВывестиШапку(ТабличныйДокумент, СоставМакета.Шапка, ДанныеДокумента, АдресаОрганизаций);
ВывестиЗаработок(ТабличныйДокумент, СоставМакета, СтруктураПоиска, ВыборкаЗаработка, Валюта);
ВывестиПодвал(ТабличныйДокумент, СоставМакета.Подвал, ДанныеДокумента, КадровыеДанныеФизическихЛиц);
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НачалоТекущегоФрагмента, ОбъектыПечати, ДанныеДокумента.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
627. ВыполнитьКомандуПечати. Формирует и выводит на экран печатные формы.
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Обработка.ПечатнаяФорма", "СписаниеТоваров", ДокументыНаПечать, ЭтотОбъект);
//
Функция ВыполнитьКомандуПечатиСтатистическойФормыУчетаПеремещенияТоваров(ОписаниеКоманды) Экспорт
ПараметрыПечати = ОбщегоНазначенияБПКлиент.ПолучитьЗаголовокПечатнойФормы(ОписаниеКоманды.ОбъектыПечати);
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
"Документ.ЗаявлениеОВвозеТоваров",
"СтатистическаяФормаУчетаПеремещенияТоваров",
ОписаниеКоманды.ОбъектыПечати,
ОписаниеКоманды.Форма,
ПараметрыПечати);
КонецФункции
142. ДобавитьОписаниеОбласти. Добавляет к параметру НаборОбластей новую запись об области.
Функция ОбластиМакетаОфисногоДокумента()
Области = Новый Структура;
УправлениеПечатью.ДобавитьОписаниеОбласти(Области, "ВерхнийКолонтитул", "ВерхнийКолонтитул");
УправлениеПечатью.ДобавитьОписаниеОбласти(Области, "НижнийКолонтитул", "НижнийКолонтитул");
УправлениеПечатью.ДобавитьОписаниеОбласти(Области, "Заголовок", "Общая");
Возврат Области;
КонецФункции
Пользовательская документация
Настройка и использование
1948. ОписаниеВарианта. Находит настройки варианта отчета. Используется для настройки размещения. Для использования в ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
Подсистема "Варианты отчетов". Используете ли Вы ее правильно?
Результат = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, КлючВарианта)
618. ОписаниеОтчета. Возвращает настройки указанного отчета. Используется для настройки размещения и общих параметров отчета в ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
Результат = ВариантыОтчетов.ОписаниеОтчета(Настройки, Отчет)
306. НастроитьОтчетВМодулеМенеджера. Вызывает модуль менеджера отчета для заполнения его настроек. Для вызова из процедуры ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, ОтчетМетаданные)
142. ПодключитьСхему. Устанавливает отчету переданную схему и на основании нее, инициализирует компоновщик настроек.
// В обработчике объекта отчета ПередЗагрузкойНастроекВКомпоновщик компоновщик настроек
// инициализируется на основании схемы из общих макетов:
Если КлючСхемы <> "1" Тогда
КлючСхемы = "1";
Схема = ПолучитьОбщийМакет("МояОбщаяСхемаКомпоновки");
ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, Схема, КлючСхемы);
КонецЕсли;
//
Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы,
КлючВарианта, НовыеНастройкиКД,
НовыеПользовательскиеНастройкиКД) Экспорт
Если ТипЗнч(Контекст) = Тип("ФормаКлиентскогоПриложения") Тогда
НастроитьПараметрыОтчетаПоВариантуОтчета(Контекст.НастройкиОтчета, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД);
ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКомпоновкиДанных, КлючСхемы);
КонецЕсли;
КонецПроцедуры
Пользовательская документация
Настройка и использование
256. ЭтоКонтактнаяИнформацияВXML. Возвращает признак того, является ли строка данных контактной информации XML данными.
Результат = УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(Текст)
138. ЭтоКонтактнаяИнформацияВJSON. Возвращает признак того, является ли строка данных контактной информации JSON данными.
Результат = УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(Текст)
247. СведенияОбАдресе. Возвращает сведения об адресе в виде отдельных частей адреса и различных кодов (код региона, ОКТМО и др.).
Результат = РаботаСАдресами.СведенияОбАдресе(Адрес, ДополнительныеПараметры)
234. ПредставлениеКонтактнойИнформации. Возвращает представление контактной информации (адреса, телефона, электронной почты и т.п.).
Работаем с контактной информацией в конфигурациях на БСП
Результат = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(КонтактнаяИнформация, ВидКонтактнойИнформации)
209. КонтактнаяИнформацияОбъекта. Возвращает таблицу, содержащую контактную информацию объекта.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СсылкаИлиОбъект,
ВидИлиТипКонтактнойИнформации,
Дата,
ТолькоПредставление)
//
Процедура ЗаполнитьДанныеОрганизации()
ТелефоныОрганизации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(
Организация,
Справочники.ВидыКонтактнойИнформации.ТелефонОрганизации,
?(ЗначениеЗаполнено(Дата), Дата, ТекущаяДатаСеанса()),
Ложь);
Если ТелефоныОрганизации.Количество() > 0 Тогда
РеквизитыДокумента.ТелефонУполномоченногоПредставителя = ТелефоныОрганизации[0].Значение;
Иначе
РеквизитыДокумента.ТелефонУполномоченногоПредставителя = "";
КонецЕсли;
КонецПроцедуры
188. КонтактнаяИнформацияВJSON. Преобразует входящие форматы контактной информации во внутренний формат JSON.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(КонтактнаяИнформация, ОжидаемыйВид)
140. КонтактнаяИнформацияПоПредставлению. Преобразует представление контактной информации во внутренний формат JSON. Для адресов, введенных в свободной форме, корректное преобразование не гарантируется.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(Представление, ОжидаемыйВид)
174. КонтактнаяИнформацияВXML. Преобразует все входящие форматы контактной информации в XML.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(ЗначенияПолей, Представление, ОжидаемыйВид)
119. КонтактнаяИнформацияОбъектов. Возвращает таблицу, содержащую контактную информацию нескольких объектов.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(СсылкиИлиОбъекты, ТипыКонтактнойИнформации, ВидыКонтактнойИнформации, Дата)
181. ОткрытьФормуКонтактнойИнформации. Открывает подходящую форму контактной информации для редактирования или просмотра.
Результат = УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(Параметры, Владелец, Оповещение)
115. ПараметрыФормыКонтактнойИнформации. Конструктор для структуры параметров открытия формы контактной информации. Состав полей может быть расширен в общем модуле РаботаСАдресамиКлиент свойствами с национальной спецификой.
Результат = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(ВидКонтактнойИнформации, Значение, Представление, Комментарий, ТипКонтактнойИнформации)
Пользовательская документация
Настройка и использование
711. ПолучитьКурсВалюты. Возвращает курс валюты на дату.
Загрузка курсов валют на клиенте
Результат = РаботаСКурсамиВалют.ПолучитьКурсВалюты(Валюта, ДатаКурса)
232. ПересчитатьПоКурсу. Пересчитывает сумму из текущей валюты в новую валюту по параметрам их курсов.
Результат = РаботаСКурсамиВалютКлиентСервер.ПересчитатьПоКурсу(Сумма, ПараметрыТекущегоКурса, ПараметрыНовогоКурса)
//
Функция ПересчитатьВВалюту(Сумма, ИсходнаяВалюта, НоваяВалюта, Дата) Экспорт
Возврат РаботаСКурсамиВалютКлиентСервер.ПересчитатьПоКурсу(Сумма,
ПолучитьКурсВалюты(ИсходнаяВалюта, Дата),
ПолучитьКурсВалюты(НоваяВалюта, Дата));
КонецФункции
163. СформироватьСуммуПрописью. Формирует представление суммы прописью в указанной валюте.
Результат = РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаЧислом, Валюта, БезДробнойЧасти, КодЯзыка)
55. ПересчитатьВВалюту. Пересчитывает сумму из одной валюты в другую.
Результат = РаботаСКурсамиВалют.ПересчитатьВВалюту(Сумма, ИсходнаяВалюта, НоваяВалюта, Дата)
//
СуммаВал = РаботаСКурсамиВалют.ПересчитатьВВалюту(ДанныеИБ.СуммаДокумента, ДанныеИБ.ВалютаДокумента, ВалютаКонвертации, ДанныеИБ.Дата);
20. ОписаниеТипаДенежногоПоля. Предназначена для использования в конструкторе типа Число для денежных полей.
Результат = РаботаСКурсамиВалют.ОписаниеТипаДенежногоПоля(ДопустимыйЗнакПоля)
//
ДанныеВедомостейДляОплаты = Новый ТаблицаЗначений;
ДенежнаяСуммаНеотрицательная = РаботаСКурсамиВалют.ОписаниеТипаДенежногоПоля(ДопустимыйЗнак.Неотрицательный);
ДанныеВедомостейДляОплаты.Колонки.Добавить("СуммаКВыплате", ДенежнаяСуммаНеотрицательная);
10. ДобавитьВалютыПоКоду. Добавляет в справочник валют валюты из классификатора.
Результат = РаботаСКурсамиВалют.ДобавитьВалютыПоКоду(Коды)
// Создаем "Рубли".
Коды = Новый Массив;
Коды.Добавить("643");
РаботаСКурсамиВалют.ДобавитьВалютыПоКоду(Коды);
Пользовательская документация
Настройка и использование
1007. НомерНаПечать. Получает номер документа для вывода на печать; из номера удаляются префиксы и лидирующие нули.
Результат = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(НомерОбъекта, УдалитьПрефиксИнформационнойБазы, УдалитьПользовательскийПрефикс)
//
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер, Истина, Ложь);
24. УдалитьЛидирующиеНулиИзНомераОбъекта. Удаляет лидирующие нули из номера объекта.
Результат = ПрефиксацияОбъектовКлиентСервер.УдалитьЛидирующиеНулиИзНомераОбъекта(НомерОбъекта)
Пользовательская документация
Настройка и использование
51. ПросклонятьПредставление. Склоняет переданную фразу по всем падежам.
СклонениеПредставленийОбъектовКлиент.ПросклонятьПредставление(Форма, Представление, ПараметрыСклонения, ПоказыватьСообщения)
//
ДолжностьРуководителя = СклонениеПредставленийОбъектов.ПросклонятьПредставление(Строка(Выборка.ДолжностьРуководителя), 2);
//
&НаКлиенте
Процедура ФИОПриИзменении(Элемент)
ПараметрыСклонения = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения();
ПараметрыСклонения.ЭтоФИО = Истина;
ПараметрыСклонения.Пол = ?(
ЗначениеЗаполнено(ФизическоеЛицо.Пол),
?(ФизическоеЛицо.Пол = ПредопределенноеЗначение("Перечисление.ПолФизическогоЛица.Мужской"), 1, 2),
Неопределено);
СклонениеПредставленийОбъектовКлиент.ПросклонятьПредставление(ЭтотОбъект, ФизическоеЛицо.ФИО, ПараметрыСклонения);
КонецПроцедуры
51. ПараметрыСклонения. Конструктор параметров для методов склонения.
Результат = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения()
//
&НаКлиенте
Процедура НачатьСклонение(ПоказыватьСообщения)
ЗаполнитьСклонениеПоУмолчанию();
ОповещениеОЗавершении = Новый ОписаниеОповещения("ЗавершитьСклонение", ЭтотОбъект);
ПараметрыСклонения = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения();
ПараметрыСклонения.ЭтоФИО = ЭтоФИО;
ПараметрыСклонения.Пол = Пол;
СклонениеПредставленийОбъектовКлиент.НачатьСклонение(ЭтотОбъект, Представление, ПараметрыСклонения, ПоказыватьСообщения, ОповещениеОЗавершении);
КонецПроцедуры
34. ПросклонятьФИО. Определяет форму ФИО в заданном падеже.
Результат = СклонениеПредставленийОбъектов.ПросклонятьФИО(ФИО, Падеж, Объект, Пол)
Результат = СклонениеПредставленийОбъектов.ПросклонятьФИО(
СведенияОКонтрагенте.ПолноеНаименование,
Падеж,
СведенияОДоговоре.Владелец,
РуководительКонтрагентаПол);
Пользовательская документация
Настройка и использование
8. ПараметрыГенерацииШтрихкода. Пустая структура для заполнения параметра "ПараметрыШтрихкода" используемого для получения изображения штрих кода.
Результат = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода()
//
Функция ДанныеQRКода(QRСтрока, УровеньКоррекции, Размер) Экспорт
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();
ПараметрыШтрихкода.Ширина = Размер;
ПараметрыШтрихкода.Высота = Размер;
ПараметрыШтрихкода.Штрихкод = QRСтрока;
ПараметрыШтрихкода.УровеньКоррекцииQR = УровеньКоррекции;
ПараметрыШтрихкода.ТипКода = 16; // QR
ПараметрыШтрихкода.УбратьЛишнийФон = Истина;
Попытка
РезультатФормированияШтрихкода = ИзображениеШтрихкода(ПараметрыШтрихкода);
ДвоичныеДанныеКартинки = РезультатФормированияШтрихкода.ДвоичныеДанные;
Исключение
ТекстОшибки = НСтр("ru = 'Ошибка формирование QR-кода'");
ЗаписьЖурналаРегистрации(ТекстОшибки, УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат ДвоичныеДанныеКартинки;
КонецФункции
36. ИзображениеШтрихкода. Формирование изображения штрихкода.
Генерация штрихкодов с помощью БСП для программистов
Результат = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода)
8. ДанныеQRКода. Возвращает двоичные данные для формирования QR-кода.
QRСтрока = УправлениеПечатью.ФорматнаяСтрокаУФЭБС(РеквизитыПлатежа);
ТекстОшибки = "";
ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190, ТекстОшибки);
Если Не ПустаяСтрока(ТекстОшибки)
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки);
КонецЕсли;
КартинкаQRКода = Новый Картинка(ДанныеQRКода);
ОбластьМакета.Рисунки.QRКод.Картинка = КартинкаQRКода;
//
Процедура ВывестиQRКод(ДанныеПечати, ОбластьМакета)
QRСтрока = ИнтеграцияВЕТИСКлиентСервер.ПутьКСерверуСИнформациейПоВСД() + ДанныеПечати.Идентификатор;
Если Не ПустаяСтрока(QRСтрока) Тогда
ДанныеQRКода = УправлениеПечатью.ДанныеQRКода(QRСтрока, 0, 190);
Если ТипЗнч(ДанныеQRКода) = Тип("ДвоичныеДанные") Тогда
КартинкаQRКода = Новый Картинка(ДанныеQRКода);
ОбластьМакета.Рисунки.QRКод.Картинка = КартинкаQRКода;
Иначе
Шаблон = Нстр("ru = 'Не удалось сформировать QR-код для документа %1.
|Технические подробности см. в журнале регистрации.'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ДанныеПечати.Ссылка);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//
ДанныеQRКода = ГенерацияШтрихкодаВызовСервера.ДанныеQRКода(QRСтрока, 0, 190);
Пользовательская документация
Настройка и использование
264. ОткрытьФайл. Открывает файл для просмотра или редактирования.
РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла, ДляРедактирования)
//
&НаКлиенте
Процедура ОткрытьФайл(Команда)
ДанныеФайла = ПолучитьДанныеФайлаНаСервере(Объект.Ссылка, УникальныйИдентификатор);
Если ДанныеФайла <> Неопределено Тогда
РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла, Ложь);
КонецЕсли;
КонецПроцедуры
91. ОбновитьФайл. Обновляет свойства файла без учета версий: двоичные данные, текст, дату изменения, а также другие необязательные свойства. Использовать только для файлов, которые не хранят версии.
РаботаСФайлами.ОбновитьФайл(ПрисоединенныйФайл, ИнформацияОФайле)
//
Процедура ОбновитьДанныеЭД(Знач СообщениеОбмена, Знач ДвоичныеДанныеЭД) Экспорт
ПрисоединенныйФайл = ОбменСБанкамиСлужебный.ПрисоединенныйФайл(СообщениеОбмена);
ИнформацияОФайле = Новый Структура;
ИнформацияОФайле.Вставить("АдресФайлаВоВременномХранилище", ПоместитьВоВременноеХранилище(ДвоичныеДанныеЭД));
ИнформацияОФайле.Вставить("АдресВременногоХранилищаТекста", "");
РаботаСФайлами.ОбновитьФайл(ПрисоединенныйФайл, ИнформацияОФайле);
КонецПроцедуры
90. СохранитьФайлКак. Открывает диалог сохранения файл, где пользователь может определить путь и имя для сохранения файла.
РаботаСФайламиКлиент.СохранитьФайлКак(ДанныеФайла, ОбработчикЗавершения)
//
&НаКлиенте
Процедура ПолучитьФайлПродолжить(Результат, ДанныеФайла) Экспорт
Если Результат = "Открыть" Тогда
РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла);
ИначеЕсли Результат = "Сохранить" Тогда
РаботаСФайламиКлиент.СохранитьФайлКак(ДанныеФайла);
КонецЕсли;
КонецПроцедуры
40. ДобавитьФайл. Создает объект в справочнике для хранения файла и заполняет его реквизиты переданными свойствами.
Результат = РаботаСФайлами.ДобавитьФайл(ПараметрыФайла,
АдресФайлаВоВременномХранилище,
АдресВременногоХранилищаТекста,
Описание,
НоваяСсылкаНаФайл)
//
ПараметрыФайла = Новый Структура();
ПараметрыФайла.Вставить("Автор", Пользователи.АвторизованныйПользователь());
ПараметрыФайла.Вставить("ВладелецФайлов", Реквизиты.Документ);
ПараметрыФайла.Вставить("ИмяБезРасширения", Строка(Новый УникальныйИдентификатор));
ПараметрыФайла.Вставить("РасширениеБезТочки", "xml");
ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное");
ПрисоединенныйФайл = РаботаСФайлами.ДобавитьФайл(
ПараметрыФайла,
АдресФайлаВоВременномХранилище,,,
Справочники.ГИСМПрисоединенныеФайлы.ПолучитьСсылку());
28. ДобавитьФайлы. Открывает диалог выбора файлов для помещения в программу одного или нескольких файлов.
РаботаСФайламиКлиент.ДобавитьФайлы(ВладелецФайла, ИдентификаторФормы, Фильтр, ГруппаФайлов, ОбработчикРезультата)
//
&НаКлиенте
Процедура ДобавитьФайл()
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
ГруппаФайлов = Неопределено;
Если ТекущиеДанные <> Неопределено И ТекущиеДанные.ЭтоГруппа И ТекущиеДанные.ВладелецФайла = Параметры.ВладелецФайла Тогда
ГруппаФайлов = ТекущиеДанные.Ссылка;
КонецЕсли;
Если ЭтоВладелецЭлементовСправочникаФайлы Тогда
РаботаСФайламиСлужебныйКлиент.ДобавитьФайлИзФайловойСистемы(Параметры.ВладелецФайла, ЭтотОбъект);
Иначе
// РаботаСФайламиКлиент.ДобавитьФайлы
РаботаСФайламиКлиент.ДобавитьФайлы(Параметры.ВладелецФайла, УникальныйИдентификатор, , ГруппаФайлов);
КонецЕсли;
КонецПроцедуры
240. ДвоичныеДанныеФайла. Возвращает двоичные данные файла.
//Сохранение данных файла на сервере:
ДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(Файл, Ложь);
Если ДанныеФайла <> Неопределено Тогда
ДанныеФайла.Записать(ПутьКФайлу);
КонецЕсли;
//
Рисунок.Картинка = Новый Картинка(РаботаСФайлами.ДвоичныеДанныеФайла(Выборка.ПрисоединенныйФайл));
//
АдресФайлаВыгрузки = ПоместитьВоВременноеХранилище(РаботаСФайлами.ДвоичныеДанныеФайла(Доверенность),
Новый УникальныйИдентификатор);
108. ЗаполнитьПрисоединенныеФайлыКОбъекту. Находит все присоединенные к объекту файлы и добавляет ссылки на них в свойство Файлы.
РаботаСФайлами.ЗаполнитьПрисоединенныеФайлыКОбъекту(ВладелецФайла, Файлы)
83. ПараметрыДанныхФайла. Инициализирует структуру параметров для получения данных файла. См. РаботаСФайлами.ДанныеФайла.
Результат = РаботаСФайламиКлиентСервер.ПараметрыДанныхФайла()
77. ОткрытьФормуФайла. Открывает форму файла. Может использоваться как обработчик открытия файла.
РаботаСФайламиКлиент.ОткрытьФормуФайла(ПрисоединенныйФайл, СтандартнаяОбработка, ДополнительныеПараметры, ОписаниеОповещенияОЗакрытии)
30. ОткрытьКаталогФайла. Открывает в стандартной программе просмотра (проводнике) каталог на компьютере, в котором размещен указанный файл.
РаботаСФайламиКлиент.ОткрытьКаталогФайла(ДанныеФайла)
22. ОткрытьФормуВыбораФайлов. Открывает форму выбора файлов. Используется в обработчике выбора для переопределения стандартного поведения.
РаботаСФайламиКлиент.ОткрытьФормуВыбораФайлов(ВладелецФайлов, ЭлементФормы, СтандартнаяОбработка, ОписаниеОповещенияОВыборе)
36. ПараметрыДобавленияФайла. Инициализирует структуру параметров для добавления файла. Для использования в РаботаСФайлами.ДобавитьВФайл.
Результат = РаботаСФайлами.ПараметрыДобавленияФайла(ДополнительныеРеквизиты)
33. НоваяСсылкаНаФайл. Возвращает новую ссылку на файл для указанного владельца файла. В частности, ссылка используется при добавлении файла в функции ДобавитьФайл.
Результат = РаботаСФайлами.НоваяСсылкаНаФайл(ВладелецФайлов, ИмяСправочника)
Пользовательская документация
Настройка и использование
52. ПараметрыПолученияФайла. Возвращает структуру параметров для получения файла из Интернета.
Результат = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла()
//
Процедура ПолучитьИнформациюОВнешнейКомпоненте(Параметры, Адрес) Экспорт
ВремФайл = ПолучитьИмяВременногоФайла("xml");
ПараметрыПолучения = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла();
ПараметрыПолучения.ПутьДляСохранения = ВремФайл;
ПараметрыПолучения.Таймаут = 30;
РезультатИнфоФайл = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(Параметры.URLИнфоФайла, ПараметрыПолучения);
Если РезультатИнфоФайл.Статус Тогда
ПараметрыВК = ПараметрыВК(ВремФайл);
ФайловаяСистема.УдалитьВременныйФайл(ВремФайл);
ПоместитьВоВременноеХранилище(ПараметрыВК, Адрес);
КонецЕсли;
КонецПроцедуры
59. СкачатьФайлВоВременноеХранилище. Получает файл из Интернета по протоколу http(s), либо ftp и сохраняет его во временное хранилище.
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлВоВременноеХранилище(URL, ПараметрыПолучения, ЗаписыватьОшибку)
//
Процедура ЗагрузитьСписокБанковССайта() Экспорт
АдресСервера = "https://directbank.1c.ru/downloads/bankslist.mxl";
ПараметрыПолучения = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла();
ПараметрыПолучения.Таймаут = 60;
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлВоВременноеХранилище(АдресСервера, ПараметрыПолучения);
Если Результат.Статус Тогда
Данные = ПолучитьИзВременногоХранилища(Результат.Путь);
УдалитьИзВременногоХранилища(Результат.Путь);
ВремФайл = ПолучитьИмяВременногоФайла("mxl");
Данные.Записать(ВремФайл);
КонецЕсли;
КонецПроцедуры
25. СкачатьФайлНаСервере. Получает файл из Интернета по протоколу http(s), либо ftp и сохраняет его по указанному пути на сервере.
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(URL, ПараметрыПолучения, ЗаписыватьОшибку)
//
РезультатПолученияФайла = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере("https://reputils.1c.ru/static/online_stats.json");
8. СкачатьФайлНаКлиенте. Получает файл из Интернета по протоколу http(s), либо ftp и сохраняет его по указанному пути на клиенте. Недоступно при работе в веб-клиенте. При работе в веб-клиенте необходимо пользоваться аналогичными серверными процедурами для скачивания файлов.
Результат = ПолучениеФайловИзИнтернетаКлиент.СкачатьФайлНаКлиенте(URL, ПараметрыПолучения, ЗаписыватьОшибку)
//
ПараметрыПолучения = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла();
ПараметрыПолучения.Вставить("ПутьДляСохранения", ЭтотОбъект.ИмяФайлаУстановки);
ПараметрыПолучения.Вставить("Таймаут", ЭтотОбъект.Таймаут);
РезультатЗагрузки = ПолучениеФайловИзИнтернетаКлиент.СкачатьФайлНаКлиенте(
ЭтотОбъект.СсылкаНаСкачивание, // URL.
ПараметрыПолучения, // ПараметрыПолучения.
Истина); // ЗаписыватьОшибку.
0. ДиагностикаСоединения. Запускает диагностику сетевого ресурса.
// Диагностика веб-сервиса адресного классификатора.
Результат = ОбщегоНазначенияКлиентСервер.ДиагностикаСоединения("https://api.orgaddress.1c.com/orgaddress/v1?wsdl");
ОписаниеОшибки = Результат.ОписаниеОшибки;
ЖурналДиагностики = Результат.ЖурналДиагностики;
//
Попытка
Ответ = Соединение.ОтправитьДляОбработки(ЗапросКСервису);
Исключение
ЗарегистрироватьОшибкуСервиса(ИнформацияОбОшибке(), ПоказыватьСообщения);
РезультатДиагностики = ПолучениеФайловИзИнтернета.ДиагностикаСоединения(Соединение.Сервер);
ВызватьИсключение СтрШаблон(
НСтр("ru = '%1
|
|Результат диагностики:
|%2'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),
РезультатДиагностики.ОписаниеОшибки);
КонецПопытки;
Пользовательская документация
Настройка и использование
1375. ДобавитьСтроку. Добавляет строку описания источника данных для проверки запрета изменения. Используется в процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения общего модуля ДатыЗапретаИзмененияПереопределяемый.
ДатыЗапретаИзменения.ДобавитьСтроку(Данные, Таблица, ПолеДаты, Раздел, ПолеОбъекта)
931. ОбъектПриЧтенииНаСервере. Обработчик события формы ПриЧтенииНаСервере, который встраивается в формы элементов справочников, документов, записей регистров и др., чтобы заблокировать форму, если изменение запрещено.
Результат = ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(Форма, ТекущийОбъект)
//
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// Обработчик механизма "ДатыЗапретаИзменения"
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры
50. ШаблонДанныхДляПроверки. Возвращает новую таблицу значений с колонками Дата, Раздел и Объект для заполнения и последующей передачи в функцию ДатыЗапретаИзменения.НайденЗапретИзмененияДанных.
Результат = ДатыЗапретаИзменения.ШаблонДанныхДляПроверки()
41. ИзменениеЗапрещено. Проверяет, запрещено ли изменение данных при интерактивном редактировании пользователем или при программной загрузке данных из узла плана обмена УзелПроверкиЗапретаЗагрузки.
Результат = ДатыЗапретаИзменения.ИзменениеЗапрещено(ДанныеИлиПолноеИмя, ИдентификаторДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки)
30. НайденЗапретИзмененияДанных. Найти даты запрета по проверяемым данным для указанного пользователя или узла плана обмена.
Результат = ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(ДанныеДляПроверки, ПараметрыСообщенияОЗапрете, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки)
10. ПараметрыСообщенияОЗапрете. Возвращает параметры для формирования сообщение о запрете записи или загрузки данных. Для использования в функции ДатыЗапретаИзменения.НайденЗапретИзмененияДанных.
Результат = ДатыЗапретаИзменения.ПараметрыСообщенияОЗапрете()
5. ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента. Обработчик подписки на событие ПередЗаписью для проверки запрета изменения.
ДатыЗапретаИзменения.ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения)
0. ОтключитьПроверкуДатЗапрета. В текущем сеансе отключает и включает проверку дат запрета изменения и загрузки данных. Для использования требуются полные права или привилегированный режим.
//Вариант 1. Запись набора объектов вне транзакции (ТранзакцияАктивна() = Ложь).
ПроверкаДатЗапретаОтключена = ДатыЗапретаИзменения.ПроверкаДатЗапретаОтключена();
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Истина);
Попытка
// Запись набора объектов.
// ...
Исключение
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
//...
ВызватьИсключение;
КонецПопытки;
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
//Вариант 2. Запись набора объектов в транзакции (ТранзакцияАктивна() = Истина).
ПроверкаДатЗапретаОтключена = ДатыЗапретаИзменения.ПроверкаДатЗапретаОтключена();
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Истина);
НачатьТранзакцию();
Попытка
БлокировкаДанных.Заблокировать();
// ...
// Запись набора объектов.
// ...
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
//...
ВызватьИсключение;
КонецПопытки;
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
Пользовательская документация
Настройка и использование
368. ЗаблокироватьРеквизиты. Принимает в качестве параметра форму объекта, к которому подключена подсистема, и запрещает редактирование заданных реквизитов, а также добавляет во "Все действия" команду для разрешения их редактирования.
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(Форма, ГруппаДляКнопкиЗапрета, ЗаголовокКнопкиЗапрета, Объект)
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Подсистема запрета редактирования ключевых реквизитов объектов.
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// Обработчик подсистемы запрета редактирования реквизитов объектов.
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);
КонецПроцедуры
82. УстановитьДоступностьЭлементовФормы. Устанавливает доступность элементов формы, связанных с заданными реквизитами, для которых установлено разрешение изменения.
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(Форма, Реквизиты)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
Если Не Объект.Ссылка.Пустая() Тогда
ОткрытьФорму("Справочник.Кассы.Форма.РазблокированиеРеквизитов",,,,,,
Новый ОписаниеОповещения("Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект),
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Результат) = Тип("Массив") И Результат.Количество() > 0 Тогда
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтаФорма, Результат);
КонецЕсли;
КонецПроцедуры
42. РазрешитьРедактированиеРеквизитовОбъекта. Разрешает редактирование заблокированных элементов формы, связанных с заданными реквизитами.
ЗапретРедактированияРеквизитовОбъектовКлиент.РазрешитьРедактированиеРеквизитовОбъекта(Форма, ОбработкаПродолжения)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
ЗапретРедактированияРеквизитовОбъектовКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтотОбъект);
КонецПроцедуры
26. Реквизиты. Возвращает массив имен реквизитов, заданных в свойстве формы ПараметрыЗапретаРедактированияРеквизитов на основе имен реквизитов, указанных в модуле менеджера объекта, исключая реквизиты, у которых ПравоРедактирования = Ложь.
Результат = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(Форма, ТолькоЗаблокированные, ТолькоВидимые)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
Оповещение = Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтаФорма,,Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Истина Тогда
Реквизиты = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(ЭтаФорма, , Ложь);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьРазрешенностьРедактированияРеквизитов(ЭтаФорма, Реквизиты);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтаФорма, Реквизиты);
КонецЕсли;
КонецПроцедуры
14. УстановитьРазрешенностьРедактированияРеквизитов. Устанавливает разрешенность редактирования для тех реквизитов, описание которых подготовлено в форме. Используется, когда доступность элементов формы изменяется самостоятельно, без использования функции УстановитьДоступностьЭлементовФормы.
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьРазрешенностьРедактированияРеквизитов(Форма, Реквизиты, РедактированиеРазрешено, ПравоРедактирования)
//
ЗаблокированныеРеквизиты = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(Форма);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьРазрешенностьРедактированияРеквизитов(Форма, ЗаблокированныеРеквизиты);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(Форма);
12. ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы. Выводит предупреждение о том, что все видимые реквизиты разблокированы.
ЗапретРедактированияРеквизитовОбъектовКлиент.ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы(ОбработкаПродолжения)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
ЗаблокированныеРеквизиты = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(ЭтотОбъект);
Если ЗаблокированныеРеквизиты.Количество() > 0 Тогда
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ссылка", Объект.Ссылка);
ПараметрыФормы.Вставить("ЗаблокированныеРеквизиты", ЗаблокированныеРеквизиты);
ОткрытьФорму(
"Справочник.ОбъектыЭксплуатации.Форма.РазблокированиеРеквизитов",
ПараметрыФормы,
ЭтотОбъект);
Иначе
ЗапретРедактированияРеквизитовОбъектовКлиент.ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы();
КонецЕсли;
КонецПроцедуры
3. БлокируемыеРеквизитыОбъекта. Возвращает список реквизитов и табличных частей объекта, по которым установлен запрет редактирования.
Результат = ЗапретРедактированияРеквизитовОбъектов.БлокируемыеРеквизитыОбъекта(ИмяОбъекта)
//
БлокируемыеРеквизиты = Новый Массив;
БлокируемыеРеквизиты = РаботаСНоменклатурой.БлокируемыеРеквизитыОбъекта(ОбъектМетаданных.ПолноеИмя());
1. ПроверитьСсылкиНаОбъект. Спрашивает у пользователя подтверждение на включение редактирования реквизитов и проверяет, есть ли ссылки на объект в информационной базе.
ЗапретРедактированияРеквизитовОбъектовКлиент.ПроверитьСсылкиНаОбъект(ОбработкаПродолжения, МассивСсылок, СинонимыРеквизитов)
Пользовательская документация
Настройка и использование
0. СведенияОВнешнейОбработке. Формирует шаблон сведений о внешнем отчете или обработке для последующего заполнения.
Результат = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП)
// Фрагмент примера параметров
Функция СведенияОВнешнейОбработке() Экспорт
Инфо = Новый Структура;
Инфо.Вставить("Вид", "СозданиеСвязанныхОбъектов");
Инфо.Вставить("Команды", Новый ТаблицаЗначений);
Инфо.Вставить("БезопасныйРежим", Истина);
Инфо.Вставить("Назначение", Новый Массив);
Инфо.Вставить("Наименование", НСтр("ru = 'Регистрация изменений для обмена данными'"));
Инфо.Вставить("Версия", "1.0");
Инфо.Вставить("ВерсияБСП", "1.2.1.4");
Инфо.Вставить("Информация", НСтр("ru = 'Обработка для управления регистрацией объектов на узлах обмена до формирования выгрузки.'"));
..
30. ОбъектВнешнейОбработки. Создает и возвращает экземпляр внешней обработки (отчета)
Результат = ДополнительныеОтчетыИОбработкиВызовСервера.ОбъектВнешнейОбработки(Ссылка)
//
ВнешняяОбработка = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВариантРаспределения, "ВнешняяОбработка");
ВнешняяОбработкаОбъект = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(ВнешняяОбработка);
ВнешняяОбработкаОбъект.ВыполнитьРаспределение(ТоварыФакт, СерийныеНомераФакт, ТоварыПеремещение, СерийныеНомераПеремещение, НастройкиВарианта, ИдентификаторыВыделенныхСтрок, ФормаРаспределения);
//
ВнешняяОбработка = ДанныеНастройки.ВнешняяОбработка;
ВнешнийОбъект = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(ВнешняяОбработка);
ВнешнийОбъект.АлгоритмИсполнения(ДанныеНастройки, МассивНайденныхФайлов);
35. ПодключитьВнешнююОбработку. Подключает и возвращает имя, под которым подключен внешний отчет или обработка.
// Вызов с сервера
Результат = ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку(Ссылка)
// Вызов с клиента
Результат = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(Ссылка);
//
ИмяОбработки = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(Ссылка);
Если ВыполняемаяКоманда.ЭтоОтчет Тогда
ФормаОбработки = ПолучитьФорму("ВнешнийОтчет."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма);
Иначе
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма);
КонецЕсли;
0. ВыполнитьКомандуВФоне. Выполняет команду ИдентификаторКоманды в фоне с помощью механизма длительных операций. Для использования в формах внешних отчетов и обработок.
&НаКлиенте
Процедура ОбработчикКоманды(Команда)
ПараметрыКоманды = ДополнительныеОтчетыИОбработкиКлиент.ПараметрыВыполненияКомандыВФоне(Параметры.ДополнительнаяОбработкаСсылка);
ПараметрыКоманды.СопровождающийТекст = НСтр("ru = 'Выполняется команда...'");
Обработчик = Новый ОписаниеОповещения("<ИмяЭкспортнойПроцедуры>", ЭтотОбъект);
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьКомандуВФоне(Команда.Имя, ПараметрыКоманды, Обработчик);
КонецПроцедуры
11. ВыполнитьКоманду. Выполняет команду обработки и возвращает результат ее выполнения.
Результат = ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды, АдресРезультата)
150. ОткрытьФормуКомандДополнительныхОтчетовИОбработок. Открывает форму с доступными командами.
ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(ПараметрКоманды,
ПараметрыВыполненияКоманды,
Вид,
ИмяРаздела)
//
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(
ПараметрКоманды,
ПараметрыВыполненияКоманды,
ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка(),
"Склад");
КонецПроцедуры
79. ВидОбработкиДополнительныйОтчет. Дополнительный отчет, обработка, печатная форома
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОбработка()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка()
//
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(
ПараметрКоманды,
ПараметрыВыполненияКоманды,
ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка(), // вызов
"ФинансовыйРезультатИКонтроллинг");
КонецПроцедуры
Пользовательская документация
Настройка и использование
30. ДоступныеУчетныеЗаписи. Получить доступные учетные записи электронной почты.
Результат = РаботаСПочтовымиСообщениями.ДоступныеУчетныеЗаписи(ДляОтправки, ДляПолучения, ВключатьСистемнуюУчетнуюЗапись)
//
ДоступныеУчетныеЗаписи = РаботаСПочтовымиСообщениями.ДоступныеУчетныеЗаписи(Истина);
Если ДоступныеУчетныеЗаписи.Количество() = 0 Тогда
ТекстСообщения = НСтр("ru = 'Не обнаружены доступные учетные записи электронной почты, обратитесь к администратору системы.'");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,,,Отказ);
Возврат;
КонецЕсли;
27. СистемнаяУчетнаяЗапись. Получает ссылку на учетную запись по виду назначения учетной записи.
Результат = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись()
ОтправительEmail = Результат.АдресЭлектроннойПочты;
//
УчетнаяЗапись = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
Попытка
Профиль = РаботаСПочтовымиСообщениямиСлужебный.ИнтернетПочтовыйПрофиль(УчетнаяЗапись);
Соединение = Новый ИнтернетПочта;
Соединение.Подключиться(Профиль);
Исключение
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось установить соединение с почтовым сервером: (%1)'"), ОписаниеОшибки());
Возврат;
КонецПопытки;
//
11. УчетнаяЗаписьНастроена. Проверяет, настроена ли учетная запись для отправки и/или получения почты.
Результат = РаботаСПочтовымиСообщениями.УчетнаяЗаписьНастроена(УчетнаяЗапись, ДляОтправки, ДляПолучения)
16. ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты. Если у пользователя нет настроенной учетной записи для отправки писем, то в зависимости от прав либо показывает помощник настройки новой учетной записи, либо выводит сообщение о невозможности отправки.
РаботаСПочтовымиСообщениямиКлиент.ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты(ОбработчикРезультата)
//
&НаКлиенте
Процедура НачатьПроверкуУчетнойЗаписи()
РаботаСПочтовымиСообщениямиКлиент.ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты(
Новый ОписаниеОповещения("ЗавершитьПроверкуУчетнойЗаписи", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура ЗавершитьПроверкуУчетнойЗаписи(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Истина Тогда
ЗаполнитьУчетнуюЗапись();
Возврат;
КонецЕсли;
ПоказатьПредупреждение(Новый ОписаниеОповещения("ЗавершитьРаботуФормы", ЭтотОбъект),
НСтр("ru = 'Для рассылки документов требуется настроенная для отправки учетная запись электронной почты."));
КонецПроцедуры
23. ДоступнаОтправкаПисем. Возвращает Истина, если доступна по меньшей мере одна настроенная учетная запись для отправки почты либо достаточно прав на настройку учетной записи.
Результат = РаботаСПочтовымиСообщениями.ДоступнаОтправкаПисем()
//
Если Не РаботаСПочтовымиСообщениями.ДоступнаОтправкаПисем() Тогда
Возврат НСтр("ru = 'Нет прав на отправку писем или нет доступных учетных записей.'");
КонецЕсли;
27. ПодготовитьПисьмо. Формирует письмо по переданным параметрам.
Результат = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(УчетнаяЗапись, ПараметрыПисьма)
//
ПараметрыОтправки = Новый Структура();
ПараметрыОтправки.Вставить("Кому", АдресКонтрагента);
ПараметрыОтправки.Вставить("Тема", Тема);
ПараметрыОтправки.Вставить("Тело", );
ПараметрыОтправки.Вставить("Вложения", Вложения);
Письмо = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(РеквизитыПакетаЭД.АдресРесурсаОрганизации, ПараметрыОтправки);
24. ОтправитьПисьмо. Выполняет отправку одного письма. Функция может вызвать исключение, которое требуется обработать.
Результат = РаботаСПочтовымиСообщениями.ОтправитьПисьмо(УчетнаяЗапись, Письмо)
//
Функция ОтправитьПакетЧерезЭлектроннуюПочту(ПараметрыОтправки, КонтекстОперации)
Вложения = Новый Массив;
ФайлыДляОтправки = НайтиФайлы(АдресКаталогаОтправки, "*.zip");
Для Каждого Файл Из ФайлыДляОтправки Цикл
ОписаниеВложения = Новый Структура;
ОписаниеВложения.Вставить("Представление", Файл.Имя);
ОписаниеВложения.Вставить("АдресВоВременномХранилище",
ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Файл.ПолноеИмя)));
Вложения.Добавить(ОписаниеВложения);
КонецЦикла;
ПараметрыОтправки = Новый Структура();
ПараметрыОтправки.Вставить("Кому", АдресКонтрагента);
ПараметрыОтправки.Вставить("Тема", Тема);
ПараметрыОтправки.Вставить("Тело", );
ПараметрыОтправки.Вставить("Вложения", Вложения);
Письмо = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(РеквизитыПакетаЭД.АдресРесурсаОрганизации, ПараметрыОтправки);
Попытка
РаботаСПочтовымиСообщениями.ОтправитьПисьмо(РеквизитыПакетаЭД.АдресРесурсаОрганизации, Письмо);
РезультатОтправки = Истина;
Исключение
ТекстОшибки = СтрШаблон(НСтр("ru = 'Не удалось отправить письмо по адресу %1'"), АдресКонтрагента);
КонецПопытки;
Возврат РезультатОтправки;
КонецФункции
12. СоздатьНовоеПисьмо. Открывает форму создания нового письма.
РаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыОтправкиПисьма, ОповещениеОЗакрытииФормы)
//
Процедура ОтправитьОтчет(Отчет, ДополнительныеПараметры = Неопределено) Экспорт
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("ТабличныйДокумент", Отчет.Результат);
ПараметрыОтчета.Вставить("Заголовок" , Отчет.Заголовок);
КлючеваяОперация = "ОтправкаОтчетаПоЭлектроннойПочте";
ОценкаПроизводительностиКлиент.НачатьЗамерВремени(Истина, КлючеваяОперация);
ПараметрыПисьма = ОтправкаПочтовыхСообщенийВызовСервера.ПараметрыЭлектронногоПисьмаДляОтчетов(ПараметрыОтчета,
ДополнительныеПараметры);
РаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыПисьма);
КонецПроцедуры
9. ОтправитьПисьма. Выполняет отправку нескольких писем.
Результат = РаботаСПочтовымиСообщениями.ОтправитьПисьма(УчетнаяЗапись, Письма, ТекстОшибки)
//
Письма = Новый Массив;
Для Каждого КлючИЗначение Из ПараметрыДоставки.Получатели Цикл
ПараметрыПисьма.Тело = СтрЗаменить(ШаблонТекста, "[Получатель]", Строка(КлючИЗначение.Ключ));
ПараметрыПисьма.Вставить(КлючАдресаДоставки, КлючИЗначение.Значение);
Письма.Добавить(ПодготовитьПисьмо(ПараметрыДоставки, ПараметрыПисьма));
КонецЦикла;
РаботаСПочтовымиСообщениями.ОтправитьПисьма(ПараметрыДоставки.УчетнаяЗапись, Письма);
8. ЗагрузитьПочтовыеСообщения. Загружает сообщения с сервера электронной почты для указанной учетной записи.
Результат = РаботаСПочтовымиСообщениями.ЗагрузитьПочтовыеСообщения(УчетнаяЗапись, ПараметрыЗагрузки)
//
Функция ЗагрузитьПочтовыеСообщенияПоЭДО(РесурсОбмена)
ПараметрыЗагрузкиЗаголовков = Новый Структура;
ПараметрыЗагрузкиЗаголовков.Вставить("ПолучениеЗаголовков", Истина);
ПараметрыЗагрузкиЗаголовков.Вставить("ПриводитьСообщенияКТипу", Ложь);
НаборСообщений = РаботаСПочтовымиСообщениями.ЗагрузитьПочтовыеСообщения(
РесурсОбмена.УчетнаяЗаписьЭлектроннойПочты, ПараметрыЗагрузкиЗаголовков);
Если Не ЗначениеЗаполнено(НаборСообщений) Тогда
Возврат НаборСообщений;
КонецЕсли;
Для Каждого Сообщение Из НаборСообщений Цикл
АдресОтправителя = НРег(?(ТипЗнч(Сообщение.Отправитель) = Тип("Строка"),
Сообщение.Отправитель, Сообщение.Отправитель.Адрес));
КонецЦикла;
Возврат НаборСообщений
КонецФункции
6. ПараметрыОтправкиПисьма. Возвращает пустую структуру с параметрами отправки письма.
Результат = РаботаСПочтовымиСообщениямиКлиент.ПараметрыОтправкиПисьма()
4. ЕстьВнешниеРесурсы. Проверяет наличие в документе HTML ссылок на ресурсы, загружаемые по http(s).
Результат = РаботаСПочтовымиСообщениями.ЕстьВнешниеРесурсы(ДокументHTML)
//
Процедура ОтфильтроватьСодержимоеТекстаHTML(ТекстHTML, Кодировка = Неопределено,
ОтключитьВнешниеРесурсы = Истина, ЕстьВнешниеРесурсы = Неопределено) Экспорт
ДокументHTML = ПолучитьОбъектДокументHTMLИзТекстаHTML(ТекстHTML, Кодировка);
ЕстьВнешниеРесурсы = РаботаСПочтовымиСообщениями.ЕстьВнешниеРесурсы(ДокументHTML);
РаботаСПочтовымиСообщениями.ОтключитьНебезопасноеСодержимое(ДокументHTML, ЕстьВнешниеРесурсы И ОтключитьВнешниеРесурсы);
ТекстHTML = ПолучитьТекстHTMLИзОбъектаДокументHTML(ДокументHTML);
КонецПроцедуры
4. ОтключитьНебезопасноеСодержимое. Удаляет из документа HTML скрипты, обработчики событий, а также очищает ссылки на ресурсы, загружаемые по http(s).
РаботаСПочтовымиСообщениями.ОтключитьНебезопасноеСодержимое(ДокументHTML, ОтключитьВнешниеРесурсы)
//
Процедура ОтфильтроватьСодержимоеТекстаHTML(ТекстHTML, Кодировка = Неопределено,
ОтключитьВнешниеРесурсы = Истина, ЕстьВнешниеРесурсы = Неопределено) Экспорт
ДокументHTML = ПолучитьОбъектДокументHTMLИзТекстаHTML(ТекстHTML, Кодировка);
ЕстьВнешниеРесурсы = РаботаСПочтовымиСообщениями.ЕстьВнешниеРесурсы(ДокументHTML);
РаботаСПочтовымиСообщениями.ОтключитьНебезопасноеСодержимое(ДокументHTML, ЕстьВнешниеРесурсы И ОтключитьВнешниеРесурсы);
ТекстHTML = ПолучитьТекстHTMLИзОбъектаДокументHTML(ДокументHTML);
КонецПроцедуры
Пользовательская документация
Настройка и использование
23. НастройкаОтправкиSMSВыполнена. Проверяет правильность сохраненных настроек отправки SMS.
Результат = ОтправкаSMS.НастройкаОтправкиSMSВыполнена()
//
Если Не ОтправкаSMS.НастройкаОтправкиSMSВыполнена() Тогда
РезультатОтправки.Ошибка = Истина;
РезультатОтправки.ТекстОшибки = НСтр("ru = 'Ошибка при отправке SMS: не выполнена настройка отправки.'");
Возврат РезультатОтправки;
КонецЕсли;
12. ОтправитьSMS. Для вызова с клиента: Открывает форму для отправки нового SMS. Для вызова с сервера: Отправляет SMS через настроенного поставщика услуги, возвращает идентификатор сообщения.
ОтправкаSMSКлиент.ОтправитьSMS(НомераПолучателей, Текст, ДополнительныеПараметры)
4. СтатусДоставки. Запрашивает статус доставки сообщения у поставщика услуг.
Результат = ОтправкаSMS.СтатусДоставки(ИдентификаторСообщения)
0. ДоступнаОтправкаSMS. Проверяет возможность отправки SMS для текущего пользователя.
Результат = ОтправкаSMS.ДоступнаОтправкаSMS()
Пользовательская документация
Настройка и использование
1282. ЗамерВремени. Начинает замер времени ключевой операции. Результат замера будет записан в регистр сведений ЗамерыВремени.
Результат = ОценкаПроизводительностиКлиент.ЗамерВремени(КлючеваяОперация, ФиксироватьСОшибкой, АвтоЗавершение)
//
УИДЗамера = ОценкаПроизводительностиКлиент.ЗамерВремени("Обработка.ВыполнениеОпераций.Форма.ОбновитьДанные",, Ложь);
47. ЗавершитьЗамерВремени. Завершает замер времени на клиенте.
ОценкаПроизводительностиКлиент.ЗавершитьЗамерВремени(УИДЗамера, ВыполненСОшибкой)
//
&НаКлиенте
Процедура ОбновитьДанные()
УИДЗамера = ОценкаПроизводительностиКлиент.ЗамерВремени("Обработка.ВыполнениеОперацийФорма.ОбновитьДанные",, Ложь);
ЗаполнитьДанныеВнутриЗамераВремени();
ОценкаПроизводительностиКлиент.ЗавершитьЗамерВремени(УИДЗамера);
КонецПроцедуры
154. НачатьЗамерВремени. Начинает замер времени ключевой операции. Закончить замер нужно явно вызовом процедуры ЗакончитьЗамерВремени или ЗакончитьЗамерВремениТехнологический.
Результат = ОценкаПроизводительности.НачатьЗамерВремени()
//
Функция ОперацииПоЯндексКассе(Знач ВходящиеПараметры) Экспорт
ВремяНачала = ОценкаПроизводительности.НачатьЗамерВремени();
КлючеваяОперация = "ИнтеграцияСЯндексКассой.ПолучениеОперацийПоЯндексКассе";
КоличествоПовторяющихсяДанных = 0;
Для каждого ПараметрыПолучения Из ПараметрыПолученияОпераций Цикл
КоличествоПовторяющихсяДанных = КоличествоПовторяющихсяДанных + 1;
...
КонецЦикла;
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала, КоличествоПовторяющихсяДанных);
КонецФункции
119. ЗакончитьЗамерВремени. Завершает замер времени ключевой операции и записывает результат в регистр сведений ЗамерыВремени.
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала, ВесЗамера, Комментарий, ВыполненСОшибкой)
//
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ВремяНачала = ОценкаПроизводительности.НачатьЗамерВремени();
УчетРабочегоВремениРасширенный.ЗаписатьДанныеГрафика(
ТекущийОбъект.Ссылка, ДанныеГрафика, НомерТекущегоГода,
НЕ СреднемесячныеНормыВремениГрафиковРаботыСотрудников.УстановленыВРучную, Ложь);
ОценкаПроизводительности.ЗакончитьЗамерВремени(
"ЗаписьЭлементаСправочникаГрафикиРаботыСотрудников",
ВремяНачала);
КонецПроцедуры
313. НачатьЗамерДлительнойОперации. Начинает замер времени выполнения длительной ключевой операции. Закончить замер нужно явно вызовом процедуры ЗакончитьЗамерДлительнойОперации.
Результат = ОценкаПроизводительностиКлиент.НачатьЗамерДлительнойОперации(КлючеваяОперация, ФиксироватьСОшибкой, АвтоЗавершение, ИмяПоследнегоШага)
//
Процедура ВыполнитьКлиентскуюДиагностику(ПараметрыВыполнения)
Замер = ОценкаПроизводительностиКлиент.НачатьЗамерДлительнойОперации(
"ОбщийМодуль.ОбменСКонтрагентамиДиагностикаКлиент.ВыполнитьКлиентскуюДиагностику");
ПараметрыВыполнения.ЗамерДиагностикиНаКлиенте = Замер;
Контекст = Новый Структура;
Контекст.Вставить("ПараметрыВыполнения", ПараметрыВыполнения);
ОбработчикЗавершения = Новый ОписаниеОповещения("ПослеВыполненияКлиентскойДиагностики", ЭтотОбъект);
Обработчики = Новый Массив;
Обработчики.Добавить(Новый ОписаниеОповещения("ДиагностикаКриптографии", ЭтотОбъект, Контекст));
Обработчики.Добавить(Новый ОписаниеОповещения("ТестАутентификации", ЭтотОбъект, Контекст));
АсинхронныйЦиклНачать(ОбработчикЗавершения, Неопределено, Обработчики, Контекст);
КонецПроцедуры
Процедура ПослеВыполненияКлиентскойДиагностики(Контекст, ДополнительныеПараметры = Неопределено) Экспорт
..
ОценкаПроизводительностиКлиент.ЗакончитьЗамерДлительнойОперации(Контекст.ПараметрыВыполнения.ЗамерДиагностикиНаКлиенте, 1);
КонецПроцедуры
333. ЗакончитьЗамерДлительнойОперации. Завершает замер длительной операции. Для вызова с клиента модуль - ОценкаПроизводительностиКлиент.
ОценкаПроизводительностиКлиент.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных, ИмяШага, Комментарий)
//
Процедура ПостроитьДеревоСебестоимости(ПараметрыДерева, ПараметрыУзла = Неопределено) Экспорт
Замер = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("ОбщийМодуль.СтруктураСебестоимости.ПостроитьДеревоСебестоимости");
ПараметрыДерева.Вставить("КоличествоСтрок", 0);
ЗаполнитьДеревоСебестоимости(ПараметрыДерева, ПараметрыУзла);
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(Замер, ПараметрыДерева.КоличествоСтрок / 1000);
КонецПроцедуры
248. ЗафиксироватьЗамерДлительнойОперации. Фиксирует замер вложенного шага длительной операции.
ОценкаПроизводительностиКлиент.ЗафиксироватьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных, ИмяШага, Комментарий)
49. УстановитьКлючевуюОперациюЗамера. Устанавливает ключевую операцию замера.
ОценкаПроизводительностиКлиент.УстановитьКлючевуюОперациюЗамера(УИДЗамера, КлючеваяОперация)
//
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
ОценкаПроизводительностиКлиент.УстановитьКлючевуюОперациюЗамера(ИдентификаторЗамераПроведениеНеНужнаРегистрацияОшибки,
"ПроведениеДокументаИндивидуальныйГрафик");
КонецЕсли;
КонецПроцедуры