Самые используемые методы БСП 3.1.12. Часть 2
Разработка - БСП (Библиотека стандартных подсистем)
Это вторая часть статьи Самые используемые методы БСП 3.1.12. Часть 1.
На момент публикации БСП 3.1.12 - является последней версией и на ней построены все новые типовые конфигурации.
Как читать справочник:
Цифра перед строкой означает количество использований метода в коде конфигурации ERP 2.6.1.
Сверху расположены самые используемые разделы, внутри разделов методы отсортированы по количеству использований.
Ссылка на ИТС (документация БСП 3.1.12)
Часть 2. Прикладные подсистемы
Формирует или перезаполняет список подключаемых команд формы (меню Печать, Создать на основании и т.д., отдельные команды) и обновляет их видимость и доступность по текущему контексту: значениям реквизитов объекта, функциональным опциям и правам пользователя.
При создании формы вызывается автоматически (см. ниже ПодключаемыеКоманды.ПриСозданииНаСервере). Вручную вызывают, когда контекст изменился уже после открытия формы - например, после программного изменения реквизитов, входящих в условия видимости команд (см. ниже ДобавитьУсловиеВидимостиКоманды):
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
Обновляет список команд в зависимости от текущего контекста формы.
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
Выводит подключенные команды в форме. Для вызова из обработчика формы ПриСозданииНаСервере. Если в форме несколько списков подключаемых команд (например ТаблицаФормы помимо командной панели формы), то в обработчике формы ПриСозданииНаСервере следует разместить несколько вызовов этой процедуры с указанием параметра ПараметрыРазмещения. Параметр ПараметрыРазмещения также применяется, когда типы источников зависят от параметров открытия формы.
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
Обработчик команды формы.
ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
Конструктор одноименного параметра процедуры ПодключаемыеКоманды.ПриСозданииНаСервере.
ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
Задает условия видимости команды на форме в зависимости от контекста.
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(ОписаниеКоманды, "ПометкаУдаления", Ложь);
Свойства второго параметра обработчика подключаемой команды, выполняемой на клиенте.
ПараметрыВыполнения = ПодключаемыеКомандыКлиент.ПараметрыВыполненияКоманды();
Добавляет в список команд создания на основании команду создания указанного объекта.
Возврат СозданиеНаОсновании.ДобавитьКомандуСозданияНаОсновании(КомандыСозданияНаОсновании, Метаданные.Документы.БлокировкаВычетаНДС);
Возвращает описание команды по имени элемента формы.
ОписаниеКоманды = ПодключаемыеКомандыКлиентПовтИсп.ОписаниеКоманды(ИмяКоманды, АдресНастроек);
Обновляет видимость, доступность и обязательность заполнения дополнительных реквизитов.
УправлениеСвойствамиКлиент.ОбновитьЗависимостиДополнительныхРеквизитов(ЭтотОбъект);
Проверяет заполненность реквизитов, обязательных для заполнения.
УправлениеСвойствами.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ, ПроверяемыеРеквизиты);
Создает основные реквизиты и поля формы, необходимые для работы. Заполняет дополнительные реквизиты, если используются. Вызывается из обработчика ПриСозданииНаСервере формы объекта со свойствами.
УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);
Определяет, что указанное событие - это событие об изменении набора свойств.
Результат = УправлениеСвойствамиКлиент.ОбрабатыватьОповещения(ЭтотОбъект, ИмяСобытия, Параметр);
Заполняет объект из реквизитов, созданных в форме. Вызывается из обработчика ПередЗаписьюНаСервере формы объекта со свойствами.
УправлениеСвойствами.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект);
Обновляет отображаемые данные дополнительных реквизитов на форме объекта со свойствами.
УправлениеСвойствами.ОбновитьЭлементыДополнительныхРеквизитов(ЭтотОбъект);
Заполняет дополнительные реквизиты формы данными прочитанного объекта. Вызывается из обработчика ПриЧтенииНаСервере формы. Внимание: документирующий комментарий БСП ошибочно описывает обратный перенос данных.
УправлениеСвойствами.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
Создает/пересоздает дополнительные реквизиты и элементы в форме владельца свойств.
УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме(ЭтотОбъект);
Возвращает ссылку на предопределенный набор свойств по имени набора. Предназначена для наборов, указанных в процедуре УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств.
НаборОбщихСвойств = УправлениеСвойствами.НаборСвойствПоИмени("Справочник_ХарактеристикиНоменклатуры_Общие");
Устанавливает параметры набора свойств.
УправлениеСвойствами.УстановитьПараметрыНабораСвойств("Документ_ИзменениеПараметровОС", ПараметрыНабора);
Получает структуру параметров для набора свойств.
ПараметрыНабора = УправлениеСвойствами.СтруктураПараметровНабораСвойств();
Возвращает свойства у указанного объекта.
ДополнительныеРеквизитыВладельца = УправлениеСвойствами.СвойстваОбъекта(ВладелецСвойств.Ссылка);
Проверяет, используются ли дополнительные реквизиты с объектом.
Результат = УправлениеСвойствами.ИспользоватьДопРеквизиты(ПустоеЗначение);
Возвращает значение дополнительного свойства объекта.
ЗначениеРеквизита = УправлениеСвойствами.ЗначениеСвойства(ВыделенныйДокумент, РеквизитКодДокументаКадровогоМероприятия);
Записывает дополнительные реквизиты и сведения владельцу свойств. Изменения происходят в транзакции.
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ДокументЭДОБЗКСсылка, ТаблицаСвойств);
Проверяет, есть ли у объекта свойство.
Результат = УправлениеСвойствами.ПроверитьСвойствоУОбъекта(СправочникОбъект.Ссылка,Реквизит.Свойство);
Проверяет, используются ли дополнительные сведения объектом.
Результат = УправлениеСвойствами.ИспользоватьДопСведения(ПустоеЗначение);
Добавляет дополнительные реквизиты и метки в переданный объект Владелец. Подходит для случаев, когда необходимо установить свойства для нового еще незаписанного объекта. При попытке добавить дополнительные сведения будет вызвано исключение.
УправлениеСвойствами.УстановитьСвойстваУОбъекта(СправочникОбъект, ОписаниеДанных.ДополнительныеРеквизиты);
Переносит значения свойств из реквизитов формы в табличную часть объекта.
УправлениеСвойствами.ПеренестиЗначенияИзРеквизитовФормыВОбъект(Форма,Форма.Объект);
Возвращает значения дополнительных свойств объектов.
Свойства = УправлениеСвойствами.ЗначенияСвойств(ФизическоеЛицо.Ссылка);
см.УправлениеСвойствамиСлужебный.СписокСвойствДляВидаОбъектов.
СведенияДополнительные = УправлениеСвойствамиПереопределяемый.СписокСвойствДляВидаОбъектов(ОписаниеОбъектаМетаданных.ИмяОбъектаДопРеквизитовСвойств, "ДополнительныеСведения");
Возвращает список значений, состоящий из наборов свойств справочника "Партнеры".
Наборы = УправлениеСвойствамиПереопределяемый.ПолучитьНаборыСвойствДляПартнеров(Истина, Ложь, Ложь, Ложь);
Проверяет доступность подсистемы для текущего пользователя.
Результат = УправлениеСвойствами.СвойстваДоступны();
Создает пустую таблицу с описанием команд печати. Таблица команд печати передается в процедуры ДобавитьКомандыПечати, размещенные в модулях менеджеров объектов конфигурации, которые перечислены в процедуре УправлениеПечатьюПереопределяемый.ПриОпределенииОбъектовСКомандамиПечати.
ДоступныеКоманды = УправлениеПечатью.СоздатьКоллекциюКомандПечати();
Добавляет табличный документ в коллекцию печатных форм. Процедура предназначена для использования только внутри процедуры Печать.
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка, ПолныйПутьКМакету, ИмяФайлаПечатнойФормы)
// Модуль менеджера документа
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"Накладная",
НСтр("ru = 'Реализация товаров'"),
СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати, ПараметрыПечати),
,
"Документ.РеализацияТоваровУслуг.ПФ_MXL_РеализацияТоваров");
КонецЕсли;
КонецПроцедуры
Возвращает макет печатной формы по полному пути к макету.
Результат = УправлениеПечатью.МакетПечатнойФормы(ПутьКМакету, КодЯзыка)
//
Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет.ПФ_MXL_РасчетныйЛистокДляСервисаКабинетСотрудника");
Макет = УправлениеПечатью.МакетПечатнойФормы("Справочник.Организации." + ИмяМакета);
Проверить, нужно ли печатать макет. Функция предназначена для использования только внутри процедуры Печать.
Результат = УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, ИмяМакета)
// Модуль менеджера документа
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"Накладная",
НСтр("ru = 'Реализация товаров'"),
СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати, ПараметрыПечати),
,
"Документ.РеализацияТоваровУслуг.ПФ_MXL_РеализацияТоваров");
КонецЕсли;
КонецПроцедуры
Задает область печати объекта в табличном документе.
Пока ВыборкаПоДокументам.Следующий() Цикл
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// ... вывод печатной формы в табличный документ ...
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПоДокументам.Ссылка);
КонецЦикла;
//
Функция ТабличныйДокументСправки(МассивСсылок, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СправкаОЗаработкеДляРасчетаПособий";
ТабличныйДокумент.АвтоМасштаб = Истина;
ДанныеДокументов = ЗапросПоОсновнымДанным(МассивСсылок).Выполнить().Выгрузить();
ПервыйДокумент = Истина;
Для Каждого ДанныеДокумента Из ДанныеДокументов Цикл
Если ПервыйДокумент Тогда
ПервыйДокумент = Ложь;
Иначе
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
НачалоТекущегоФрагмента = ТабличныйДокумент.ВысотаТаблицы + 1;
ВывестиШапку(ТабличныйДокумент, СоставМакета.Шапка, ДанныеДокумента, АдресаОрганизаций);
ВывестиЗаработок(ТабличныйДокумент, СоставМакета, СтруктураПоиска, ВыборкаЗаработка, Валюта);
ВывестиПодвал(ТабличныйДокумент, СоставМакета.Подвал, ДанныеДокумента, КадровыеДанныеФизическихЛиц);
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НачалоТекущегоФрагмента, ОбъектыПечати, ДанныеДокумента.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Формирует и выводит на экран печатные формы.
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Обработка.ПечатнаяФорма", "СписаниеТоваров", ДокументыНаПечать, ЭтотОбъект);
//
Функция ВыполнитьКомандуПечатиСтатистическойФормыУчетаПеремещенияТоваров(ОписаниеКоманды) Экспорт
ПараметрыПечати = ОбщегоНазначенияБПКлиент.ПолучитьЗаголовокПечатнойФормы(ОписаниеКоманды.ОбъектыПечати);
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
"Документ.ЗаявлениеОВвозеТоваров",
"СтатистическаяФормаУчетаПеремещенияТоваров",
ОписаниеКоманды.ОбъектыПечати,
ОписаниеКоманды.Форма,
ПараметрыПечати);
КонецФункции
Задает условия видимости команды печати на форме в зависимости от контекста.
УправлениеПечатью.ДобавитьУсловиеВидимостиКоманды(
КомандаПечати,
"ВидОбъектаУчета",
Перечисления.ВидыОбъектовУчетаНМА.НематериальныйАктив);
Получает область из макета печатной формы.
Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбласти);
Добавляет к параметру НаборОбластей новую запись об области.
Функция ОбластиМакетаОфисногоДокумента()
Области = Новый Структура;
УправлениеПечатью.ДобавитьОписаниеОбласти(Области, "ВерхнийКолонтитул", "ВерхнийКолонтитул");
УправлениеПечатью.ДобавитьОписаниеОбласти(Области, "НижнийКолонтитул", "НижнийКолонтитул");
УправлениеПечатью.ДобавитьОписаниеОбласти(Области, "Заголовок", "Общая");
Возврат Области;
КонецФункции
Добавляет область в печатную форму из макета, при этом заменяя параметры в области значениями из данных объекта. Применяется при одиночном выводе области.
УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ЗначенияПараметров, Ложь);
Удаляет временные файлы, образовавшиеся после раскрытия xml-структуры макета. Необходимо вызывать каждый раз после завершения формирования макета и печатной формы, а также в случае аварийного завершения формирования.
УправлениеПечатью.ОчиститьСсылки(Макет);
Конструктор параметра НастройкиСохранения функции УправлениеПечатью.НапечататьВФайл. Определяет формат и другие настройки записи табличного документа в файл.
НастройкиСохранения = УправлениеПечатью.НастройкиСохранения();
Возвращает список команд печати для указанной формы.
КомандыПечати = УправлениеПечатью.КомандыПечатиФормы(
ТипРассылаемогоДокумента.Метаданные().ОсновнаяФормаОбъекта.ПолноеИмя());
Присоединяет область в печатную форму из макета. Применяется при одиночном выводе области.
УправлениеПечатью.ПрисоединитьОбласть(ПечатнаяФорма, Область, Ложь);
Возвращает описание найденной в коллекции печатной формы. Если описание не существует, возвращает Неопределено. Функция предназначена для использования только внутри процедуры Печать.
ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ЭтикеткаКодМаркировкиИСМП");
АПК:1382-выкл - Нельзя определять тип в возвращаемом значении. Конструктор печатной формы в формате офисного документа.
ПечатнаяФорма = УправлениеПечатью.ИнициализироватьПечатнуюФорму("",,Макет);
Формирует печатные формы в требуемом формате и записывает в файлы. Ограничение: печатные формы, формируемые на клиенте не поддерживаются.
КоллекцияПечатныхФорм = УправлениеПечатью.НапечататьВФайл(КомандаПечати, МассивОбъектов, НастройкиСохранения);
Открывает форму ПечатьДокументов для коллекции табличных документов.
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм);
Конструктор параметра КоллекцияПечатныхФорм для процедур и функций этого модуля. См. ПечатьДокументов() См. ОписаниеПечатнойФормы().
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(Идентификаторы);
Возвращает описание найденной в коллекции печатной формы. Если описание не существует, возвращает Неопределено.
ОписаниеПечатнойФормы = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Приказ");
Формирует и выводит на принтер печатные формы.
УправлениеПечатьюКлиент.ВыполнитьКомандуПечатиНаПринтер(
"РегистрСведений.НастройкиПечатиОбъектов",
"КомплектДокументов",
ОписаниеКоманды.ОбъектыПечати,
Новый Структура);
Подготавливает макет для использования в процедурах формирования печатной формы.
Макет = УправлениеПечатью.ИнициализироватьМакетОфисногоДокумента(ДвоичныеДанныеМакетов[ИмяМакета], "");
Возвращает таблицу возможных форматов для сохранения табличного документа. Возвращаемое значение ТаблицаЗначений:
- ТипФайлаТабличногоДокумента - ТипФайлаТабличногоДокумента - значение, соответствующее формату.
- Ссылка - ПеречислениеСсылка.ФорматыСохраненияОтчетов
- Представление - Строка - представление типа файла (заполняется из перечисления).
- Расширение - Строка - тип файла для операционной системы.
- Картинка - Картинка - значок формата.
ТаблицаФорматов = УправлениеПечатью.НастройкиФорматовСохраненияТабличногоДокумента();
Получает за один вызов всю необходимую информацию для печати: данные объектов по макетам, двоичные данные макетов, описание областей макетов. Для вызова из клиентских модулей печати форм по макетам офисных документов.
МакетИДанныеОбъекта = УправлениеПечатью.МакетыИДанныеОбъектовДляПечати("Документ.АктВыполненныхРабот",
ИмяМакета, МассивОбъектов);
Добавляет область в печатную форму из макета, при этом заменяя параметры в области значениями из данных объекта. Применяется при одиночном выводе области.
УправлениеПечатью.ПрисоединитьИЗаполнитьКоллекцию(ПечатнаяФорма,Область, ДанныеОбъекта.ДебиторскаяЗадолженность, Ложь);
Заполняет параметры области печатной формы.
УправлениеПечатью.ЗаполнитьПараметры(ПечатнаяФорма, ДанныеОбъекта);
Подготовить структуру параметров вывода для менеджера объекта формирующего печатные формы.
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
Формирует файл выходной печатной формы и помещает его в хранилище. Необходимо вызывать после помещения в структуру печатной формы всех необходимых областей.
АдресХранилищаПечатнойФормы = УправлениеПечатью.СформироватьДокумент(ПечатнаяФорма);
Возвращает список объектов метаданных, в которых внедрена подсистема Печать.
ИсточникиКомандПечати = УправлениеПечатью.ИсточникиКомандПечати();
Предназначена для использования в процедурах модуля УправлениеПечатьюКлиентПереопределяемый.ПечатьДокументов<...>. Возвращает коллекцию параметров текущей печатной формы в форме "Печать документов" (ОбщаяФорма.ПечатьДокументов).
НастройкаПечатнойФормы = УправлениеПечатьюКлиент.НастройкаТекущейПечатнойФормы(УправляемаяФорма);
Сформировать печатные формы.
ДанныеПечати = УправлениеПечатью.СформироватьПечатныеФормы("УправлениеПечатью",
Идентификатор,
МассивОбъектов,
ПараметрыПечати);
Конструктор для параметра КоллекцияПечатныхФорм процедуры Печать.
ВременнаяКоллекцияДляОднойПечатнойФормы = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("Накладная");
Подготавливает макет офисного документа для использования в процедурах формирования печатной формы.
ДеревоМакета = УправлениеПечатью.ИнициализироватьМакетОфисногоДокументаСКД(ОфисныйДокумент);
Устарела. Следует использовать ГенерацияШтрихкода.ДанныеQRКода или ГенерацияШтрихкода.ИзображениеШтрихкода. Возвращает двоичные данные для формирования QR-кода.
ДанныеQRКода = ГенерацияШтрихкода.ДанныеQRКода(QRСтрока, 0, РазмерКода);
Записывает данные основной печатной формы, которая была сформирована по объекту
УправлениеПечатью.ПриВыполненииКомандыПечати(Объекты, ОписаниеКоманды);
Формирует форматную строку согласно "Унифицированному формату электронных банковских сообщений" для ее отображения в виде QR-кода.
QRСтрока = УправлениеПечатьюРФ.ФорматнаяСтрокаУФЭБС(РеквизитыПлатежа);
Формирует и выводит на экран или на принтер печатные формы по командам печати.
УправлениеПечатьюКлиент.ВыполнитьКомандыПечати(Объекты.ВыгрузитьЗначения(), КомандыПечатиОбъекта, ОписаниеОповещения, Истина);
Сохраняет пользовательский макет печати в информационной базе.
УправлениеПечатью.ЗаписатьМакет(ОписаниеМакета);
Выполняет интерактивное проведение документов перед печатью. Если есть непроведенные документы, предлагает выполнить проведение. Спрашивает пользователя о продолжении, если какие-то из документов не провелись и имеются проведенные.
УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеОповещения, МассивДокументов);
Вывести табличные документы на принтер.
УправлениеПечатьюКлиент.РаспечататьТабличныеДокументы(
ТабличныеДокументы, Новый СписокЗначений, ТабличныеДокументы.Количество() > 1);
Конструктор параметра ДополнительныеПараметры процедуры ПечатьДокументов.
ДополнительныеПараметры = УправлениеПечатьюКлиент.ПараметрыПечати();
Конструктор элемента массива для второго параметра процедуры ВыполнитьКомандыПечати.
КомандаПечати = УправлениеПечатьюКлиент.СоздатьКомандуПечати();
Возвращает наименования основных печатных форм, которые были сформированы по объектам.
СформированныеПечатныеФормы = УправлениеПечатью.НаименованияСформированныхОсновныхПечатныхФорм(СсылкиДляПоиска);
Возвращает список внешних печатных форм.
ВнешниеПечатныеФормы = УправлениеПечатью.СписокПечатныхФормИзВнешнихИсточников(ИмяМенеджераПечати);
Формирует схему компоновки данных печати с заданным списком полей.
Возврат УправлениеПечатью.СхемаКомпоновкиДанныхПечати(СписокПолей);
Конструктор списка полей данных печати для функции СхемаКомпоновкиДанныхПечати.
СписокПолей = УправлениеПечатью.ТаблицаПолейДанныхПечати();
Возвращает текущего пользователя.
// Вызов с клиента
Объект.Ответственный = ПользователиКлиент.ТекущийПользователь();
// Вызов с сервера
Объект.Ответственный = Пользователи.ТекущийПользователь();
Проверяет, является ли текущий или указанный пользователь полноправным.
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
ВызватьИсключение НСтр("ru = 'Недостаточно прав для совершения операции.'");
КонецЕсли;
// пример вызова с клиента, конфигурация ERP
Результат = ОбщегоНазначенияУТВызовСервера.ЭтоПолноправныйПользователь()
Возвращает текущего пользователя или текущего внешнего пользователя, в зависимости от того, кто выполнил вход в сеанс.
// Вызов с клиента
Результат = ПользователиКлиент.АвторизованныйПользователь()
// Вызов с сервера
Результат = Пользователи.АвторизованныйПользователь()
Возвращает доступность хотя бы одной из указанных ролей или полноправность пользователя (текущего или указанного).
Результат = Пользователи.РолиДоступны(ИменаРолей, Пользователь, УчитыватьПривилегированныйРежим)
//
РолиДоступны = Пользователи.РолиДоступны("ПолныеПрава, БазовыеПрава");
Возвращает Истина, если вход в сеанс выполнил внешний пользователь.
Результат = Пользователи.ЭтоСеансВнешнегоПользователя();
Проверяет наличие хотя бы одного вида аутентификации у пользователя ИБ.
Результат = Пользователи.ВходВПрограммуРазрешен(ОписаниеПользователяИБ)
//
Процедура ОчиститьРеквизитВходВПрограммуРазрешенУВсехПользователей()
ПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ПользовательИБ Из ПользователиИБ Цикл
Если Пользователи.ВходВПрограммуРазрешен(ПользовательИБ) Тогда
ПользовательИБ.АутентификацияСтандартная = Ложь;
ПользовательИБ.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Возвращает ссылку неуказанного пользователя.
Результат = Пользователи.СсылкаНеуказанногоПользователя(СоздатьЕслиНеСуществует)
//
Процедура ОповеститьВсехПользователей()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Пользователи.ИдентификаторПользователяИБ КАК ИдентификаторПользователяИБ
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Ссылка <> &ПользовательНеУказан";
Запрос.УстановитьПараметр("ПользовательНеУказан", Пользователи.СсылкаНеуказанногоПользователя());
ТаблицаВыборки = Запрос.Выполнить().Выгрузить();
ДобавитьСообщениеВСистемуВзаимодействия(ТаблицаВыборки.ВыгрузитьКолонку("ИдентификаторПользователяИБ"));
КонецПроцедуры
Возвращает свойства пользователя информационной базы в виде структуры.
Результат = Пользователи.СвойстваПользователяИБ(ИмяИлиИдентификатор)
//
ТекущийПользователь = Пользователи.АвторизованныйПользователь();
ИдентификаторПользователя = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТекущийПользователь, "ИдентификаторПользователяИБ");
СвойстваПользователя = Пользователи.СвойстваПользователяИБ(ИдентификаторПользователя);
Возвращает пустую структуру описания пользователя ИБ. Назначение свойств структуры соответствует свойствам объекта ПользовательИнформационнойБазы.
Результат = Пользователи.НовоеОписаниеПользователяИБ()
//
Процедура СоздатьСлужебногоПользователяОповещенийЭДО() Экспорт
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
ОписаниеПользователяИБ.Имя = Логин;
ОписаниеПользователяИБ.ПолноеИмя = НСтр("ru='Бот 1С-ЭДО'");
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора = Ложь;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("ВходВПрограммуРазрешен", Истина);
ОписаниеПользователяИБ.ЗапрещеноИзменятьПароль = Истина;
ОписаниеПользователяИБ.Пароль = Пароль;
ОписаниеПользователяИБ.Роли = Новый Массив;
ОписаниеПользователяИБ.Роли.Добавить(Метаданные.Роли.ИспользованиеУведомленийЭДО.Имя);
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент();
НовыйПользователь.Наименование = ОписаниеПользователяИБ.ПолноеИмя;
НовыйПользователь.Служебный = Истина;
НовыйПользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОписаниеПользователяИБ);
НовыйПользователь.Записать();
КонецПроцедуры
Возвращает ссылку на стандартную группу пользователей ВсеПользователи.
ГруппаПользователей.Вставить("GroupAllUsers", ОбъектГруппы.Ссылка = Пользователи.ГруппаВсеПользователи());
Выполняет поиск идентификаторов пользователей ИБ, используемых более одного раза, и либо вызывает исключение, либо возвращает найденных пользователей ИБ для дальнейшей обработки.
Пользователи.НайтиНеоднозначныхПользователейИБ(Пользователь, УникальныйИдентификатор,
НайденныеИдентификаторы, ИдентификаторПользователяСервиса)
Возвращает пользователя из справочника Пользователи, с которым сопоставлен пользователь ИБ с указанным именем.
Результат = Пользователи.НайтиПоИмени(ИмяДляВхода)
//
Процедура ПроверитьПолныеПрава(СтрПользователь) Экспорт
ТекПользователь = Пользователи.НайтиПоИмени(СтрПользователь);
Если ТекПользователь = Неопределено Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
СтрШаблон(НСтр("ru = 'Пользователь %1 отсутствует в информационной базе!'"), СтрПользователь));
КонецЕсли;
КонецПроцедуры
Записывает новые значения свойств указанному пользователю ИБ, либо создает нового пользователя ИБ. Если пользователь не существует, а также при попытке создания существующего пользователя будет вызвано исключение.
Пользователи.УстановитьСвойстваПользователяИБ(ИдентификаторПользователяИБ, ОписаниеПользователяИБ);
Возвращает текущего внешнего пользователя. Рекомендуется использовать в коде, который поддерживает только внешних пользователей. Если вход в сеанс выполнил не внешний пользователь, тогда будет вызвано исключение.
Запрос.УстановитьПараметр("Автор", ВнешниеПользователи.ТекущийВнешнийПользователь());
Заполняет номера картинок пользователей, групп пользователей, внешних пользователей и групп внешних пользователей во всех строках или указанной (см. параметр ИдентификаторСтроки) строке коллекции ТаблицаИлиДерево.
Пользователи.ЗаполнитьНомераКартинокПользователей(ПользователиУзлов, "Пользователь", "НомерКартинки");
Возвращает пользователя ИБ с указанным именем, создает пользователя ИБ и пользователя в справочнике в случае отсутствия. Если свойство ПарольУстановлен = Ложь, тогда в незаполненное свойство СохраняемоеЗначениеПароля устанавливается новое сгенерированное значение пароля, если у найденного пользователя ИБ пароль не установлен или создается новый пользователь ИБ. Если у найденного пользователя значения свойств отличаются от указанных, тогда они переустанавливаются.
ПользовательИБ = Пользователи.СлужебныйПользовательИБ(Свойства, ПользовательСсылка);
Проверяет, что у пользователя ИБ есть права для входа в программу интерактивно или через COM-объект. Поддерживается вызов из сеанса без установленных разделителей (без обращения к базе данных).
Возврат ПользовательИБ <> Неопределено
И Пользователи.ЕстьПраваДляВходаВПрограмму(ПользовательИБ,, Ложь);
Возвращает пользователя из справочника Пользователи или ВнешниеПользователи, с которым сопоставлен пользователь ИБ с указанным уникальным идентификатором. Поиск выполняется без учета существования пользователя информационной базы.
Результат = Пользователи.НайтиПоИдентификатору(ПодходящийПользовательИБ.УникальныйИдентификатор);
Возвращает текстовое представление "<Не указан>" для случаев, когда пользователь не указан или не выбран. См. также Пользователи.СсылкаНеуказанногоПользователя.
СтрокаТаблицы.Пользователь = Пользователи.ПолноеИмяНеуказанногоПользователя();
Описание свойств пароля, используемых в функции СоздатьПароль. С версии 8.3.22 используется ГенераторСлучайныхПаролей.
ПараметрыПароля = Пользователи.СвойстваПароля();
Копирует значения свойств пользователя ИБ с преобразованием в/из строковых идентификаторов для основного интерфейса, языка, режима запуска и ролей.
Пользователи.СкопироватьСвойстваПользователяИБ(Приемник, Источник, КопируемыеСвойства, ИсключаемыеСвойства, ПрефиксСвойств)
Создает новый пароль, соответствующий заданным правилам проверки сложности. Для облегчения запоминания, пароль формируется из слогов (согласная-гласная).
Результат = Пользователи.СоздатьПароль(НаименьшаяДлина, Сложный, УчестьНастройки)
//
НовыйПароль = Пользователи.СоздатьПароль(8, Истина);
Возвращает список пользователей, групп пользователей, внешних пользователей и групп внешних пользователей. Для использования в обработчиках событий ОкончаниеВводаТекста и АвтоПодбор.
Результат = Пользователи.СформироватьДанныеВыбораПользователя(Текст, ВключаяГруппы, ВключаяВнешнихПользователей, БезПользователей)
//
&НаКлиенте
Процедура ПользователиПолноеПредставлениеОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
Если ЗначениеЗаполнено(Текст) Тогда
СтандартнаяОбработка = Ложь;
ДанныеВыбора = СформироватьДанныеВыбораПользователя(Текст);
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция СформироватьДанныеВыбораПользователя(Знач Текст,
Знач ВключаяГруппы = Истина,
Знач ВключаяВнешнихПользователей = Неопределено,
Знач БезПользователей = Ложь)
Возврат Пользователи.СформироватьДанныеВыбораПользователя(
Текст,
ВключаяГруппы,
ВключаяВнешнихПользователей,
БезПользователей);
КонецФункции
Используется при обновлении и начальном заполнении информационной базы. Создает первого администратора и сопоставляет его с новым или существующим пользователем в справочнике Пользователи
Результат = Пользователи.СоздатьАдминистратора(ПользовательИБ)
//
&НаСервере
Процедура ЗаписатьПользователяСервер()
ОписаниеПользователяИБ = Новый Структура;
Если Не ТекущийПользователь.Пустая()
И Справочники.Пользователи.НайтиПоНаименованию("<Не указан>") <> Неопределено
И Справочники.Пользователи.НайтиПоНаименованию("<Не указан>") <> ТекущийПользователь Тогда
Пользователь = ТекущийПользователь.ПолучитьОбъект();
Иначе
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(НаименованиеПользователя);
Если ПользовательИБ = Неопределено Тогда
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = ПользовательИнфБазыИмя;
ПользовательИБ.ПолноеИмя = НаименованиеПользователя;
ПользовательИБ.Пароль = Пароль;
ПользовательИБ.Роли.Очистить();
ПользовательИБ.Роли.Добавить(Метаданные.Роли.ПолныеПрава);
РольАдминистратораСистемы = Метаданные.Роли.АдминистраторСистемы;
Если НЕ ПользовательИБ.Роли.Содержит(РольАдминистратораСистемы) Тогда
ПользовательИБ.Роли.Добавить(РольАдминистратораСистемы);
КонецЕсли;
ПользовательИБ.Записать();
КонецЕсли;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить(
"УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор);
// Пользователи.СоздатьАдминистратора
Пользователь = Пользователи.СоздатьАдминистратора(ПользовательИБ);
КонецЕсли;
ТекущийПользователь = Пользователь.Ссылка;
КонецПроцедуры
Возвращает сохраняемое значение пароля для указанного пароля.
Результат = Пользователи.СохраняемоеЗначениеСтрокиПароля(Пароль)
Удаляет указанного пользователя информационной базы.
Пользователи.УдалитьПользователяИБ(ИмяИлиИдентификатор)
//
&НаСервере
Процедура УдалитьПользователяИБ(ИдентификаторПользователяИБ, Отказ)
Попытка
Пользователи.УдалитьПользователяИБ(ИдентификаторПользователяИБ);
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()), , , , Отказ);
КонецПопытки;
КонецПроцедуры
Проверяет, сопоставлен ли пользователь ИБ с элементом справочника Пользователи или с элементом справочника ВнешниеПользователи.
Результат = Пользователи.ПользовательИБЗанят(ПользовательИБ, УчетнаяЗапись)
//
Функция СсылкаПользователяПоПолномуНаименованию(ПолноеИмя)
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка КАК Ссылка,
| Пользователи.ИдентификаторПользователяИБ
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Наименование = &ПолноеИмя";
Запрос.УстановитьПараметр("ПолноеИмя", ПолноеИмя);
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Если НЕ Пользователи.ПользовательИБЗанят(Выборка.ИдентификаторПользователяИБ) Тогда
Результат = Выборка.Ссылка;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
Возвращает реквизиты объекта, которые разрешается редактировать с помощью обработки группового изменения реквизитов.
Возврат РаботаСФайлами.РеквизитыРедактируемыеВГрупповойОбработке();
Возвращает сведения о файле. Используется в различных командах работы с файлами и как значение параметра ДанныеФайла в других процедурах и функциях.
ДанныеФайла = РаботаСФайлами.ДанныеФайла(ЭлектронныйДокумент.Файл, ДополнительныеПараметры);
Инициализирует структуру параметров для размещения гиперссылки присоединенных файлов на форме.
ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
Обработчик выполнения дополнительных команд управления присоединенными файлами.
РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
Обработчик события ОбработкаОповещения управляемой формы владельца файла.
РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
Обработчик нажатия на поле предпросмотра.
РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
Обработчик перетаскивания на поле предпросмотра.
РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
Обработчик проверки перетаскивания на поле предпросмотра.
РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
Создает объект в справочнике для хранения файла и заполняет его реквизиты переданными свойствами.
Результат = РаботаСФайлами.ДобавитьФайл(ПараметрыФайла,
АдресФайлаВоВременномХранилище,
АдресВременногоХранилищаТекста,
Описание,
НоваяСсылкаНаФайл)
//
ПараметрыФайла = Новый Структура();
ПараметрыФайла.Вставить("Автор", Пользователи.АвторизованныйПользователь());
ПараметрыФайла.Вставить("ВладелецФайлов", Реквизиты.Документ);
ПараметрыФайла.Вставить("ИмяБезРасширения", Строка(Новый УникальныйИдентификатор));
ПараметрыФайла.Вставить("РасширениеБезТочки", "xml");
ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное");
ПрисоединенныйФайл = РаботаСФайлами.ДобавитьФайл(
ПараметрыФайла,
АдресФайлаВоВременномХранилище,,,
Справочники.ГИСМПрисоединенныеФайлы.ПолучитьСсылку());
Возвращает двоичные данные файла.
//Сохранение данных файла на сервере:
ДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(Файл, Ложь);
Если ДанныеФайла <> Неопределено Тогда
ДанныеФайла.Записать(ПутьКФайлу);
КонецЕсли;
//
Рисунок.Картинка = Новый Картинка(РаботаСФайлами.ДвоичныеДанныеФайла(Выборка.ПрисоединенныйФайл));
//
АдресФайлаВыгрузки = ПоместитьВоВременноеХранилище(РаботаСФайлами.ДвоичныеДанныеФайла(Доверенность),
Новый УникальныйИдентификатор);
Открывает файл для просмотра или редактирования.
РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла, ДляРедактирования)
//
&НаКлиенте
Процедура ОткрытьФайл(Команда)
ДанныеФайла = ПолучитьДанныеФайлаНаСервере(Объект.Ссылка, УникальныйИдентификатор);
Если ДанныеФайла <> Неопределено Тогда
РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла, Ложь);
КонецЕсли;
КонецПроцедуры
Инициализирует структуру параметров для получения данных файла. См. РаботаСФайлами.ДанныеФайла.
Результат = РаботаСФайламиКлиентСервер.ПараметрыДанныхФайла()
Инициализирует структуру параметров для добавления файла. Для использования в РаботаСФайлами.ДобавитьВФайл.
Результат = РаботаСФайлами.ПараметрыДобавленияФайла(ДополнительныеРеквизиты)
Обновляет свойства файла без учета версий: двоичные данные, текст, дату изменения, а также другие необязательные свойства. Использовать только для файлов, которые не хранят версии.
РаботаСФайлами.ОбновитьФайл(ПрисоединенныйФайл, ИнформацияОФайле)
//
Процедура ОбновитьДанныеЭД(Знач СообщениеОбмена, Знач ДвоичныеДанныеЭД) Экспорт
ПрисоединенныйФайл = ОбменСБанкамиСлужебный.ПрисоединенныйФайл(СообщениеОбмена);
ИнформацияОФайле = Новый Структура;
ИнформацияОФайле.Вставить("АдресФайлаВоВременномХранилище", ПоместитьВоВременноеХранилище(ДвоичныеДанныеЭД));
ИнформацияОФайле.Вставить("АдресВременногоХранилищаТекста", "");
РаботаСФайлами.ОбновитьФайл(ПрисоединенныйФайл, ИнформацияОФайле);
КонецПроцедуры
Открывает диалог сохранения файл, где пользователь может определить путь и имя для сохранения файла.
РаботаСФайламиКлиент.СохранитьФайлКак(ДанныеФайла, ОбработчикЗавершения)
//
&НаКлиенте
Процедура ПолучитьФайлПродолжить(Результат, ДанныеФайла) Экспорт
Если Результат = "Открыть" Тогда
РаботаСФайламиКлиент.ОткрытьФайл(ДанныеФайла);
ИначеЕсли Результат = "Сохранить" Тогда
РаботаСФайламиКлиент.СохранитьФайлКак(ДанныеФайла);
КонецЕсли;
КонецПроцедуры
Находит все присоединенные к объекту файлы и добавляет ссылки на них в свойство Файлы.
РаботаСФайлами.ЗаполнитьПрисоединенныеФайлыКОбъекту(ВладелецФайла, Файлы)
Открывает форму файла. Может использоваться как обработчик открытия файла.
РаботаСФайламиКлиент.ОткрытьФормуФайла(ПрисоединенныйФайл, СтандартнаяОбработка, ДополнительныеПараметры, ОписаниеОповещенияОЗакрытии)
Возвращает двоичные данные файла.
ДвоичныеДанныеФайлов = РаботаСФайлами.ДвоичныеДанныеФайлов(МассивПрисоединенныхФайлов);
Инициализирует структуру со сведениями о файле.
СведенияОФайле = РаботаСФайламиКлиентСервер.СведенияОФайле("Файл");
Инициализирует структуру параметров для асинхронного получения присоединенного файла.
ПараметрыПолученияФайла = РаботаСФайламиКлиент.ПараметрыАсинхронногоПолученияФайла("СохранитьКак", "РаботаСФайламиСлужебный.ДанныеФайлаДляСохраненияАсинхронный");
Открывает диалог выбора файлов для помещения в программу одного или нескольких файлов.
РаботаСФайламиКлиент.ДобавитьФайлы(ВладелецФайла, ИдентификаторФормы, Фильтр, ГруппаФайлов, ОбработчикРезультата)
//
&НаКлиенте
Процедура ДобавитьФайл()
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
ГруппаФайлов = Неопределено;
Если ТекущиеДанные <> Неопределено И ТекущиеДанные.ЭтоГруппа И ТекущиеДанные.ВладелецФайла = Параметры.ВладелецФайла Тогда
ГруппаФайлов = ТекущиеДанные.Ссылка;
КонецЕсли;
Если ЭтоВладелецЭлементовСправочникаФайлы Тогда
РаботаСФайламиСлужебныйКлиент.ДобавитьФайлИзФайловойСистемы(Параметры.ВладелецФайла, ЭтотОбъект);
Иначе
// РаботаСФайламиКлиент.ДобавитьФайлы
РаботаСФайламиКлиент.ДобавитьФайлы(Параметры.ВладелецФайла, УникальныйИдентификатор, , ГруппаФайлов);
КонецЕсли;
КонецПроцедуры
Возвращает новую ссылку на файл для указанного владельца файла. В частности, ссылка используется при добавлении файла в функции ДобавитьФайл.
Результат = РаботаСФайлами.НоваяСсылкаНаФайл(ВладелецФайлов, ИмяСправочника)
Показать предупреждение перед закрытием формы объекта в том случае, если у пользователя остались захваченные файлы, присоединенные к этому объекту. Вызывается из события ПередЗакрытием форм с файлами. Если захваченные файлы остались, то в параметре Отказ устанавливается значение Истина, а пользователю задается вопрос. Если пользователь ответил утвердительно, то форма закрывается.
РаботаСФайламиКлиент.ПоказатьПодтверждениеЗакрытияФормыСФайлами(ЭтотОбъект, Отказ, ЗавершениеРаботы, Объект.Ссылка);
Открывает форму выбора файлов. Используется в обработчике выбора для переопределения стандартного поведения.
РаботаСФайламиКлиент.ОткрытьФормуВыбораФайлов(ВладелецФайлов, ЭлементФормы, СтандартнаяОбработка, ОписаниеОповещенияОВыборе)
Выполняет подписание файла электронной подписью. При отсутствии подсистемы "Электронная подпись" будет показано предупреждение о невозможности добавления электронной подписи.
РаботаСФайламиКлиент.ПодписатьФайл(СвойстваПрисоединенногоФайла.ПрисоединенныйФайл, УникальныйИдентификатор);
Открывает в стандартной программе просмотра (проводнике) каталог на компьютере, в котором размещен указанный файл.
РаботаСФайламиКлиент.ОткрытьКаталогФайла(ДанныеФайла)
Добавляет электронную подпись к файлу.
РаботаСФайлами.ДобавитьПодписьКФайлу(ПрисоединенныйФайл, СвойстваПодписи, УникальныйИдентификатор);
Выполняет печать файлов на принтер.
РаботаСФайламиКлиент.НапечататьФайлы(ВыделенныеСтроки, ЭтотОбъект.УникальныйИдентификатор);
Инициализирует структуру параметров для размещения поля присоединенного файла на форме.
ПараметрыПоля = РаботаСФайлами.ПолеФайла();
Получает файл из хранилища файлов в рабочий каталог пользователя. Аналог интерактивного действия Просмотреть или Редактировать без открытия полученного файла. Свойство ТолькоПросмотр полученного файла будет установлено в зависимости от того, захвачен файл для редактирования или нет. Если не захвачен - устанавливается только просмотр. Если в рабочем каталоге уже существует файл, тогда он будет удален и заменен файлом, полученным из хранилища файлов.
РаботаСФайламиКлиент.ПолучитьПрисоединенныйФайл(
Оповещение,
ПрисоединенныйФайл,
УникальныйИдентификатор,
Новый Структура("ДанныеФайла, ДляРедактирования", ДанныеФайла, Ложь));
Открывает форму нового файла с копией указанного файла.
РаботаСФайламиКлиент.СкопироватьФайл(Объект.Ссылка, ТекущиеДанные.Ссылка, ПараметрыФормы);
Открывает список электронных подписей файла и предлагает выбрать подписи для сохранения вместе с файлом по выбранному пользователем пути. Имя файл подписи формируется из имени файла и автора подписи с расширением "p7s". При отсутствии в конфигурации подсистемы "Электронная подпись" сохранение файла не будет выполнено.
РаботаСФайламиКлиент.СохранитьВместеСЭП(ПрисоединенныйФайл, УникальныйИдентификатор);
Возвращает персональные настройки работы с файлами.
НастройкиРаботыСФайлами = РаботаСФайлами.НастройкиРаботыСФайлами();
Открывает форму списка файлов.
РаботаСФайламиКлиент.ОткрытьФормуСпискаФайлов(СтрокаСписка.Ссылка,, ЭтотОбъект);
Помещает файл из рабочего каталога пользователя в хранилище файлов. Аналог интерактивного действия Закончить редактирование.
РаботаСФайламиКлиент.ПоместитьПрисоединенныйФайл(
Оповещение,
Информация.Файл,
Форма.УникальныйИдентификатор);
Открывает форму настройки сканирования из пользовательских настроек.
РаботаСФайламиКлиент.ОткрытьФормуНастройкиСканирования();
Определяет возможность прикрепления добавляемого файла к владельцу файлов.
Результат = РаботаСФайлами.КОбъектуМожноПрисоединятьФайлы(ВладелецФайловСсылка);
Обработчик подписки на событие ПередЗаписью владельца присоединенного файла. Помечает на удаление связанные файлы.
РаботаСФайлами.УстановитьПометкуУдаленияПрисоединенныхФайлов(Источник, Отказ);
Обработчик подписки на событие ПередЗаписью владельца присоединенного файла. Помечает на удаление связанные файлы.
РаботаСФайлами.УстановитьПометкуУдаленияПрисоединенныхФайловДокументов(Источник, Отказ, РежимЗаписи, РежимПроведения);
Находит настройки варианта отчета. Используется для настройки размещения. Для использования в ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
Результат = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, КлючВарианта)
Подсистема "Варианты отчетов". Используете ли Вы ее правильно?
Возвращает настройки указанного отчета. Используется для настройки размещения и общих параметров отчета в ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
Результат = ВариантыОтчетов.ОписаниеОтчета(Настройки, Отчет)
Устарела. Следует использовать ОтчетыКлиентСервер.НастройкиОтчетаПоУмолчанию. Настройки формы отчета по умолчанию.
НастройкиОтчета = ОтчетыКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию();
Устанавливает отчету переданную схему и на основании нее, инициализирует компоновщик настроек.
// В обработчике объекта отчета ПередЗагрузкойНастроекВКомпоновщик компоновщик настроек
// инициализируется на основании схемы из общих макетов:
Если КлючСхемы <> "1" Тогда
КлючСхемы = "1";
Схема = ПолучитьОбщийМакет("МояОбщаяСхемаКомпоновки");
ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, Схема, КлючСхемы);
КонецЕсли;
//
Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы,
КлючВарианта, НовыеНастройкиКД,
НовыеПользовательскиеНастройкиКД) Экспорт
Если ТипЗнч(Контекст) = Тип("ФормаКлиентскогоПриложения") Тогда
НастроитьПараметрыОтчетаПоВариантуОтчета(Контекст.НастройкиОтчета, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД);
ОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКомпоновкиДанных, КлючСхемы);
КонецЕсли;
КонецПроцедуры
Вызывает модуль менеджера отчета для заполнения его настроек. Для вызова из процедуры ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, ОтчетМетаданные)
Устанавливает режим вывода Отчетов и Вариантов в панелях отчетов. Для вызова из процедуры ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов переопределяемого модуля и из процедуры НастроитьВариантыОтчета модуля объекта отчета.
ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, ОписаниеОтчета, ВыводитьВариантыОтчетов);
Добавляет выбранное поле компоновки данных.
ОтчетыСервер.ДобавитьВыбранноеПоле(НастройкиОтчета.Выбор, "УстановленноеЗначение");
Определяет, что отчет пустой.
ДопСвойства.Вставить("ОтчетПустой", ОтчетыСервер.ОтчетПустой(ЭтотОбъект, ПроцессорКомпоновки));
Выводит команду в форму отчета в виде кнопки в указанную группу. Также регистрирует команду, защищая ее от удаления при перерисовке формы. Для вызова из события ПриСозданииНаСервере формы отчета.
ОтчетыСервер.ВывестиКоманду(Форма, Команда, "Настройки");
Открывает панель отчетов. Для использования из модулей общих команд.
ВариантыОтчетовКлиент.ПоказатьПанельОтчетов("Зарплата.ВыплатыПеречисления", ПараметрыВыполненияКоманды);
Устанавливает колонтитулы в табличном документе.
УправлениеКолонтитулами.УстановитьКолонтитулы(ТабличныйДокумент);
Возвращает ссылку на вариант отчета.
ВариантОтчета = ВариантыОтчетов.ВариантОтчета(
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ОтчетОбъект.Метаданные()), КлючПредопределенногоВарианта);
Превращает тип отчета в строковый идентификатор.
| ВариантыОтчетов.ТипОтчета
Обработчик команд, добавленных динамически и подключенных к обработчику "Подключаемый_Команда". Пример добавления команды см. ОтчетыПереопределяемый.ПриСозданииНаСервере().
ОтчетыКлиентПереопределяемый.ОбработчикКоманды(ЭтотОбъект, Команда, Результат);
Идентификатор, который используется для начальной страницы в модуле ВариантыОтчетовПереопределяемый.
ОписаниеВарианта.Размещение.Вставить(ВариантыОтчетовКлиентСервер.ИдентификаторНачальнойСтраницы());
Находит доступную настройку для отбора или параметра.
ДоступнаяНастройка = ОтчетыКлиентСервер.НайтиДоступнуюНастройку(КомпоновщикНастроек.Настройки, Параметр);
Обработчик расшифровки табличного документа формы отчета. См. "Расширение поля формы для поля табличного документа.ОбработкаРасшифровки" в синтакс-помощнике.
ОтчетыКлиентПереопределяемый.ОбработкаРасшифровки(ЭтотОбъект, Элемент, Расшифровка, СтандартнаяОбработка);
Открывает форму указанного отчета.
ВариантыОтчетовКлиент.ОткрытьФормуОтчета(Неопределено, ОписаниеВариантаОтчета.ВариантОтчета, ДополнительныеПараметры);
Возвращает информацию об отчете, включающую ссылку и тип отчета, по полному имени отчета.
Информация = ВариантыОтчетов.ИнформацияОбОтчете(НастройкиОтчета.ПолноеИмя);
Загружает новые настройки в компоновщик без сброса пользовательских настроек.
НастройкиЗагружены = ОтчетыКлиентСервер.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек, ДоступныеНастройки.Настройки,
ДоступныеНастройки.ПользовательскиеНастройки, ДоступныеНастройки.ФиксированныеНастройки);
Обработчик дополнительной расшифровки (меню табличного документа формы отчета). См. "Расширение поля формы для поля табличного документа.ОбработкаДополнительнойРасшифровки" в синтакс-помощнике.
ОтчетыКлиентПереопределяемый.ОбработкаДополнительнойРасшифровки(ЭтотОбъект,
Элемент, Расшифровка, СтандартнаяОбработка);
Обработчик двойного щелчка мыши, нажатия клавиши Enter или гиперссылки в табличном документе формы отчета. См. "Расширение поля формы для поля табличного документа.Выбор" в синтакс-помощнике.
ОтчетыКлиентПереопределяемый.ОбработкаВыбораТабличногоДокумента(ЭтотОбъект, Элемент, Область,
СтандартнаяОбработка);
Обработчик результата выбора подчиненной формы. См. "ФормаКлиентскогоПриложения.ОбработкаВыбора" в синтакс-помощнике.
ОтчетыКлиентПереопределяемый.ОбработкаВыбора(ЭтотОбъект, Результат, ПодчиненнаяФорма, РезультатОбработан);
Инициализирует компоновщик настроек компоновки данных, с обработкой исключения.
ОтчетыСервер.ИнициализироватьКомпоновщикНастроек(КомпоновщикНастроек2, АдресСхемы);
Обработчик широковещательного оповещения формы отчета. См. "ФормаКлиентскогоПриложения.ОбработкаОповещения" в синтакс-помощнике.
ОтчетыКлиентПереопределяемый.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник, ОповещениеОбработано);
Проверяет что таблицы, используемые в схеме или запросе, еще обновляются, и сообщает об этом пользователю. Проверка выполняется методом ОбновлениеИнформационнойБазы.ОбъектОбработан(). Обработка исключений (например, в случае передачи некорректного текста запроса) выполняется вызывающим кодом.
ВариантыОтчетов.ПроверитьИспользуемыеТаблицы(ИспользуемыеТаблицы);
Запись в журнал регистрации.
ВариантыОтчетов.ЗаписатьВЖурнал(УровеньЖурналаРегистрации.Предупреждение, ПодробноеПредставлениеОшибки, НастройкиОтчета.ВариантСсылка);
Определяет значения типа ИспользованиеГруппИЭлементов в зависимости от вида сравнения (приоритетно) или исходного значения.
ВыборГруппИЭлементов = ОтчетыКлиент.ЗначениеТипаИспользованиеГруппИЭлементов(
?(ОписаниеНастроек = Неопределено, Неопределено, ОписаниеНастроек.ВыборГруппИЭлементов), Условие);
По составу ролей определяет полные права к данным подсистемы.
Результат = ВариантыОтчетов.ПолныеПраваНаВарианты();
Возвращает Истина если у пользователя есть право на сохранение вариантов отчетов.
Результат = ВариантыОтчетовПовтИсп.ПравоДобавления();
Запускает процесс формирования отчета в форме отчета. После завершения формирования вызывается ОбработчикЗавершения.
ОтчетыКлиент.СформироватьОтчет(ЭтотОбъект, Обработчик);
Извлекает информацию о таблицах, используемых в схеме или запросе. Обработка исключений (например, в случае передачи некорректного текста запроса) выполняется вызывающим кодом.
ИспользуемыеТаблицы = ВариантыОтчетов.ИспользуемыеТаблицы(ОтчетОбъект.СхемаКомпоновкиДанных);
Формирует список вариантов отчетов конфигурации, недоступных текущему пользователю по функциональным опциям. Следует использовать во всех запросах к таблице справочника "ВариантыОтчетов" как исключающий отбор по реквизиту "ПредопределенныйВариант".
Запрос.УстановитьПараметр("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы());
Выполняет сдвиг периода назад или вперед.
ОтчетыКлиент.СдвинутьПериод(ЭтотОбъект, Команда.Имя);
Определяет свойства параметров вывода, влияющих на отображение заголовка, параметров данных и отборов:
- Выводить заголовок;
- Заголовок;
- Выводить параметры данных;
- Выводить отбор;
ОтчетыСервер.ИнициализироватьПредопределенныеПараметрыВывода(
НастройкиОтчета,
Отчет.КомпоновщикНастроек.Настройки,
ОтчетыСервер.ТребуетсяСброситьПредопределенныеПараметрыВывода(ПараметрыЗагрузки));
Проверяет свободно ли наименование варианта отчета.
Результат = ВариантыОтчетов.НаименованиеЗанято(ВариантОбъект.Отчет, ВариантОбъект.Ссылка, ВариантОбъект.Наименование);
Определяет подключен ли отчет к хранилищу вариантов отчетов.
Результат = ВариантыОтчетов.ОтчетПодключенКХранилищу(МетаданныеОтчета);
Возвращает отчеты (СправочникСсылка.ВариантыОтчетов), доступные текущему пользователю. Их следует использовать во всех запросах к таблице справочника "ВариантыОтчетов" как отбор по реквизиту "Отчет", кроме случаев выборки вариантов из внешних отчетов.
ДоступныеОтчеты = ВариантыОтчетов.ОтчетыТекущегоПользователя();
Возвращает полное описание элемента настройки, включая элемент пользовательской настройки, доступное поле отбора компоновки данных, индекс и сами настройки компоновки данных, которым подчинен текущий элемент.
Сведения = ОтчетыКлиент.СведенияОЭлементеНастройки(Отчет.КомпоновщикНастроек, Элемент.Имя);
Вызывает диалог редактирования стандартного периода.
ОтчетыКлиент.ВыбратьПериод(ЭтотОбъект, Команда.Имя);
Формирует список отчетов конфигурации, доступных текущему пользователю. Его следует использовать во всех запросах к таблице справочника "ВариантыОтчетов" как отбор по реквизиту "Отчет".
ДоступныеОтчеты.ЗагрузитьЗначения(Новый Массив(ВариантыОтчетовПовтИсп.ДоступныеОтчеты()));
Собирает статистику по количеству пользовательских настроек в разрезе режимов отображения.
КоличествоДоступныхНастроек = ОтчетыСервер.КоличествоДоступныхНастроек(Отчет.КомпоновщикНастроек);
Обновляет состав справочника ПользовательскиеНастройкиОтчетов после сохранения новой настройки. Вызывается в одноименном обработчике формы отчета после выполнения кода формы.
ВариантыОтчетов.ПриСохраненииПользовательскихНастроекНаСервере(ЭтотОбъект, ПользовательскиеНастройкиКД);
Возвращает текст сообщения о том, что данные отчета еще обновляются.
ОбщегоНазначения.СообщитьПользователю(ВариантыОтчетов.СообщениеДанныеЕщеОбновляются());
Инициализирует значение элемента настройки периода.
ОтчетыКлиент.УстановитьПериод(ЭтотОбъект, Элемент.Имя);
Открывает форму выбора пользователей, (групп) пользователей.
ВариантыОтчетовКлиент.ПоделитьсяПользовательскимиНастройками(ОписаниеНастроек);
Начинает замер времени ключевой операции. Результат замера будет записан в регистр сведений ЗамерыВремени.
Результат = ОценкаПроизводительностиКлиент.ЗамерВремени(КлючеваяОперация, ФиксироватьСОшибкой, АвтоЗавершение)
//
УИДЗамера = ОценкаПроизводительностиКлиент.ЗамерВремени("Обработка.ВыполнениеОпераций.Форма.ОбновитьДанные",, Ложь);
Начинает замер времени ключевой операции. Закончить замер нужно явно вызовом процедуры ЗакончитьЗамерВремени или ЗакончитьЗамерВремениТехнологический.
Результат = ОценкаПроизводительности.НачатьЗамерВремени()
//
Функция ОперацииПоЯндексКассе(Знач ВходящиеПараметры) Экспорт
ВремяНачала = ОценкаПроизводительности.НачатьЗамерВремени();
КлючеваяОперация = "ИнтеграцияСЯндексКассой.ПолучениеОперацийПоЯндексКассе";
КоличествоПовторяющихсяДанных = 0;
Для каждого ПараметрыПолучения Из ПараметрыПолученияОпераций Цикл
КоличествоПовторяющихсяДанных = КоличествоПовторяющихсяДанных + 1;
...
КонецЦикла;
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала, КоличествоПовторяющихсяДанных);
КонецФункции
Начинает замер времени выполнения длительной ключевой операции. Закончить замер нужно явно вызовом процедуры ЗакончитьЗамерДлительнойОперации.
Результат = ОценкаПроизводительностиКлиент.НачатьЗамерДлительнойОперации(КлючеваяОперация, ФиксироватьСОшибкой, АвтоЗавершение, ИмяПоследнегоШага)
//
Процедура ВыполнитьКлиентскуюДиагностику(ПараметрыВыполнения)
Замер = ОценкаПроизводительностиКлиент.НачатьЗамерДлительнойОперации(
"ОбщийМодуль.ОбменСКонтрагентамиДиагностикаКлиент.ВыполнитьКлиентскуюДиагностику");
ПараметрыВыполнения.ЗамерДиагностикиНаКлиенте = Замер;
Контекст = Новый Структура;
Контекст.Вставить("ПараметрыВыполнения", ПараметрыВыполнения);
ОбработчикЗавершения = Новый ОписаниеОповещения("ПослеВыполненияКлиентскойДиагностики", ЭтотОбъект);
Обработчики = Новый Массив;
Обработчики.Добавить(Новый ОписаниеОповещения("ДиагностикаКриптографии", ЭтотОбъект, Контекст));
Обработчики.Добавить(Новый ОписаниеОповещения("ТестАутентификации", ЭтотОбъект, Контекст));
АсинхронныйЦиклНачать(ОбработчикЗавершения, Неопределено, Обработчики, Контекст);
КонецПроцедуры
Процедура ПослеВыполненияКлиентскойДиагностики(Контекст, ДополнительныеПараметры = Неопределено) Экспорт
..
ОценкаПроизводительностиКлиент.ЗакончитьЗамерДлительнойОперации(Контекст.ПараметрыВыполнения.ЗамерДиагностикиНаКлиенте, 1);
КонецПроцедуры
Завершает замер длительной операции. Для вызова с клиента модуль - ОценкаПроизводительностиКлиент.
ОценкаПроизводительностиКлиент.ЗакончитьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных, ИмяШага, Комментарий)
//
Процедура ПостроитьДеревоСебестоимости(ПараметрыДерева, ПараметрыУзла = Неопределено) Экспорт
Замер = ОценкаПроизводительности.НачатьЗамерДлительнойОперации("ОбщийМодуль.СтруктураСебестоимости.ПостроитьДеревоСебестоимости");
ПараметрыДерева.Вставить("КоличествоСтрок", 0);
ЗаполнитьДеревоСебестоимости(ПараметрыДерева, ПараметрыУзла);
ОценкаПроизводительности.ЗакончитьЗамерДлительнойОперации(Замер, ПараметрыДерева.КоличествоСтрок / 1000);
КонецПроцедуры
Фиксирует замер вложенного шага длительной операции.
ОценкаПроизводительностиКлиент.ЗафиксироватьЗамерДлительнойОперации(ОписаниеЗамера, КоличествоДанных, ИмяШага, Комментарий)
Завершает замер времени ключевой операции и записывает результат в регистр сведений ЗамерыВремени.
ОценкаПроизводительности.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала, ВесЗамера, Комментарий, ВыполненСОшибкой)
//
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ВремяНачала = ОценкаПроизводительности.НачатьЗамерВремени();
УчетРабочегоВремениРасширенный.ЗаписатьДанныеГрафика(
ТекущийОбъект.Ссылка, ДанныеГрафика, НомерТекущегоГода,
НЕ СреднемесячныеНормыВремениГрафиковРаботыСотрудников.УстановленыВРучную, Ложь);
ОценкаПроизводительности.ЗакончитьЗамерВремени(
"ЗаписьЭлементаСправочникаГрафикиРаботыСотрудников",
ВремяНачала);
КонецПроцедуры
Завершает замер времени на клиенте.
ОценкаПроизводительностиКлиент.ЗавершитьЗамерВремени(УИДЗамера, ВыполненСОшибкой)
//
&НаКлиенте
Процедура ОбновитьДанные()
УИДЗамера = ОценкаПроизводительностиКлиент.ЗамерВремени("Обработка.ВыполнениеОперацийФорма.ОбновитьДанные",, Ложь);
ЗаполнитьДанныеВнутриЗамераВремени();
ОценкаПроизводительностиКлиент.ЗавершитьЗамерВремени(УИДЗамера);
КонецПроцедуры
Устанавливает ключевую операцию замера.
ОценкаПроизводительностиКлиент.УстановитьКлючевуюОперациюЗамера(УИДЗамера, КлючеваяОперация)
//
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
ОценкаПроизводительностиКлиент.УстановитьКлючевуюОперациюЗамера(ИдентификаторЗамераПроведениеНеНужнаРегистрацияОшибки,
"ПроведениеДокументаИндивидуальныйГрафик");
КонецЕсли;
КонецПроцедуры
Устанавливает комментарий операции замера.
ОценкаПроизводительностиКлиент.УстановитьКомментарийЗамера(Замер,
Новый Структура("ИдентификаторРезультата", Объект.ИдентификаторРезультата));
Функция определяет необходимость выполнения замеров.
ВыполнятьЗамерыПроизводительности = ОценкаПроизводительностиВызовСервераПовтИсп.ВыполнятьЗамерыПроизводительности();
Завершает замер времени ключевой операции и записывает результат в регистр сведений ЗамерыВремениТехнологические.
ОценкаПроизводительности.ЗакончитьЗамерВремениТехнологический(ИмяЗамера, Замер);
Устанавливает признак ошибки операции замера.
ОценкаПроизводительностиКлиент.УстановитьПризнакОшибкиЗамера(ДополнительныеПараметры.ЗамерПроизводительности, Ложь);
Создает ключевые операции в случае их отсутствия.
ОценкаПроизводительности.СоздатьКлючевыеОперации(КлючевыеОперации);
Возвращает сведения об адресе в виде отдельных частей адреса и различных кодов (код региона, ОКТМО и др.).
Результат = РаботаСАдресами.СведенияОбАдресе(Адрес, ДополнительныеПараметры)
Возвращает таблицу, содержащую контактную информацию объекта.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(СсылкаИлиОбъект,
ВидИлиТипКонтактнойИнформации,
Дата,
ТолькоПредставление)
//
Процедура ЗаполнитьДанныеОрганизации()
ТелефоныОрганизации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(
Организация,
Справочники.ВидыКонтактнойИнформации.ТелефонОрганизации,
?(ЗначениеЗаполнено(Дата), Дата, ТекущаяДатаСеанса()),
Ложь);
Если ТелефоныОрганизации.Количество() > 0 Тогда
РеквизитыДокумента.ТелефонУполномоченногоПредставителя = ТелефоныОрганизации[0].Значение;
Иначе
РеквизитыДокумента.ТелефонУполномоченногоПредставителя = "";
КонецЕсли;
КонецПроцедуры
Открывает подходящую форму контактной информации для редактирования или просмотра.
Результат = УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации(Параметры, Владелец, Оповещение)
Возвращает представление контактной информации (адреса, телефона, электронной почты и т.п.).
Результат = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(КонтактнаяИнформация, ВидКонтактнойИнформации)
Работаем с контактной информацией в конфигурациях на БСП
Конструктор для структуры параметров открытия формы контактной информации. Состав полей может быть расширен в общем модуле РаботаСАдресамиКлиент свойствами с национальной спецификой.
Результат = УправлениеКонтактнойИнформациейКлиент.ПараметрыФормыКонтактнойИнформации(ВидКонтактнойИнформации, Значение, Представление, Комментарий, ТипКонтактнойИнформации)
Преобразует все входящие форматы контактной информации в XML.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(ЗначенияПолей, Представление, ОжидаемыйВид)
Возвращает признак того, является ли строка данных контактной информации XML данными.
Результат = УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВXML(Текст)
Преобразует входящие форматы контактной информации во внутренний формат JSON.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(КонтактнаяИнформация, ОжидаемыйВид)
Преобразует представление контактной информации во внутренний формат JSON. Для адресов, введенных в свободной форме, корректное преобразование не гарантируется.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(Представление, ОжидаемыйВид)
Возвращает таблицу, содержащую контактную информацию нескольких объектов.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(СсылкиИлиОбъекты, ТипыКонтактнойИнформации, ВидыКонтактнойИнформации, Дата)
Возвращает параметры вида контактной информации для указанного типа. Для совместного использования с процедурами УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации и УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации.
ВидКонтактнойИнформации = УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации(
Перечисления.ТипыКонтактнойИнформации.Адрес);
Возвращает признак того, является ли строка данных контактной информации JSON данными.
Результат = УправлениеКонтактнойИнформациейКлиентСервер.ЭтоКонтактнаяИнформацияВJSON(Текст)
Возвращает данные страны по коду.
ИнформацияОСтране = УправлениеКонтактнойИнформацией.ДанныеКлассификатораСтранМираПоКоду(
КодСтраны, "КодАльфа2");
Обработчик события НачалоВыбора поля формы контактной информации. Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
УправлениеКонтактнойИнформациейКлиент.НачатьВыбор(ЭтотОбъект, Элемент,, СтандартнаяОбработка);
Проверяет, соответствует ли переданный тип адреса муниципальному делению. Функция сравнивает входную строку с каноническим представлением типа адреса, возвращаемым функцией МуниципальныйАдрес().
Результат = РаботаСАдресамиКлиентСервер.ЭтоМуниципальныйАдрес(СтруктураАдреса.ТипАдреса);
Вычисляет, что адрес был введен в свободной форме.
АдресВСвободнойФорме = УправлениеКонтактнойИнформацией.АдресВведенВСвободнойФорме(АдресЗначение);
Добавляет контактную информацию к объекту по представлению или JSON.
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(
КонтактноеЛицо,
ДанныеЗаполнения.ФактическийАдрес,
Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента);
Возвращает каноническую строку, обозначающую муниципальный тип адреса. Используется для унификации сравнений и идентификации типа адреса в других функциях, например, в функции РаботаСАдресами.ПредставлениеАдресногоЭлементаПоУровню - для корректного получения представления адресного элемента с учетом типа деления.
Результат = РаботаСАдресамиКлиентСервер.МуниципальныйАдрес();
Возвращает каноническую строку, обозначающую административноR09;территориальный тип адреса. Используется для унификации сравнений и идентификации типа адреса в других функциях, например, в функции РаботаСАдресами.ПредставлениеАдресногоЭлементаПоУровню - для корректного получения представления адресного элемента с учетом типа деления.
ПараметрыАдреса.addressType = РаботаСАдресамиКлиентСервер.АдминистративноТерриториальныйАдрес();
Преобразует структуру полей адреса, полученную функций СведенияОбАдресе или РаботаСАдресамиКлиентСервер.ПоляАдреса во внутренний формат хранения контактной информации JSON.
Параметры.Значение = РаботаСАдресами.ПоляАдресаВJSON(СведенияОбАдресе);
Возвращает информацию о стране адреса. Если переданная строка не содержит информации об адресе, то будет вызвано исключение. Если передана пустая строка, то возвращается пустая структура. Если страна не существует в справочнике, но есть в классификаторе стран, то поле Ссылка результата не будет заполнено. Если страна не существует в классификаторе стран, то будет заполнено только поле Наименование.
ДанныеСтраны = УправлениеКонтактнойИнформацией.СтранаАдресаКонтактнойИнформации(АдресЗначение);
Возвращает данные о стране по справочнику стран мира или классификатору.
ДанныеОСтране = УправлениеКонтактнойИнформацией.ДанныеСтраныМира(ПредставлениеСтраны);
Возвращает ссылку на вид контактной информации. Если по виден не был найден по имени, то выполняется поиск по именам предопределенных элементов.
ПараметрыОбновления.Элементы.Добавить(УправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("ТелефонТерриторииИПомещения"));
Устарела. Следует использовать УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению. Преобразует представление контактной информации в XML строку соответствующую структуре XDTO пакетам КонтактнаяИнформация и Адрес. Для адресов, введенных в свободной форме, корректное преобразование не гарантируется.
Адрес = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияXMLПоПредставлению(Представление, ВидКонтактнойИнформацииАдреса);
Описание ключей контактной информации для хранения ее значений в формате JSON. Список ключей может быть расширен национальными полями в одноименной функции общего модуля РаботаСАдресамиКлиентСервер.
НаселенныйПунктДетально = УправлениеКонтактнойИнформациейКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес);
Обработчик события АвтоПодбор поля формы контактной информации для подбора вариантов адреса по введенной строке. Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
УправлениеКонтактнойИнформациейКлиент.АвтоПодборАдреса(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка);
Возвращает адрес в виде строки XML в соответствии со структурой XDTO КонтактнаяИнформация и Адрес.
ЗначениеXML = РаботаСАдресами.АдресПоИдентификатору(ЭлементКоллекции.fiasCodes[0]);
Обработчик команды, связанной с контактной информацией (написать письмо, открыть адрес, и т.п.). Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
УправлениеКонтактнойИнформациейКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда.Имя);
Обработчик события ПриИзменении поля формы контактной информации. Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
УправлениеКонтактнойИнформациейКлиент.НачатьИзменение(ЭтотОбъект, Элемент);
Обработчик события Очистка поля формы контактной информации. Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
УправлениеКонтактнойИнформациейКлиент.НачатьОчистку(ЭтотОбъект, Элемент.Имя);
Добавляет (удаляет) поле ввода или комментарий на форму, обновляя данные. Вызывается из модуля формы объекта-владельца контактной информации.
УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
Обработчик события ОбработкаВыбора поля формы контактной информации. Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
УправлениеКонтактнойИнформациейКлиент.ОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, Элемент.Имя, СтандартнаяОбработка);
Возвращает представление контактной информации объекта.
Адрес = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(Склад,
Справочники.ВидыКонтактнойИнформации.АдресСклада);
Возвращает сведения о телефоне или факсе.
СтруктураТелефона = УправлениеКонтактнойИнформацией.СведенияОТелефоне(Выборка.ТелефонСоставителя);
Возвращает ссылку на элемент справочника страны мира по коду или наименованию. Если элемент справочника СтраныМиры не существует, то он будет создан на основании данных заполнения.
ДанныеСтраныМира = УправлениеКонтактнойИнформацией.СтранаМираПоКодуИлиНаименованию(СтрКодСтраны);
Текст, который выводится в поле контактной информации, когда контактная информация не заполнена и отображается в виде гиперссылки.
Возврат НЕ КонтактнаяИнформацияПолеАдресТорговойТочки = УправлениеКонтактнойИнформациейКлиентСервер.ТекстПустогоАдресаВВидеГиперссылки();
Обработчик навигационной ссылки для открытия веб-страницы. Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
УправлениеКонтактнойИнформациейКлиент.НачатьОбработкуНавигационнойСсылки(ЭтотОбъект, Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
Описание параметров контактной информации, используемых в обработчике ПриСозданииНаСервере.
ДополнительныеПараметрыКИ = УправлениеКонтактнойИнформацией.ПараметрыКонтактнойИнформации();
Обработчик для события формы ОбработкаПроверкиЗаполненияНаСервере. Вызывается из модуля формы объекта-владельца КИ при внедрении подсистемы.
УправлениеКонтактнойИнформацией.ОбработкаПроверкиЗаполненияНаСервере(ЭтотОбъект, Объект, Отказ);
Возвращает структуру полей адреса для программного формирования адреса.
СтруктураАдресаЗаписи = РаботаСАдресамиКлиентСервер.ПоляАдреса();
Проверяет адрес на соответствие требованиям к адресной информации.
МассивОшибок = РаботаСАдресами.ПроверитьАдрес(АдресРегистрации);
Возвращает сведения об адресе в виде отдельных частей адреса и различных кодов (код региона, ОКТМО и др.), где типы адресных объектов (свойство ТипКраткий), типы домов, зданий и помещений соответствуют приказу Минфина РФ N 171н. Если в качестве адреса передана пустая строка, функция вызывает конструктор для создания адреса с пустыми полями (аналогично поведению функции СведенияОбАдресе). В этом случае у возвращаемого значения будут отсутствовать поля: КодМуниципальногоРайона, КодПоселения и др.
АдресПоПриказуМинфина = РаботаСАдресами.СведенияОбАдресеПриказМинфинаРФ171н(АдресЗначение,
ОтборДляПолученияАдресаПоПриказуМинфина);
Проверяет, соответствует ли переданный тип адреса административноR09;территориальному делению. Функция сравнивает входную строку с каноническим представлением типа адреса, возвращаемым функцией АдминистративноТерриториальныйАдрес().
Результат = РаботаСАдресамиКлиентСервер.ЭтоАдминистративноТерриториальныйАдрес(ТипАдреса)
Возвращает комментарий контактной информации.
Результат = УправлениеКонтактнойИнформацией.КомментарийКонтактнойИнформации(ЗначениеКонтактнойИнформации);
Возвращает таблицу, содержащую контактную информацию нескольких объектов.
КИФизЛица = УправлениеКонтактнойИнформацией.КонтактнаяИнформация(СсылкаФизЛицо, ОтборКИ);
Конструктор параметра Отбор для функции КонтактнаяИнформация.
ОтборКИ = УправлениеКонтактнойИнформацией.ОтборКонтактнойИнформации();
Отображает адрес в браузере с помощью интерактивных карт. Например на Google Maps.
УправлениеКонтактнойИнформациейКлиент.ПоказатьАдресНаКарте(
ДополнительныеПараметры.Адрес,
ИмяКартографическогоСервиса.Значение);
Формирует строковое представление телефона.
ТелефонБезДобавочного = УправлениеКонтактнойИнформациейКлиентСервер.СформироватьПредставлениеТелефона(
СведенияОТелефоне.КодСтраны, СведенияОТелефоне.КодГорода, СведенияОТелефоне.НомерТелефона, "", "");
Устанавливает новый комментарий для контактной информации.
УправлениеКонтактнойИнформацией.УстановитьКомментарийКонтактнойИнформации(Объект.АдресДоставки, КомментарийАдресаДоставки);
Возвращает официальное наименование субъекта РФ для адреса или пустую строку, если субъект не определен. Если переданная строка не содержит информации об адресе, то будет вызвано исключение.
ДанныеВоенкомата.СубъектРФ = РаботаСАдресами.РегионАдресаКонтактнойИнформации(Выборка.Адрес);
Выполняет отложенную инициализацию реквизитов и элементов контактной информации.
УправлениеКонтактнойИнформацией.ВыполнитьОтложеннуюИнициализацию(ЭтотОбъект, Объект);
Формирует новую таблицу контактной информации.
Возврат УправлениеКонтактнойИнформацией.НоваяКонтактнаяИнформация();
Устарела. Оставленная для обратной совместимости. Возвращает структуру контактной информации по типу. Для получения полей адреса следует использовать РаботаСАдресамиКлиентСервер.ПоляАдреса. Для получения полей телефона следует использовать УправлениеКонтактнойИнформацией.СведенияОТелефоне.
СтруктураАдреса = РаботаСАдресамиКлиентСервер.СтруктураКонтактнойИнформацииПоТипу(Перечисления.ТипыКонтактнойИнформации.Адрес);
Устанавливает свойства вида контактной информации. Примечание. При задании свойства Параметры.Порядок следует следить за уникальностью назначаемого значения. Если значения порядка окажутся неуникальными в пределах группы, то настройка порядка пользователем будет невозможна. В общем случае рекомендуется не использовать этот параметр (порядок не изменится), либо задавать значение 0. Для размещения видов КИ в нужной последовательности достаточно вызывать данную процедуру в нужной последовательности для каждого вида КИ с указанием порядка 0. Если предопределенный вид КИ добавляется к уже существующим в информационной базе, не рекомендуется назначать порядок в явном виде.
УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации(ПараметрыВидаКИ);
Возвращает строковое представление наименования города. Для города федерального значения возвращается наименование самого города. Если переданная строка не содержит корректной информации об адресе, то функция вызывает исключение.
ОбластьПриказ.Параметры.Город = РаботаСАдресами.ГородАдресаКонтактнойИнформации(КонтактнаяИнформация[0].ЗначенияПолей);
Записывает контактную информацию из XML в поля табличной части Контактная информация объекта.
УправлениеКонтактнойИнформацией.ЗаписатьКонтактнуюИнформацию(Объект, ЗначенияПолей, ВидКИ, ТипКИ);
Возвращает используемые виды контактной информации объекта.
ВидыЭлектроннойПочты = УправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(
Справочники.ФизическиеЛица.ПустаяСсылка(), Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
Создает письмо по контактной информации.
УправлениеКонтактнойИнформациейКлиент.СоздатьЭлектронноеПисьмо("", ЭлектронныйАдрес, ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.EMailФизическиеЛица"));
Обработчик события ОбработкаВыбора страны мира. Реализует функционал автоматического заведения элемента справочника СтраныМира после выбора.
УправлениеКонтактнойИнформациейКлиент.СтранаМираОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
Определяет, является ли страна участником Евразийского экономического союза (ЕАЭС).
Результат = УправлениеКонтактнойИнформацией.ЭтоСтранаУчастникЕАЭС(ТекущаяСтрока.Страна);
Конструктор параметров, описывающий правила формирования представления адреса.
ПараметрыПредставленияАдреса = УправлениеКонтактнойИнформацией.НовыеПараметрыПредставленияАдреса();
Преобразует контактную информацию, хранящуюся в поле ЗначениеПолей, в формат JSON и сохраняет его в поле колонки Значение таблицы КонтактнаяИнформация. Если колонки ЗначениеПолей и Значение содержат пустые строки, то JSON будет сформирована по представлению. В случае, когда параметр СсылкаИлиОбъект содержит объект контактной информации, то для сохранения изменений преобразования необходимо будет записать объект отдельно. Если передана ссылка, то после конвертирования хотя бы одной строки контактной информации владелец будет записан.
ОбъектИзменен = УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформациюОбъекта(СправочникОбъект);
Возвращает форматированное представление адреса. Функция формирует строковое представление адреса в соответствии с указанным порядком полей. Поддерживает различные форматы вывода, включая обратный порядок (от номера дома к региону) и сокращенные варианты.
ПредставленияАдреса = УправлениеКонтактнойИнформацией.ПредставлениеАдреса(АдресJSON, ПараметрыПредставленияАдреса);
Устарела. Следует использовать РаботаСАдресами.СведенияОбАдресе. Преобразует данные нового формата XML контактной информации в структуру старого формата.
СтруктураАдреса = РаботаСАдресами.ПредыдущаяСтруктураКонтактнойИнформацииXML(АдресXML, ВидАдреса);
Возвращает общепринятые сокращения адресных объектов.
СокращенияОбъектовАдресацииАдресаРФ = РаботаСАдресами.СокращенияОбъектовАдресацииАдресаРФ();
Возвращает строку с номером телефона без кода и дополнительного номера.
НомерТелефонаБезКодов = УправлениеКонтактнойИнформацией.НомерТелефонаКонтактнойИнформации(НайденныйКонтакт.Значение);
Возвращает параметры вида контактной информации типа Адрес. Для совместного использования с процедурами УправлениеКонтактнойИнформацией.УстановитьСвойстваВидаКонтактнойИнформации и УправлениеКонтактнойИнформациейКлиент.ОткрытьФормуКонтактнойИнформации.
Возврат УправлениеКонтактнойИнформацией.ПараметрыАдреса();
Создает временную таблицу с контактной информацией нескольких объектов.
УправлениеКонтактнойИнформацией.СоздатьВТКонтактнаяИнформация(Запрос.МенеджерВременныхТаблиц, МассивСсылок, , ВидыАдресов, ДатаАктуальности);
Возвращает полные данные ОКСМ классификатора. Таблица значений в макете проиндексирована по полям "Код", "Наименование".
ТаблицаКлассификатора = РаботаСАдресами.ТаблицаКлассификатора();
Добавляет или изменяет контактную информацию у владельца контактной информации.
УправлениеКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(
ФизическоеЛицо, ТаблицаКонтактнойИнформации, Ложь);
Возвращает объекты, хранящие контактную информацию в устаревших форматах XML или Ключ-Значение, и требующие преобразования контактной информации в современный формат JSON.
МассивСсылок = УправлениеКонтактнойИнформацией.ОбъектыТребующиеОбновленияКонтактнойИнформации(МетаданныеСправочника, РазмерПорции);
Конструктор для параметров процедур СоздатьЭлектронноеПисьмо и СоздатьSMS.
ПараметрыПисьма = УправлениеКонтактнойИнформациейКлиент.ПараметрыПисьмаSMS();
Возвращает признак, что объект подключен к подсистеме "Контактная информация" и содержит табличную часть КонтактнаяИнформация.
Результат = УправлениеКонтактнойИнформацией.СодержитКонтактнуюИнформацию(ПустоеЗначение);
Возвращает список стран Евразийского экономического союза (ЕАЭС). Вызов функции может инициировать http-запрос к веб-сервису по работе с классификаторами для получения актуального списка всех стран участников ЕАЭС.
Запрос.Параметры.Вставить("СтраныЕАЭС", УправлениеКонтактнойИнформацией.СтраныУчастникиЕАЭС());
Устарела. Следует использовать УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации Формирует представление с указанным видом для формы ввода адреса.
УправлениеКонтактнойИнформациейКлиентСервер.СформироватьПредставлениеАдреса(СтруктураАдреса, Представление);
Выполняет с формой действия, необходимые для подключения подсистемы версионирования.
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
Записывает версию документа в информационную базу.
ВерсионированиеОбъектовСобытия.ЗаписатьВерсиюДокумента(ДокументОбъект, Ложь, РежимЗаписи, РежимПроведенияДокумента.Неоперативный);
Записывает настройку версионирования объекта.
ВерсионированиеОбъектов.ЗаписатьНастройкуВерсионированияПоОбъекту(ПолноеИмяОбъекта, ПеречислениеВариантВерсионирования);
Добавляет строку описания источника данных для проверки запрета изменения. Используется в процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения общего модуля ДатыЗапретаИзмененияПереопределяемый.
ДатыЗапретаИзменения.ДобавитьСтроку(Данные, Таблица, ПолеДаты, Раздел, ПолеОбъекта)
Обработчик события формы ПриЧтенииНаСервере, который встраивается в формы элементов справочников, документов, записей регистров и др., чтобы заблокировать форму, если изменение запрещено.
Результат = ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(Форма, ТекущийОбъект)
//
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// Обработчик механизма "ДатыЗапретаИзменения"
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры
Возвращает новую таблицу значений с колонками Дата, Раздел и Объект для заполнения и последующей передачи в функцию ДатыЗапретаИзменения.НайденЗапретИзмененияДанных.
Результат = ДатыЗапретаИзменения.ШаблонДанныхДляПроверки()
Найти даты запрета по проверяемым данным для указанного пользователя или узла плана обмена.
Результат = ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(ДанныеДляПроверки, ПараметрыСообщенияОЗапрете, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки)
Проверяет, запрещено ли изменение данных при интерактивном редактировании пользователем или при программной загрузке данных из узла плана обмена УзелПроверкиЗапретаЗагрузки.
Результат = ДатыЗапретаИзменения.ИзменениеЗапрещено(ДанныеИлиПолноеИмя, ИдентификаторДанных, ОписаниеОшибки, УзелПроверкиЗапретаЗагрузки)
В текущем сеансе отключает и включает проверку дат запрета изменения и загрузки данных. Для использования требуются полные права или привилегированный режим.
//Вариант 1. Запись набора объектов вне транзакции (ТранзакцияАктивна() = Ложь).
ПроверкаДатЗапретаОтключена = ДатыЗапретаИзменения.ПроверкаДатЗапретаОтключена();
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Истина);
Попытка
// Запись набора объектов.
// ...
Исключение
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
//...
ВызватьИсключение;
КонецПопытки;
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
//Вариант 2. Запись набора объектов в транзакции (ТранзакцияАктивна() = Истина).
ПроверкаДатЗапретаОтключена = ДатыЗапретаИзменения.ПроверкаДатЗапретаОтключена();
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Истина);
НачатьТранзакцию();
Попытка
БлокировкаДанных.Заблокировать();
// ...
// Запись набора объектов.
// ...
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
//...
ВызватьИсключение;
КонецПопытки;
ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ПроверкаДатЗапретаОтключена);
Возвращает параметры для формирования сообщение о запрете записи или загрузки данных. Для использования в функции ДатыЗапретаИзменения.НайденЗапретИзмененияДанных.
Результат = ДатыЗапретаИзменения.ПараметрыСообщенияОЗапрете()
В текущем сеансе устанавливает пользователя, от имени которого будет выполняться проверка дат запрета изменения данных. Для использования требуются полные права или привилегированный режим.
ДатыЗапретаИзменения.УстановитьПользователяДляПроверкиДатЗапрета(ПользовательДляПроверкиДатЗапрета);
Получает номер документа для вывода на печать; из номера удаляются префиксы и лидирующие нули.
Результат = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(НомерОбъекта, УдалитьПрефиксИнформационнойБазы, УдалитьПользовательскийПрефикс)
//
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер, Истина, Ложь);
Удаляет лидирующие нули из номера объекта.
Результат = ПрефиксацияОбъектовКлиентСервер.УдалитьЛидирующиеНулиИзНомераОбъекта(НомерОбъекта)
Удаляет префикс информационной базы и префикс организации из переданной строки НомерОбъекта. Переменная НомерОбъекта должна соответствовать шаблону: ООГГ-ХХХ...ХХ или ГГ-ХХХ...ХХ, где: ОО - префикс организации; ГГ - префикс информационной базы; "-" - разделитель; ХХХ...ХХ - номер/код объекта. Незначащие символы префиксов (символ ноль - "0") также удаляются.
ОбластьПечати.Параметры.ТабельныйНомер = ПрефиксацияОбъектовКлиентСервер.УдалитьПрефиксыИзНомераОбъекта(Выборка.ТабельныйНомер, Истина, Истина);
Устанавливает префикс источника подписки в соответствии с префиксом информационной базы и префиксом организации. Источник подписки должен содержать обязательный реквизит шапки "Организация", с типом "СправочникСсылка.Организации".
ПрефиксацияОбъектовСобытия.УстановитьПрефиксИнформационнойБазыИОрганизации(ЭтотОбъект, СтандартнаяОбработка, Префикс);
Получает пользовательский префикс номера/кода объекта. Переменная НомерОбъекта должна соответствовать шаблону: ООГГ-ААХ...ХХ или ГГ-ААХ...ХХ, где. ОО - префикс организации; ГГ - префикс информационной базы; "-" - разделитель; АА - пользовательский префикс; ХХ..ХХ - номер/код объекта.
ПользовательскийПрефикс = ПрефиксацияОбъектовКлиентСервер.ПользовательскийПрефикс(ДанныеXDTO.КлючевыеСвойства.Номер);
Выполняет проверку модифицированности Даты и Организации документа. Если дата не входит в предыдущий период или изменен реквизит Организация, то номер документа обнуляется. Это необходимо для назначения нового номера документу.
ПрефиксацияОбъектовСобытия.ПроверитьНомерДокументаПоДатеИОрганизации(Источник, Отказ, РежимЗаписи, РежимПроведения);
Удаляет все пользовательские префиксы из номера объекта (все нецифровые символы). Переменная НомерОбъекта должна соответствовать шаблону: ООГГ-ХХХ...ХХ или ГГ-ХХХ...ХХ, где. ОО - префикс организации; ГГ - префикс информационной базы; "-" - разделитель; ХХХ...ХХ - номер/код объекта.
Номер = ПрефиксацияОбъектовКлиентСервер.УдалитьПользовательскиеПрефиксыИзНомераОбъекта(Номер);
Возвращает структуру для удобства описания поставляемых профилей.
ОписаниеПрофиля = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
Проверяет, что на уровне записей (и на уровне прав) указанному пользователю разрешено чтение объекта или набора записей из базы данных. Важно: если подсистема работает в стандартном варианте, тогда а) если указан пользователь, но не текущий пользователь, то будет вызвано исключение; б) выполняется проверка только объекта в базе данных (объект в памяти не проверяется). Для проверки варианта работы предусмотрена функция ПроизводительныйВариант.
Результат = УправлениеДоступом.ЧтениеРазрешено(Объект.РеквизитыДокумента[28].Значение);
Возвращает пустую таблицу, которая заполняется для передачи в функцию ЕстьРоль и в процедуры ЗаполнитьНаборыЗначенийДоступа(Таблица), определенные прикладным разработчиком.
ТаблицаНаборы = УправлениеДоступом.ТаблицаНаборыЗначенийДоступа();
Проверяет, используется ли ограничение доступа на уровне записей.
Результат = УправлениеДоступом.ОграничиватьДоступНаУровнеЗаписей();
Для ускорения пакетной обработки данных в текущем сеансе (полноправный пользователь) отключает и включает расчет прав при записи объекта или набора записей (обновление ключей доступа к объектам и к записям регистров, а также прав групп доступа, пользователей и внешних пользователей на новые ключи доступа). Рекомендуется: - при восстановлении из резервной копии XML; - массовой загрузке данных из файла; - массовой загрузке данных при обмене данными; - групповом изменении объектов.
УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь, Ложь);
Возвращает ссылку на стандартный поставляемый профиль Администратор.
Запрос.УстановитьПараметр("ЭтоПрофильАдминистратор", Профиль = УправлениеДоступом.ПрофильАдминистратор());
Проверяет, что на уровне записей (и на уровне прав) указанному пользователю разрешено изменение объекта в базе данных на объект в памяти. Для нового объекта проверяется только объект в памяти. Если указана ссылка или ключ записи, проверятся только объект в базе данных. Важно: если подсистема работает в стандартном варианте, тогда а) если указан пользователь, но не текущий пользователь, то будет вызвано исключение; б) выполняется проверка только объекта в базе данных (объект в памяти не проверяется), причем на уровне записей проверяется только право Чтение, а право Изменение проверяется на таблицу в целом. Для проверки варианта работы предусмотрена функция ПроизводительныйВариант.
ДоступноИзменениеДокумента = УправлениеДоступом.ИзменениеРазрешено(Объект.Ссылка);
Возвращает ссылку на стандартную поставляемую группу доступа Администраторы.
ГруппаАдминистраторы = УправлениеДоступом.ГруппаДоступаАдминистраторы();
Возвращает структуру для удобства описания поставляемых папок профилей (групп элементов).
ОписаниеПапки = УправлениеДоступом.НовоеОписаниеПапкиПрофилейГруппДоступа();
Заменяет роли в профилях, кроме поставляемых профилей, которые обновляются автоматически. Предназначена для вызова из оперативного обработчика обновления.
УправлениеДоступом.ЗаменитьРолиВПрофилях(ЗаменяемыеРоли);
Возвращает вариант работы ограничений доступа на уровне записей. Требуется при расширенном использовании функций ЧтениеРазрешено и ИзменениеРазрешено в производительном варианте.
Результат = УправлениеДоступом.ПроизводительныйВариант();
Возвращает массив разрешенных значений указанных типов в рамках всех групп доступа. Используется в процедуре НастроитьОтборыДинамическогоСписка для ускорения открытия динамических списков.
РазрешенныеФизическиеЛица = УправлениеДоступом.РазрешенныеЗначенияДляДинамическогоСписка("Справочник.ФизическиеЛица", Тип("СправочникСсылка.ФизическиеЛица"));
Возвращает массив групп значений доступа, разрешающих изменять значения доступа. Поддерживается только для случая, когда выбирается одна группа значений доступа, а не несколько.
УправлениеДоступом.ГруппыЗначенийДоступаРазрешающиеИзменениеЗначенийДоступа(ТипЗнч(Объект.Ссылка), Истина);
Проверяет, что у пользователя есть роль (дополнительное право) в одном из профилей тех групп доступа, в которых он участвует с учетом того, что хотя бы одна группа доступа профиля предоставляет право Чтение объекта (или набор значений доступа разрешен для группы доступа). Для проверки только роли следует использовать функцию Пользователи.РолиДоступны.
ЕстьПраво = УправлениеДоступом.ЕстьРоль("ВыполнениеОбменаДокументамиБизнесСеть", , Пользователь)
Обновляет содержание регистров ЗначенияГруппДоступа и ЗначенияГруппДоступаПоУмолчанию, которые заполняются на основании настроек в группах доступа и использования видов доступа.
УправлениеДоступом.ОбновитьРазрешенныеЗначенияПриИзмененииИспользованияВидовДоступа();
Обновляет список ролей пользователей информационной базы по их текущим принадлежностям к группам доступа. Пользователи ИБ с ролью "ПолныеПрава" пропускаются.
УправлениеДоступом.ОбновитьРолиПользователей(ПользовательОбластиДанных);
Устанавливает в условие ГДЕ динамического списка постоянные отборы на основе разрешенных значений доступа указанных типов в рамках всех групп доступа. Это позволяет в отдельных случаях ускорить открытие динамического списка. Если количество разрешенных значений в общей сложности получилось более 100, отбор не устанавливается. Для работы процедуры у динамического списка должна быть установлена основная таблица, установлен произвольный запрос, а также должно поддерживаться преобразование вида: СхемаЗапроса = Новый СхемаЗапроса; СхемаЗапроса.УстановитьТекстЗапроса(Список.ТекстЗапроса); Список.ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса(); Если это условие выполнить не удается, тогда следует добавлять отборы самостоятельно с использованием функции РазрешенныеЗначенияДляДинамическогоСписка, как в этой процедуре.
УправлениеДоступом.НастроитьОтборыДинамическогоСписка(РасходныеКассовыеОрдера, ОписаниеОтборов);
Делает тоже, что функция ИзменениеРазрешено, но если не разрешено, вызывается исключение.
УправлениеДоступом.ПроверитьИзменениеРазрешено(МассивСсылок[0]);
Назначение: для универсального журнала документов на регистре (ERP). Используется для скрытия дублирующей записи в журнале для документов перемещения, в тех случаях, когда точно известно, что записей будет сразу две. Проверяет есть ли ограничение таблицы по указанному виду доступа. Если для всех видов доступа таблицы хотя бы в одной группе доступа, предоставляющей права к указанной таблице, не настроено ограничение (все значения разрешены для всех видов доступа), тогда нет ограничения по указанному виду доступа, в противном случае, нет ограничения по указанному виду доступа, если только его нет во всех группах доступа для указанной таблицы.
ИспользуетсяОграничениеПоПодразделению = УправлениеДоступом.ЕстьОграничениеТаблицыПоВидуДоступа(
"РегистрСведений.РеестрДокументов", "Подразделения", "ГруппыПартнеров,Организации,Подразделения,Склады");
Делает тоже, что функция ЧтениеРазрешено, но если не разрешено, вызывается исключение.
УправлениеДоступом.ПроверитьЧтениеРазрешено(РаспознанныйДокумент);
Добавляет дополнительные типы в процедуре ПриЗаполненииВидовДоступа общего модуля УправлениеДоступомПереопределяемый.
УправлениеДоступом.ДобавитьДополнительныеТипыВидаДоступа(ВидДоступа,
Тип("СправочникСсылка.НефинансовыеПоказателиБюджетов"),
Тип("СправочникСсылка.ГруппыДоступаСтатейИПоказателейБюджетов"));
Назначение пользователю профиля групп доступа путем включения в персональную группу доступа (только для упрощенной настройки прав).
УправлениеДоступом.ВключитьПрофильПользователю(Пользователь, ТекСтрока.Профиль);
Отмена назначения пользователю профиля групп доступа путем исключения из персональной группы доступа (только для упрощенной настройки прав).
УправлениеДоступом.ВыключитьПрофильПользователю(Пользователь, СтрокаПрофиль.Профиль);
Возвращает права доступа к объектам метаданных ссылочного типа по указанным идентификаторам.
ПраваПоИдентификаторам = УправлениеДоступом.ПраваПоИдентификаторам(ИдентификаторыОбъектовМетаданных);
Принимает в качестве параметра форму объекта, к которому подключена подсистема, и запрещает редактирование заданных реквизитов, а также добавляет во "Все действия" команду для разрешения их редактирования.
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(Форма, ГруппаДляКнопкиЗапрета, ЗаголовокКнопкиЗапрета, Объект)
//
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Подсистема запрета редактирования ключевых реквизитов объектов.
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// Обработчик подсистемы запрета редактирования реквизитов объектов.
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);
КонецПроцедуры
Устанавливает доступность элементов формы, связанных с заданными реквизитами, для которых установлено разрешение изменения.
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(Форма, Реквизиты)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
Если Не Объект.Ссылка.Пустая() Тогда
ОткрытьФорму("Справочник.Кассы.Форма.РазблокированиеРеквизитов",,,,,,
Новый ОписаниеОповещения("Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект),
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ТипЗнч(Результат) = Тип("Массив") И Результат.Количество() > 0 Тогда
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтаФорма, Результат);
КонецЕсли;
КонецПроцедуры
Разрешает редактирование заблокированных элементов формы, связанных с заданными реквизитами.
ЗапретРедактированияРеквизитовОбъектовКлиент.РазрешитьРедактированиеРеквизитовОбъекта(Форма, ОбработкаПродолжения)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
ЗапретРедактированияРеквизитовОбъектовКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтотОбъект);
КонецПроцедуры
Возвращает массив имен реквизитов, заданных в свойстве формы ПараметрыЗапретаРедактированияРеквизитов на основе имен реквизитов, указанных в модуле менеджера объекта, исключая реквизиты, у которых ПравоРедактирования = Ложь.
Результат = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(Форма, ТолькоЗаблокированные, ТолькоВидимые)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
Оповещение = Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект);
ОбщегоНазначенияУТКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтаФорма,,Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Истина Тогда
Реквизиты = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(ЭтаФорма, , Ложь);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьРазрешенностьРедактированияРеквизитов(ЭтаФорма, Реквизиты);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(ЭтаФорма, Реквизиты);
КонецЕсли;
КонецПроцедуры
Выводит предупреждение о том, что все видимые реквизиты разблокированы.
ЗапретРедактированияРеквизитовОбъектовКлиент.ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы(ОбработкаПродолжения)
//
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
ЗаблокированныеРеквизиты = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(ЭтотОбъект);
Если ЗаблокированныеРеквизиты.Количество() > 0 Тогда
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ссылка", Объект.Ссылка);
ПараметрыФормы.Вставить("ЗаблокированныеРеквизиты", ЗаблокированныеРеквизиты);
ОткрытьФорму(
"Справочник.ОбъектыЭксплуатации.Форма.РазблокированиеРеквизитов",
ПараметрыФормы,
ЭтотОбъект);
Иначе
ЗапретРедактированияРеквизитовОбъектовКлиент.ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы();
КонецЕсли;
КонецПроцедуры
Возвращает свойства нового расширенного описания блокируемого реквизита для использования в функциях ПолучитьБлокируемыеРеквизитыОбъекта модулей менеджеров объектов.
ОписаниеРеквизита = ЗапретРедактированияРеквизитовОбъектов.НовыйБлокируемыйРеквизит();
Устанавливает разрешенность редактирования для тех реквизитов, описание которых подготовлено в форме. Используется, когда доступность элементов формы изменяется самостоятельно, без использования функции УстановитьДоступностьЭлементовФормы.
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьРазрешенностьРедактированияРеквизитов(Форма, Реквизиты, РедактированиеРазрешено, ПравоРедактирования)
//
ЗаблокированныеРеквизиты = ЗапретРедактированияРеквизитовОбъектовКлиент.Реквизиты(Форма);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьРазрешенностьРедактированияРеквизитов(Форма, ЗаблокированныеРеквизиты);
ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(Форма);
Возвращает список реквизитов и табличных частей объекта, по которым установлен запрет редактирования.
Результат = ЗапретРедактированияРеквизитовОбъектов.БлокируемыеРеквизитыОбъекта(ИмяОбъекта)
//
БлокируемыеРеквизиты = Новый Массив;
БлокируемыеРеквизиты = РаботаСНоменклатурой.БлокируемыеРеквизитыОбъекта(ОбъектМетаданных.ПолноеИмя());
Спрашивает у пользователя подтверждение на включение редактирования реквизитов и проверяет, есть ли ссылки на объект в информационной базе.
ЗапретРедактированияРеквизитовОбъектовКлиент.ПроверитьСсылкиНаОбъект(ОбработкаПродолжения, МассивСсылок, СинонимыРеквизитов)
Возвращает объект ИнтернетПрокси для доступа в Интернет. Допустимые протоколы для создания ИнтернетПрокси http, https, ftp и ftps.
Результат.Прокси = ПолучениеФайловИзИнтернета.ПолучитьПрокси("https");
Получает файл из Интернета по протоколу http(s), либо ftp и сохраняет его во временное хранилище.
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлВоВременноеХранилище(URL, ПараметрыПолучения, ЗаписыватьОшибку)
//
Процедура ЗагрузитьСписокБанковССайта() Экспорт
АдресСервера = "https://directbank.1c.ru/downloads/bankslist.mxl";
ПараметрыПолучения = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла();
ПараметрыПолучения.Таймаут = 60;
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлВоВременноеХранилище(АдресСервера, ПараметрыПолучения);
Если Результат.Статус Тогда
Данные = ПолучитьИзВременногоХранилища(Результат.Путь);
УдалитьИзВременногоХранилища(Результат.Путь);
ВремФайл = ПолучитьИмяВременногоФайла("mxl");
Данные.Записать(ВремФайл);
КонецЕсли;
КонецПроцедуры
Возвращает параметры настройки прокси-сервера на стороне сервера 1С:Предприятия.
НастройкаПроксиСервера = ПолучениеФайловИзИнтернета.НастройкиПроксиНаСервере();
Возвращает структуру параметров для получения файла из Интернета.
Результат = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла()
//
Процедура ПолучитьИнформациюОВнешнейКомпоненте(Параметры, Адрес) Экспорт
ВремФайл = ПолучитьИмяВременногоФайла("xml");
ПараметрыПолучения = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла();
ПараметрыПолучения.ПутьДляСохранения = ВремФайл;
ПараметрыПолучения.Таймаут = 30;
РезультатИнфоФайл = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(Параметры.URLИнфоФайла, ПараметрыПолучения);
Если РезультатИнфоФайл.Статус Тогда
ПараметрыВК = ПараметрыВК(ВремФайл);
ФайловаяСистема.УдалитьВременныйФайл(ВремФайл);
ПоместитьВоВременноеХранилище(ПараметрыВК, Адрес);
КонецЕсли;
КонецПроцедуры
Запускает диагностику сетевого ресурса.
// Диагностика веб-сервиса адресного классификатора.
Результат = ОбщегоНазначенияКлиентСервер.ДиагностикаСоединения("https://api.orgaddress.1c.com/orgaddress/v1?wsdl");
ОписаниеОшибки = Результат.ОписаниеОшибки;
ЖурналДиагностики = Результат.ЖурналДиагностики;
//
Попытка
Ответ = Соединение.ОтправитьДляОбработки(ЗапросКСервису);
Исключение
ЗарегистрироватьОшибкуСервиса(ИнформацияОбОшибке(), ПоказыватьСообщения);
РезультатДиагностики = ПолучениеФайловИзИнтернета.ДиагностикаСоединения(Соединение.Сервер);
ВызватьИсключение СтрШаблон(
НСтр("ru = '%1
|
|Результат диагностики:
|%2'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),
РезультатДиагностики.ОписаниеОшибки);
КонецПопытки;
Получает файл из Интернета по протоколу http(s), либо ftp и сохраняет его по указанному пути на сервере.
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(URL, ПараметрыПолучения, ЗаписыватьОшибку)
//
РезультатПолученияФайла = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере("https://reputils.1c.ru/static/online_stats.json");
Определяет значение таймаута в секундах для загрузки файла в зависимости от размера этого файла. Если известен размер файла, то размер в мегабайтах * 128, иначе предельное время загрузки, но не более 43200. Минимальный таймаут - 30, это время необходимое для установки соединения.
ПараметрыОтправки.Таймаут = ПолучениеФайловИзИнтернета.ТаймаутЗагрузкиФайла(
ОписательКлассификатора.Размер);
Возвращает настройку прокси-сервера для доступа в Интернет со стороны клиента для текущего пользователя.
НастройкаПроксиСервера = ПолучениеФайловИзИнтернета.НастройкиПроксиНаКлиенте();
Открывает форму для ввода параметров прокси сервера.
ПолучениеФайловИзИнтернетаКлиент.ОткрытьФормуПараметровПроксиСервера(ПараметрыФормы);
Открывает форму с доступными командами.
ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(ПараметрКоманды,
ПараметрыВыполненияКоманды,
Вид,
ИмяРаздела)
//
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(
ПараметрКоманды,
ПараметрыВыполненияКоманды,
ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка(),
"Склад");
КонецПроцедуры
Дополнительная обработка.
ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка(),
Дополнительный отчет, обработка, печатная форома
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОбработка()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет()
Результат = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка()
//
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(
ПараметрКоманды,
ПараметрыВыполненияКоманды,
ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка(), // вызов
"ФинансовыйРезультатИКонтроллинг");
КонецПроцедуры
Имя раздела, соответствующего начальной странице.
Разделы.Добавить(ДополнительныеОтчетыИОбработкиКлиентСервер.ИмяНачальнойСтраницы());
Подключает и возвращает имя, под которым подключен внешний отчет или обработка.
// Вызов с сервера
Результат = ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку(Ссылка)
// Вызов с клиента
Результат = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(Ссылка);
//
ИмяОбработки = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(Ссылка);
Если ВыполняемаяКоманда.ЭтоОтчет Тогда
ФормаОбработки = ПолучитьФорму("ВнешнийОтчет."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма);
Иначе
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма);
КонецЕсли;
Выполняет команду ИдентификаторКоманды в фоне с помощью механизма длительных операций. Для использования в формах внешних отчетов и обработок.
&НаКлиенте
Процедура ОбработчикКоманды(Команда)
ПараметрыКоманды = ДополнительныеОтчетыИОбработкиКлиент.ПараметрыВыполненияКомандыВФоне(Параметры.ДополнительнаяОбработкаСсылка);
ПараметрыКоманды.СопровождающийТекст = НСтр("ru = 'Выполняется команда...'");
Обработчик = Новый ОписаниеОповещения("<ИмяЭкспортнойПроцедуры>", ЭтотОбъект);
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьКомандуВФоне(Команда.Имя, ПараметрыКоманды, Обработчик);
КонецПроцедуры
Создает и возвращает экземпляр внешней обработки (отчета)
Результат = ДополнительныеОтчетыИОбработкиВызовСервера.ОбъектВнешнейОбработки(Ссылка)
//
ВнешняяОбработка = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВариантРаспределения, "ВнешняяОбработка");
ВнешняяОбработкаОбъект = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(ВнешняяОбработка);
ВнешняяОбработкаОбъект.ВыполнитьРаспределение(ТоварыФакт, СерийныеНомераФакт, ТоварыПеремещение, СерийныеНомераПеремещение, НастройкиВарианта, ИдентификаторыВыделенныхСтрок, ФормаРаспределения);
//
ВнешняяОбработка = ДанныеНастройки.ВнешняяОбработка;
ВнешнийОбъект = ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(ВнешняяОбработка);
ВнешнийОбъект.АлгоритмИсполнения(ДанныеНастройки, МассивНайденныхФайлов);
Возвращает имя типа команд по открытию формы. При выполнении этих команд открывается основная форма внешнего объекта с указанными ниже параметрами. Общие параметры: ИдентификаторКоманды - Строка - имя команды, определенное в функции СведенияОВнешнейОбработке(). ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - ссылка этого объекта. Может использоваться для чтения и сохранения параметров обработки. Также может использоваться для фонового выполнения длительных операций. Подробнее см. в документации к подсистеме, раздел "Фоновое выполнение длительных операций". ИмяФормы - Строка - имя формы-владельца, из которой вызвана эта команда. Вспомогательные параметры для обработок создания связанных объектов (Вид = "СозданиеСвязанныхОбъектов"), обработок заполнения (Вид = "ЗаполнениеОбъекта") и контекстных отчетов (Вид = "Отчет"): ОбъектыНазначения - Массив - Ссылки объектов, для которых вызвана команда. Пример чтения общих параметров: ОбъектСсылка = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ДополнительнаяОбработкаСсылка"); ИдентификаторКоманды = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ИдентификаторКоманды"); Пример чтения значений дополнительных настроек: Если ЗначениеЗаполнено(ОбъектСсылка) Тогда ХранилищеНастроек = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОбъектСсылка, "ХранилищеНастроек"); Настройки = ХранилищеНастроек.Получить(); Если ТипЗнч(Настройки) = Тип("Структура") Тогда ЗаполнитьЗначенияСвойств(ЭтотОбъект, "<ИменаНастроек>"); КонецЕсли; КонецЕсли; Пример сохранения значений дополнительных настроек: Настройки = Новый Структура("<ИменаНастроек>", <ЗначенияНастроек>); ДополнительнаяОбработкаОбъект = ОбъектСсылка.ПолучитьОбъект(); ДополнительнаяОбработкаОбъект.ХранилищеНастроек = Новый ХранилищеЗначения(Настройки); ДополнительнаяОбработкаОбъект.Записать();
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Создание связанных объектов.
ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(
МассивСсылок,
МассивСсылок,
ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиСозданиеСвязанныхОбъектов());
Возвращает таблицу команд дополнительных отчетов или обработок.
ТаблицаКоманд = ДополнительныеОтчетыИОбработки.ДополнительныеКоманды(Перечисления.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма, ТипОбъекта, Истина);
Формирует печатную форму по внешнему источнику.
ДополнительныеОтчетыИОбработки.ПечатьПоВнешнемуИсточнику(
ВнешняяПечатнаяФорма(Идентификатор, ИмяМенеджераПечати),
Новый Структура("ИдентификаторКоманды, ОбъектыНазначения", Идентификатор, МассивОбъектов),
ВременнаяКоллекцияДляОднойПечатнойФормы,
ОбъектыПечати,
ПараметрыВывода);
Формирует шаблон сведений о внешнем отчете или обработке для последующего заполнения.
Результат = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП);
Фильтр для диалогов выбора или сохранения дополнительных отчетов и обработок.
ПараметрыСохранения.Диалог.Фильтр = ДополнительныеОтчетыИОбработкиКлиентСервер.ФильтрДиалоговВыбораИСохранения();
Формирует список разделов, в которых доступна команда вызова дополнительных обработок.
ВозможныеРазделы = ДополнительныеОтчетыИОбработки.РазделыДополнительныхОбработок();
Формирует список разделов, в которых доступна команда вызова дополнительных отчетов.
ВозможныеРазделы = ДополнительныеОтчетыИОбработки.РазделыДополнительныхОтчетов();
Склоняет переданную фразу по всем падежам.
СклонениеПредставленийОбъектовКлиент.ПросклонятьПредставление(Форма, Представление, ПараметрыСклонения, ПоказыватьСообщения)
//
ДолжностьРуководителя = СклонениеПредставленийОбъектов.ПросклонятьПредставление(Строка(Выборка.ДолжностьРуководителя), 2);
//
&НаКлиенте
Процедура ФИОПриИзменении(Элемент)
ПараметрыСклонения = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения();
ПараметрыСклонения.ЭтоФИО = Истина;
ПараметрыСклонения.Пол = ?(
ЗначениеЗаполнено(ФизическоеЛицо.Пол),
?(ФизическоеЛицо.Пол = ПредопределенноеЗначение("Перечисление.ПолФизическогоЛица.Мужской"), 1, 2),
Неопределено);
СклонениеПредставленийОбъектовКлиент.ПросклонятьПредставление(ЭтотОбъект, ФизическоеЛицо.ФИО, ПараметрыСклонения);
КонецПроцедуры
Определяет форму ФИО в заданном падеже.
Результат = СклонениеПредставленийОбъектов.ПросклонятьФИО(ФИО, Падеж, Объект, Пол)
Результат = СклонениеПредставленийОбъектов.ПросклонятьФИО(
СведенияОКонтрагенте.ПолноеНаименование,
Падеж,
СведенияОДоговоре.Владелец,
РуководительКонтрагентаПол);
Конструктор параметров для методов склонения.
Результат = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения()
//
&НаКлиенте
Процедура НачатьСклонение(ПоказыватьСообщения)
ЗаполнитьСклонениеПоУмолчанию();
ОповещениеОЗавершении = Новый ОписаниеОповещения("ЗавершитьСклонение", ЭтотОбъект);
ПараметрыСклонения = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения();
ПараметрыСклонения.ЭтоФИО = ЭтоФИО;
ПараметрыСклонения.Пол = Пол;
СклонениеПредставленийОбъектовКлиент.НачатьСклонение(ЭтотОбъект, Представление, ПараметрыСклонения, ПоказыватьСообщения, ОповещениеОЗавершении);
КонецПроцедуры
Обработчик команды "Склонения" формы объекта склонения. Открывает форму редактирования склонений представления по всем падежам.
СклонениеПредставленийОбъектовКлиент.ПоказатьСклонение(ЭтотОбъект, Объект.Наименование);
Выполняет с формой действия, необходимые для подключения подсистемы Склонения.
СклонениеПредставленийОбъектов.ПриСозданииНаСервере(ЭтотОбъект, Объект.ФИО);
Получает данные склонения по всем падежам.
ЗаполнитьЗначенияСвойств(СтрокаТЗ, СклонениеПредставленийОбъектов.ДанныеСклонения(СтрокаТЗ.ФИОПолные, ПараметрыСклонения));
Предназначена для использования в конструкторе типа Число для денежных полей.
Результат = РаботаСКурсамиВалют.ОписаниеТипаДенежногоПоля(ДопустимыйЗнакПоля)
//
ДанныеВедомостейДляОплаты = Новый ТаблицаЗначений;
ДенежнаяСуммаНеотрицательная = РаботаСКурсамиВалют.ОписаниеТипаДенежногоПоля(ДопустимыйЗнак.Неотрицательный);
ДанныеВедомостейДляОплаты.Колонки.Добавить("СуммаКВыплате", ДенежнаяСуммаНеотрицательная);
Формирует представление суммы прописью в указанной валюте.
Результат = РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаЧислом, Валюта, БезДробнойЧасти, КодЯзыка)
Возвращает курс валюты на дату.
Результат = РаботаСКурсамиВалют.ПолучитьКурсВалюты(Валюта, ДатаКурса)
Загрузка курсов валют на клиенте
Пересчитывает сумму из одной валюты в другую.
Результат = РаботаСКурсамиВалют.ПересчитатьВВалюту(Сумма, ИсходнаяВалюта, НоваяВалюта, Дата)
//
СуммаВал = РаботаСКурсамиВалют.ПересчитатьВВалюту(ДанныеИБ.СуммаДокумента, ДанныеИБ.ВалютаДокумента, ВалютаКонвертации, ДанныеИБ.Дата);
Добавляет в справочник валют валюты из классификатора.
Результат = РаботаСКурсамиВалют.ДобавитьВалютыПоКоду(Коды)
// Создаем "Рубли".
Коды = Новый Массив;
Коды.Добавить("643");
РаботаСКурсамиВалют.ДобавитьВалютыПоКоду(Коды);
Проверяет наличие установленного курса и кратности валюты на 1 января 1980 года. В случае отсутствия устанавливает курс и кратность равными единице.
РаботаСКурсамиВалют.ПроверитьКорректностьКурсаНа01_01_1980(Ссылка);
Пересчитывает сумму из текущей валюты в новую валюту по параметрам их курсов.
Результат = РаботаСКурсамиВалютКлиентСервер.ПересчитатьПоКурсу(Сумма, ПараметрыТекущегоКурса, ПараметрыНовогоКурса)
//
Функция ПересчитатьВВалюту(Сумма, ИсходнаяВалюта, НоваяВалюта, Дата) Экспорт
Возврат РаботаСКурсамиВалютКлиентСервер.ПересчитатьПоКурсу(Сумма,
ПолучитьКурсВалюты(ИсходнаяВалюта, Дата),
ПолучитьКурсВалюты(НоваяВалюта, Дата));
КонецФункции
Возвращает пустую структуру с параметрами отправки письма.
Результат = РаботаСПочтовымиСообщениямиКлиент.ПараметрыОтправкиПисьма()
Получает ссылку на учетную запись по виду назначения учетной записи.
Результат = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись()
ОтправительEmail = Результат.АдресЭлектроннойПочты;
//
УчетнаяЗапись = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
Попытка
Профиль = РаботаСПочтовымиСообщениямиСлужебный.ИнтернетПочтовыйПрофиль(УчетнаяЗапись);
Соединение = Новый ИнтернетПочта;
Соединение.Подключиться(Профиль);
Исключение
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось установить соединение с почтовым сервером: (%1)'"), ОписаниеОшибки());
Возврат;
КонецПопытки;
//
Формирует письмо по переданным параметрам.
Результат = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(УчетнаяЗапись, ПараметрыПисьма)
//
ПараметрыОтправки = Новый Структура();
ПараметрыОтправки.Вставить("Кому", АдресКонтрагента);
ПараметрыОтправки.Вставить("Тема", Тема);
ПараметрыОтправки.Вставить("Тело", );
ПараметрыОтправки.Вставить("Вложения", Вложения);
Письмо = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(РеквизитыПакетаЭД.АдресРесурсаОрганизации, ПараметрыОтправки);
Получить доступные учетные записи электронной почты.
Результат = РаботаСПочтовымиСообщениями.ДоступныеУчетныеЗаписи(ДляОтправки, ДляПолучения, ВключатьСистемнуюУчетнуюЗапись)
//
ДоступныеУчетныеЗаписи = РаботаСПочтовымиСообщениями.ДоступныеУчетныеЗаписи(Истина);
Если ДоступныеУчетныеЗаписи.Количество() = 0 Тогда
ТекстСообщения = НСтр("ru = 'Не обнаружены доступные учетные записи электронной почты, обратитесь к администратору системы.'");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,,,Отказ);
Возврат;
КонецЕсли;
Выполняет отправку одного письма. Функция может вызвать исключение, которое требуется обработать.
Результат = РаботаСПочтовымиСообщениями.ОтправитьПисьмо(УчетнаяЗапись, Письмо)
//
Функция ОтправитьПакетЧерезЭлектроннуюПочту(ПараметрыОтправки, КонтекстОперации)
Вложения = Новый Массив;
ФайлыДляОтправки = НайтиФайлы(АдресКаталогаОтправки, "*.zip");
Для Каждого Файл Из ФайлыДляОтправки Цикл
ОписаниеВложения = Новый Структура;
ОписаниеВложения.Вставить("Представление", Файл.Имя);
ОписаниеВложения.Вставить("АдресВоВременномХранилище",
ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Файл.ПолноеИмя)));
Вложения.Добавить(ОписаниеВложения);
КонецЦикла;
ПараметрыОтправки = Новый Структура();
ПараметрыОтправки.Вставить("Кому", АдресКонтрагента);
ПараметрыОтправки.Вставить("Тема", Тема);
ПараметрыОтправки.Вставить("Тело", );
ПараметрыОтправки.Вставить("Вложения", Вложения);
Письмо = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(РеквизитыПакетаЭД.АдресРесурсаОрганизации, ПараметрыОтправки);
Попытка
РаботаСПочтовымиСообщениями.ОтправитьПисьмо(РеквизитыПакетаЭД.АдресРесурсаОрганизации, Письмо);
РезультатОтправки = Истина;
Исключение
ТекстОшибки = СтрШаблон(НСтр("ru = 'Не удалось отправить письмо по адресу %1'"), АдресКонтрагента);
КонецПопытки;
Возврат РезультатОтправки;
КонецФункции
Возвращает Истина, если доступна по меньшей мере одна настроенная учетная запись для отправки почты либо достаточно прав на настройку учетной записи.
Результат = РаботаСПочтовымиСообщениями.ДоступнаОтправкаПисем()
//
Если Не РаботаСПочтовымиСообщениями.ДоступнаОтправкаПисем() Тогда
Возврат НСтр("ru = 'Нет прав на отправку писем или нет доступных учетных записей.'");
КонецЕсли;
Загружает сообщения с сервера электронной почты для указанной учетной записи.
Результат = РаботаСПочтовымиСообщениями.ЗагрузитьПочтовыеСообщения(УчетнаяЗапись, ПараметрыЗагрузки)
//
Функция ЗагрузитьПочтовыеСообщенияПоЭДО(РесурсОбмена)
ПараметрыЗагрузкиЗаголовков = Новый Структура;
ПараметрыЗагрузкиЗаголовков.Вставить("ПолучениеЗаголовков", Истина);
ПараметрыЗагрузкиЗаголовков.Вставить("ПриводитьСообщенияКТипу", Ложь);
НаборСообщений = РаботаСПочтовымиСообщениями.ЗагрузитьПочтовыеСообщения(
РесурсОбмена.УчетнаяЗаписьЭлектроннойПочты, ПараметрыЗагрузкиЗаголовков);
Если Не ЗначениеЗаполнено(НаборСообщений) Тогда
Возврат НаборСообщений;
КонецЕсли;
Для Каждого Сообщение Из НаборСообщений Цикл
АдресОтправителя = НРег(?(ТипЗнч(Сообщение.Отправитель) = Тип("Строка"),
Сообщение.Отправитель, Сообщение.Отправитель.Адрес));
КонецЦикла;
Возврат НаборСообщений
КонецФункции
Открывает форму создания нового письма.
РаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыОтправкиПисьма, ОповещениеОЗакрытииФормы)
//
Процедура ОтправитьОтчет(Отчет, ДополнительныеПараметры = Неопределено) Экспорт
ПараметрыОтчета = Новый Структура;
ПараметрыОтчета.Вставить("ТабличныйДокумент", Отчет.Результат);
ПараметрыОтчета.Вставить("Заголовок" , Отчет.Заголовок);
КлючеваяОперация = "ОтправкаОтчетаПоЭлектроннойПочте";
ОценкаПроизводительностиКлиент.НачатьЗамерВремени(Истина, КлючеваяОперация);
ПараметрыПисьма = ОтправкаПочтовыхСообщенийВызовСервера.ПараметрыЭлектронногоПисьмаДляОтчетов(ПараметрыОтчета,
ДополнительныеПараметры);
РаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыПисьма);
КонецПроцедуры
Выполняет отправку нескольких писем.
Результат = РаботаСПочтовымиСообщениями.ОтправитьПисьма(УчетнаяЗапись, Письма, ТекстОшибки)
//
Письма = Новый Массив;
Для Каждого КлючИЗначение Из ПараметрыДоставки.Получатели Цикл
ПараметрыПисьма.Тело = СтрЗаменить(ШаблонТекста, "[Получатель]", Строка(КлючИЗначение.Ключ));
ПараметрыПисьма.Вставить(КлючАдресаДоставки, КлючИЗначение.Значение);
Письма.Добавить(ПодготовитьПисьмо(ПараметрыДоставки, ПараметрыПисьма));
КонецЦикла;
РаботаСПочтовымиСообщениями.ОтправитьПисьма(ПараметрыДоставки.УчетнаяЗапись, Письма);
Проверяет, настроена ли учетная запись для отправки и/или получения почты.
Результат = РаботаСПочтовымиСообщениями.УчетнаяЗаписьНастроена(УчетнаяЗапись, ДляОтправки, ДляПолучения)
Если у пользователя нет настроенной учетной записи для отправки писем, то в зависимости от прав либо показывает помощник настройки новой учетной записи, либо выводит сообщение о невозможности отправки.
РаботаСПочтовымиСообщениямиКлиент.ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты(ОбработчикРезультата)
//
&НаКлиенте
Процедура НачатьПроверкуУчетнойЗаписи()
РаботаСПочтовымиСообщениямиКлиент.ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты(
Новый ОписаниеОповещения("ЗавершитьПроверкуУчетнойЗаписи", ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура ЗавершитьПроверкуУчетнойЗаписи(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Истина Тогда
ЗаполнитьУчетнуюЗапись();
Возврат;
КонецЕсли;
ПоказатьПредупреждение(Новый ОписаниеОповещения("ЗавершитьРаботуФормы", ЭтотОбъект),
НСтр("ru = 'Для рассылки документов требуется настроенная для отправки учетная запись электронной почты."));
КонецПроцедуры
Выполняет отправку почтовых сообщений. Функция может вызвать исключение, которое требуется обработать.
Возврат РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗапись, ПараметрыПисьма);
Проверяет наличие в документе HTML ссылок на ресурсы, загружаемые по http(s).
Результат = РаботаСПочтовымиСообщениями.ЕстьВнешниеРесурсы(ДокументHTML)
//
Процедура ОтфильтроватьСодержимоеТекстаHTML(ТекстHTML, Кодировка = Неопределено,
ОтключитьВнешниеРесурсы = Истина, ЕстьВнешниеРесурсы = Неопределено) Экспорт
ДокументHTML = ПолучитьОбъектДокументHTMLИзТекстаHTML(ТекстHTML, Кодировка);
ЕстьВнешниеРесурсы = РаботаСПочтовымиСообщениями.ЕстьВнешниеРесурсы(ДокументHTML);
РаботаСПочтовымиСообщениями.ОтключитьНебезопасноеСодержимое(ДокументHTML, ЕстьВнешниеРесурсы И ОтключитьВнешниеРесурсы);
ТекстHTML = ПолучитьТекстHTMLИзОбъектаДокументHTML(ДокументHTML);
КонецПроцедуры
Удаляет из документа HTML скрипты, обработчики событий, а также очищает ссылки на ресурсы, загружаемые по http(s).
РаботаСПочтовымиСообщениями.ОтключитьНебезопасноеСодержимое(ДокументHTML, ОтключитьВнешниеРесурсы)
//
Процедура ОтфильтроватьСодержимоеТекстаHTML(ТекстHTML, Кодировка = Неопределено,
ОтключитьВнешниеРесурсы = Истина, ЕстьВнешниеРесурсы = Неопределено) Экспорт
ДокументHTML = ПолучитьОбъектДокументHTMLИзТекстаHTML(ТекстHTML, Кодировка);
ЕстьВнешниеРесурсы = РаботаСПочтовымиСообщениями.ЕстьВнешниеРесурсы(ДокументHTML);
РаботаСПочтовымиСообщениями.ОтключитьНебезопасноеСодержимое(ДокументHTML, ЕстьВнешниеРесурсы И ОтключитьВнешниеРесурсы);
ТекстHTML = ПолучитьТекстHTMLИзОбъектаДокументHTML(ДокументHTML);
КонецПроцедуры
Пустая структура для заполнения параметра "ПараметрыШтрихкода" используемого для получения изображения штрих кода.
Результат = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода()
//
Функция ДанныеQRКода(QRСтрока, УровеньКоррекции, Размер) Экспорт
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();
ПараметрыШтрихкода.Ширина = Размер;
ПараметрыШтрихкода.Высота = Размер;
ПараметрыШтрихкода.Штрихкод = QRСтрока;
ПараметрыШтрихкода.УровеньКоррекцииQR = УровеньКоррекции;
ПараметрыШтрихкода.ТипКода = 16; // QR
ПараметрыШтрихкода.УбратьЛишнийФон = Истина;
Попытка
РезультатФормированияШтрихкода = ИзображениеШтрихкода(ПараметрыШтрихкода);
ДвоичныеДанныеКартинки = РезультатФормированияШтрихкода.ДвоичныеДанные;
Исключение
ТекстОшибки = НСтр("ru = 'Ошибка формирование QR-кода'");
ЗаписьЖурналаРегистрации(ТекстОшибки, УровеньЖурналаРегистрации.Ошибка, , ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Возврат ДвоичныеДанныеКартинки;
КонецФункции
Формирование изображения штрихкода.
Результат = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода)
Генерация штрихкодов с помощью БСП для программистов
Возвращает двоичные данные для формирования QR-кода.
ДанныеQRКода = ГенерацияШтрихкода.ДанныеQRКода(QRСтрока, 0, РазмерКода);
Для вызова с клиента: Открывает форму для отправки нового SMS. Для вызова с сервера: Отправляет SMS через настроенного поставщика услуги, возвращает идентификатор сообщения.
ОтправкаSMSКлиент.ОтправитьSMS(НомераПолучателей, Текст, ДополнительныеПараметры)
Запрашивает статус доставки сообщения у поставщика услуг.
Результат = ОтправкаSMS.СтатусДоставки(ИдентификаторСообщения)
Проверяет правильность сохраненных настроек отправки SMS.
Результат = ОтправкаSMS.НастройкаОтправкиSMSВыполнена()
//
Если Не ОтправкаSMS.НастройкаОтправкиSMSВыполнена() Тогда
РезультатОтправки.Ошибка = Истина;
РезультатОтправки.ТекстОшибки = НСтр("ru = 'Ошибка при отправке SMS: не выполнена настройка отправки.'");
Возврат РезультатОтправки;
КонецЕсли;
Проверяет возможность отправки SMS для текущего пользователя.
Результат = ОтправкаSMS.ДоступнаОтправкаSMS()
Анализ производился на конфигурации 1С:ERP Управление предприятием 2.6.1.64 (БСП 3.1.12.310).
Также рекомендую ознакомиться с полезными разработками:
Выгрузка и загрузка данных XML адаптивная
Конструктор параметров командной строки
Конструктор управляемых форм. Программное создание элементов
Быстрый запуск внешних обработок. Решение трех проблем
Быстрый поиск иконок в ресурсах и библиотеке картинок
Вступайте в нашу телеграмм-группу Инфостарт
БСП полезные функции справка БСП
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
БСП (Библиотека стандартных подсистем) Разработчик Платные (руб)
Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.
3254 руб.
21.11.2024 14568 51 30
Файловый обмен (TXT, XML, DBF), FTP БСП (Библиотека стандартных подсистем) Разработчик 1С:Предприятие 8 1С:Библиотека стандартных подсистем Россия Бесплатно (free)
Продолжение истории о своём движке, который превращает CF в XML без базы и без платформы. Теперь БСП 3.1 выгружается полностью: 9 174 из 9 174 файлов совпадают со штатной выгрузкой байт в байт, ошибок ноль. Для разработчиков, которым интересен внутренний формат 1С и выгрузка конфигураций в файлы.
29.10.2026 1944 vanya_gonchar 21
БСП (Библиотека стандартных подсистем) Разработчик 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)
Наиболее часто используемые методы БСП 3.1.12. На момент публикации БСП 3.1.12 - является последней версией, и на ней построены все новые типовые конфигурации.
28.09.2026 4751 SergMuravev 2
БСП (Библиотека стандартных подсистем) Разработчик 1С 8.3 1С:Библиотека стандартных подсистем Россия Абонемент ($m)
Все мы когда-то писали свои функции для получения реквизита через точку или парсинга строк. В этой статье собрана выжимка самых полезных и ежедневно необходимых процедур и функций БСП. Никакой сухой документации ИТС — только жизненные кейсы, чистый код и разбор ситуаций, когда стандартные подсистемы делают работу за нас.
1 стартмани
30.07.2026 10076 Elya_Elya 14
БСП (Библиотека стандартных подсистем) Разработчик Стажер 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)
Часто требуется вывести понятное пользователю сообщение, ткнув его в конкретный проблемный реквизит, что называется, "носом"... И вот тут довольно часто приходится перечитывать параметры функции ОбщегоНазначения[Клиент].СообщениеПользователю. Решила написать для себя шпаргалку и поделиться с сообществом.
24.07.2026 3076 check2 2
БСП (Библиотека стандартных подсистем) Разработчик 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)
Каждый раз, когда разработчик 1С пишет очередной цикл для свертки массива или использует конструкцию Попытка / Исключение для проверки наличия реквизита, где-то грустит один архитектор фирмы «1С». Мы привыкли изобретать велосипеды там, где в Библиотеке стандартных подсистем (БСП) уже давно лежат готовые, оптимизированные и протестированные на тысячах баз решения. Ниже — практическая подборка из 8 методов актуальных релизов БСП (3.X), которые сделают ваш код чище, быстрее и профессиональнее. Разберем на примерах «Было / Стало».
04.06.2026 13877 Kaliostr0 21
Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)
Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С
25000 руб.
06.03.2026 2727 4 0
БСП (Библиотека стандартных подсистем) Универсальные функции Разработчик 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)
Когда появляется необходимость сделать подключаемую внешнюю обработку, будь это печатная форма или отчет - нам всегда приходится прописывать сведения о внешней обработке для подключения их в соответствующий справочник. И это занимает некоторое время, что не очень удобно. Как для себя, так и для вас - я подготовил ряд примеров использования этой функции, можете выбрать один из них, чтобы в дальнейшем использовать их в шаблонах текста. Комментарии по дополнению и исправлению статьи - приветствуются.
06.02.2026 25114 manul1c 7
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 2807820
Создание 07.10.26 08:40
Обновление 07.10.26 08:40
Просмотры 962
Загрузки 0
Рейтинг
8
Комментарии 0
Код открыт Да
Рубрики БСП (Библиотека стандартных подсистем)
Кому Разработчик
Тип файла Нет файла
Платформа 1С 8.3
Конфигурация
Универсальные
,
1С:Библиотека стандартных подсистем
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)