Каталог решений - Полезные процедуры и функции для программиста

Полезные процедуры и функции для программиста

Полезные процедуры и функции для программиста

В наличии

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

Категория:

Описание

1. Просмотр временной таблицы

Запрос.МенеджерВременныхТаблиц.Таблицы.Получить(0).ПолучитьДанные().Выгрузить();

2. Установка видимости реквизита по умолчанию

    РеквизитыПозиции = ДанныеДолжности();

    Если РеквизитыПозиции <> Неопределено Тогда

Объект.Учащийся = ?(РеквизитыПозиции.Учащийся = Неопределено, Ложь, РеквизитыПозиции.Учащийся);

        ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(

               Элементы,

               "ОбразованиеКвалификация",

               "Видимость",

               Объект.Учащийся);

    КонецЕсли;

3. Уничтожение временной таблицы

3.1

ЗарплатаКадры.УничтожитьВТ(

        МенеджерВременныхТаблиц,

        СтрРазделить("ВТФизическиеЛицаПатент,ВТКадровыеДанныеСотрудников,ВТИностранцыСотрудники,ВТИностранцы,ВТНерезиденты,ВТФиксированныеСтатусыФизическихЛиц,ВТТекущиеСтатусыФизическихЛиц,ВТИностранцыСДатами,ВТНачисления,ВТРегистрация,ВТРассчитанныеДниВРФ",","));

3.2

УдалитьВТ = Новый Массив;

УдалитьВТ.Добавить("втВременныеПозиции");

УдалитьВТ.Добавить("втВременныеПодразделения");

УдалитьВТ.Добавить("втФинальная");

ЗарплатаКадры.УничтожитьВТ(МенеджерВТ, УдалитьВТ);

4. Удаление значения из массива

ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(ВидыВремениВЗачетНормыСуммированногоУчета, ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент("Справочник.ВидыИспользованияРабочегоВремени.НеявкиПоНевыясненнымПричинам"));

5. Удаляет повторяющиеся элементы массива

Взаимодействия.УдалитьПовторяющиесяЭлементыМассива(МассивСпособовОтражений);

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

ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТПериоды(Запрос.МенеджерВременныхТаблиц, НачалоПериода, ОкончаниеПериода);

ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТПериоды(МенеджерВременныхТаблиц, НачалоИнтервала, ОкончаниеИнтервала, Периодичность = "МЕСЯЦ", ИмяПоляПериод = "Период", ИмяВТ = "ВТПериоды", ИспользоватьКонецПериода = Ложь) Экспорт

6.1. Временная таблица периодического регистра с периодами

ОписаниеФильтраПолученияГрафиков = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТПериодыЗапросаКадровойИстории", "ФизическоеЛицо", "ФизическоеЛицо");

ЗарплатаКадрыПериодическиеРегистры.СоздатьВТИмяРегистраПериоды("КадроваяИсторияСотрудников", МенеджерВременныхТаблиц, Ложь, ОписаниеФильтраПолученияГрафиков);

7. Создать временную таблицу из таблицы значений

ЗарплатаКадры.СоздатьВТПоТаблицеЗначений(Запрос.МенеджерВременныхТаблиц, ТаблицаСКД, "ВТСКД", Истина);

8. Предупреждение на сервере

ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(

        НСтр("ru=’Текст сообщения ""%1"".’"),

        СтрокаСотрудника.Сотрудник);

ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстПредупреждения);

9. Создать ВТ по имени регистра СрезПоследних

9.1

ОписаниеФильтра = ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудникиПериоды","Сотрудник");

ОписаниеФильтра.СоответствиеИзмеренийРегистраИзмерениямФильтра.Вставить("Период", "Период");

ОписаниеФильтра.СоответствиеИзмеренийРегистраИзмерениямФильтра.Вставить("Сотрудник", "Сотрудник");

ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних(

        "ГрафикРаботыСотрудников",

        МенеджерВременныхТаблиц,

        Истина,

        ОписаниеФильтра,, "ВТГрафики");

9.2

ОписаниеФильтра = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТФильтрПозиции", "Позиция");   

ПараметрыПостроения = ЗарплатаКадрыПериодическиеРегистры.ПараметрыПостроенияДляСоздатьВТИмяРегистраСрез();

ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(ПараметрыПостроения.Отборы, "Позиция", "<>", Справочники.ШтатноеРасписание.ПустаяСсылка());

мТиповыеПоказатели = Новый Массив;

мТиповыеПоказатели.Добавить(Справочники.ПоказателиРасчетаЗарплаты.НайтиПоРеквизиту("Идентификатор", "ПроцентПпремииПроизводственной"));

ПоказателиПремий.Добавить(Справочники.ПоказателиРасчетаЗарплаты.НайтиПоРеквизиту("Идентификатор", "ПроцентГодовойПремии"));

ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(ПараметрыПостроения.Отборы, "Показатель", "В", ПоказателиПремий);

ЗарплатаКадрыПериодическиеРегистры.СоздатьВТИмяРегистраСрезПоследних("ЗначенияПлановыхПоказателейРасчетаЗП", МенеджерВТ, Истина, ОписаниеФильтра, ПараметрыПостроения, "ВТЗначенияПлановыхПоказателейРасчетаЗП");

10. Открытие формы с последующим вызовом формы завершения

ОткрытьФорму("Справочник.Сотрудники.Форма.ФормаЭлемента",,ЭтотОбъект,,,, Новый ОписаниеОповещения("ЗагрузитьИзExcelЗавершение", ЭтотОбъект), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

11. Сообщение пользователю из модуля объекта с параметрами

ТекстСообщения = СтрШаблон(НСтр("ru = ‘Текст сообщения’"), СокрЛП(Код), Выборка.Организация, Выборка.Состояние);

ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,, "Код", "Объект", Отказ);

12. Сообщение пользователю из модуля менеджера

ОбщегоНазначенияКлиентСервер.СообщитьПользователю(

        СтрШаблон(

               НСтр("ru = ‘Код введен в неверном формате. Проведено преобразование из %1 в %2’"),

               СтрокаКод,

               НовыйКод),

        ,,,     Отказ);

13. Получение данных из регистра сведений не запросом

ДанныеОРаботнике = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(ТекущаяДата(),Новый Структура("Сотрудник", Сотрудник));

14. Значения реквизитов:

14.1 Возврат значения реквизита объекта через точку

ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ФизическоеЛицо, "Наименование");

14.2 Значения реквизитов, прочитанные из информационной базы для нескольких объектов

ВидыРасчета = Новый Массив;

Для Каждого СтрокаИсточника Из ТаблицаВычислений Цикл

        ВидыРасчета.Добавить(СтрокаИсточника.ВидНачисления);

КонецЦикла;

ВидыРасчетаИнфо = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(ВидыРасчета, "УчетВремениВЧасах,КатегорияНачисленияИлиНеоплаченногоВремени,ТребуетсяРасчетБазы");

15. Открытие дополнительной формы

СотрудникиКлиент.ОткрытьДополнительнуюФорму(

СотрудникиКлиентСервер.ОписаниеДополнительнойФормы("Справочник.МедицинскиеСтраховыеПолисы.Форма.ФормаПолисыПоСотруднику"), ЭтотОбъект);

16. Значение в массиве

ФизЛица = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ФизЛицо);

17. Создание временной таблицы "КадровыеДанныеСотрудников"

ОписательВТ = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(Запрос.МенеджерВременныхТаблиц, "ВТСотрудникиПериоды");

КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВТ, Ложь, "ТекущаяДолжность, ДатаПриема, ДатаУвольнения");

18. Проверка даты запрета изменения данных.

ДатыЗапретаИзменения.ПроверитьДатыЗапретаИзмененияДанных(Источник, Отказ, ИсточникРегистр = Ложь, Замещение = Истина, Удаление = Ложь)

19. Получает номер документа для вывода на печать; из номера удаляются префиксы и лидирующие нули.

ТабельныйНомер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Сотрудник.Код, Истина, Истина);

20. Возвращает полное имя объекта метаданных по переданному значению ссылки.

ИмяТаблицы = ОбщегоНазначения.ИмяТаблицыПоСсылке(Ссылка);

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

ФизическиеЛицаПодобранныхСотрудников = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(МассивСотрудников, "ФизическоеЛицо");

22. Запуск длительной процедуры в фоне

НаименованиеЗадания = НСтр("ru = ‘Заполнение документа ""Начисление зарплаты""’");

Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне(

        УникальныйИдентификатор,

        "Документы.НачислениеЗаПервуюПоловинуМесяца.ПодготовитьДанныеДляЗаполнения",

        СтруктураПараметров,

        НаименованиеЗадания);

23. Создает временную таблицу по набору записей

ЗарплатаКадры.СоздатьВТПоНаборуЗаписей(Запрос.МенеджерВременныхТаблиц, Движения.СведенияОДоходахНДФЛ, Истина, "ВТПеренесенныеДоходы");

24. Создание и инициализация менеджера расчета зарплаты. Возвращаемое значение — обработка менеджера расчета.

МенеджерРасчета = РасчетЗарплатыРасширенный.СоздатьМенеджерРасчета(МесяцНачисления, Организация);

25. Проверка реквизита, элемента формы на существование. Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство.

25.1

СтруктураПараметров.Свойство("ЗначенияРазовыхПоказателей", ЗначенияРазовыхПоказателей)

25.2

Элементы.Найти("ИсполнителиРабот")

26. Ищет по имени временную таблицу в менеджере

ЗарплатаКадры.ВТСуществует(МенеджерВременныхТаблиц, "ВТПоказателиРасчета")

27. Устанавливает текст заголовка, отображаемого, когда группа свернута.

ЗарплатаКадры.НастроитьОтображениеГруппыПодписей(Элементы.ПодписиГруппа, "Объект.Руководитель", "Объект.ГлавныйБухгалтер");

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

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

29. Возвращает виды времени сплошной регистрации в массиве

УчетРабочегоВремениРасширенный.ВидыВремениСплошнойРегистрации()

30. Подставляет параметры в строку. Максимально возможное число параметров — 9. Возвращаемое значение — текстовая строка с подставленными параметрами.

ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибкиШаблон, Выборка.СотрудникНаименование, Формат(Выборка.Дата, "ДФ=’dd.MM.yyyy ""г.""’"), Выборка.ВидВремениНаименование);

31. Получает ссылку предопределенного элемента по его полному имени.

31.1

ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент("Справочник.ВидыИспользованияРабочегоВремени.РаботаНочныеЧасы");

31.2

ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.ВидыИспользованияРабочегоВремени.РабочееВремя");

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

ЗарплатаКадры.ПроверитьКорректностьДаты(Ссылка, ДатаНачала, "Объект.ДатаНачала", Отказ, НСтр("ru=’Новая дата начала’"), , , Ложь);

33. Получает значение реквизита формы.

Таблица = ОбщегоНазначенияКлиентСервер.ПолучитьРеквизитФормыПоПути(ЭтотОбъект, ИмяТаблицы);

34. Возвращает ссылку на общий модуль по имени.

Модуль = ОбщегоНазначения.ОбщийМодуль("УправленческаяЗарплата");

35. Начисления

35.1.

СотрудникиДаты = тзТаблица.Скопировать(, "Объект, Период");

СотрудникиДаты.Колонки.Объект.Имя = "Сотрудник";

ТекущиеДанныеОплатыТруда = ПлановыеНачисленияСотрудников.ТекущиеДанныеОплатыТрудаСотрудников(Параметры.Объект.Ссылка, СотрудникиДаты);

35.2.

ДанныеНачислений = ЗарплатаКадрыРасширенный.ДействующиеНачисленияСотрудников(СотрудникиДаты, Параметры.Объект.Ссылка);

36. Возвращает соответствие имен предопределенных значений по ссылкам на них.

ПредопределенныеЗначения = СтандартныеПодсистемыПовтИсп.СсылкиПоИменамПредопределенных(СПРАВОЧНИК.ВИДЫИСПОЛЬЗОВАНИЯРАБОЧЕГОВРЕМЕНИ);

37. Массив видов рабочего времени, отражающих отработанное время (ОтработанноеВремя).

УчетРабочегоВремениРасширенный.ВидыВремениОтработанноеВремяДляСуммированногоУчета()

38. Массив видов рабочего времени, отражающих норму времени для суммированного учета рабочего времени.

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

УчетРабочегоВремениРасширенный.ВидыВремениВЗачетНормыСуммированногоУчета()

39. Кадровые данные физических лиц

#Область КадровыеДанныеФизическихЛиц

КадровыйУчетРасширенный.ЗапросВТКадровыеДанныеСотрудников

…

#КонецОбласти

40. Проверка заполнения на клиенте

Если НЕ ПроверитьЗаполнение() Тогда

     Возврат;

КонецЕсли;

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

ТекущиеДанные.СпособКомпенсацииПереработки = ПредопределенноеЗначение("Перечисление.СпособыКомпенсацииПереработки.ПовышеннаяОплата")

42. Возвращает сумму значений в поле [ИмяПоля] всех элементов коллекции.

УчетСреднегоЗаработкаКлиентСервер.ИтогиПоПолю(Коллекция, ИмяПоля)

43. Подключение внешней обработки/отчета, пример оформления модуля объекта.

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область СлужебныеПроцедурыИФункции

Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.4.4.106");

ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();

        ПараметрыРегистрации.Версия = "1.0";

        ПараметрыРегистрации.БезопасныйРежим = Истина;

        ПараметрыРегистрации.Наименование = НСтр("ru = ‘Добавляемая обработка’");

        НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();

        НоваяКоманда.Представление = НСтр("ru = ‘Имя команды обработки’");

        НоваяКоманда.Идентификатор = "ИдентификаторКоманды";

НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();

        НоваяКоманда.ПоказыватьОповещение = Истина;

        Возврат ПараметрыРегистрации;

КонецФункции

#КонецОбласти

#КонецЕсли

44. Узнать версию библиотеки стандартных подсистем — БСП

ОбновлениеИнформационнойБазыБСП.ПриДобавленииПодсистемы(Описание)

Процедура ПриДобавленииПодсистемы(Описание) Экспорт

        Описание.Имя    = "СтандартныеПодсистемы";

        Описание.Версия = "3.0.3.43";

        Описание.ИдентификаторИнтернетПоддержки = "SSL";

        Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";

        Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";

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

45. Узнать СпособОтраженияЗарплатыВБухучете у сотрудника

ОтражениеЗарплатыВБухучетеРасширенный.СоздатьВТСведенияОБухучетеЗарплатыСотрудников(Запрос.МенеджерВременныхТаблиц, "ВТСотрудники", "Сотрудник,Период", Организация);

46. Выполнить процедуру под полными правами

УстановитьПривилегированныйРежим(Истина);

 

ОписательВТ = КадровыйУчетРасширенный.ОписательВременнойТаблицыОтборовДляВТСтажиФизическихЛиц("ВТИсходныеДанные");

ОписательВТ.ИмяПоляВидСтажа = "ВидСтажа";

КадровыйУчетРасширенный.СоздатьВТСтажиФизическихЛиц(Запрос.МенеджерВременныхТаблиц, Ложь, ОписательВТ, "ВТСтажиФизическихЛиц");

 

УстановитьПривилегированныйРежим(Ложь);

47. Преобразовать строку таблицы значений в структуру

ПараметрыСтроки = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(ТаблицаПоказателей[0]);

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

ПараметрыЗаполнения = УчетРабочегоВремениРасширенный.ПараметрыДляЗапросВТДанныеУчетаВремениИСостоянийСотрудников();

ПараметрыЗаполнения.ИмяВТСотрудники = "ВТСотрудникиПериоды";

ПараметрыЗаполнения.ИмяВТРезультат = "ВТУчетРабочегоВремениПолный";

ПараметрыЗаполнения.РассчитыватьПлановоеВремя = Истина;

ПараметрыЗаполнения.ДатаАктуальности  = ПериодПланирования;

ПараметрыЗаполнения.ДатаНачала = АнализируемыйГод;

ПараметрыЗаполнения.ДатаОкончания = КонецГода(АнализируемыйГод);

ПараметрыЗаполнения.МесяцДатаНачала = АнализируемыйГод;

ПараметрыЗаполнения.МесяцДатаОкончания = КонецГода(АнализируемыйГод);

ПараметрыЗаполнения.ВыделятьВыходныеВПериодыОтклонений = Ложь;

УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаВремениИСостоянийСотрудников(Запрос.МенеджерВременныхТаблиц, Истина, ПараметрыЗаполнения);

49. Создать временную таблицу "Штатное расписание"

ПараметрыТаблицы = КадровыйУчет.ПараметрыПолученияВсехСотрудниковОрганизацийПоСпискуФизическихЛиц();

ПараметрыТаблицы.Организация = СтруктураПараметров.Организация;

ПараметрыТаблицы.НачалоПериода = СтруктураПараметров.Дата;

ПараметрыТаблицы.ОкончаниеПериода = СтруктураПараметров.Дата;

КадровыйУчет.СоздатьВТСотрудникиОрганизации(МенеджерВТ, Истина, ПараметрыТаблицы, "ВТСотрудникиПредварительно");

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

        "ВЫБРАТЬ

        |       *

        |ПОМЕСТИТЬ ВТСотрудники

        |ИЗ

        |       ВТСотрудникиПредварительно КАК ВТСотрудникиПредварительно

        |ГДЕ

        |       ВТСотрудникиПредварительно.ДатаУвольнения = ДАТАВРЕМЯ(1,1,1)

        |;

        |УНИЧТОЖИТЬ ВТСотрудникиПредварительно

        |";

Запрос.Выполнить();

ПараметрыТаблицы = УправлениеШтатнымРасписанием.ПараметрыПостроенияВТШтатноеРасписание(СтруктураПараметров.Дата, СтруктураПараметров.Организация);

ПараметрыТаблицы.ДополнитьОписаниемНачислений = Истина;

ПараметрыТаблицы.ПолноеОписаниеНачислений = Истина;

ПараметрыТаблицы.Вставить("ПоказыватьПлановыеПозиции");

 

УправлениеШтатнымРасписанием.СоздатьВТШтатноеРасписание(МенеджерВТ, Истина, ПараметрыТаблицы, , "ВТВыбраныПозицииШР");

50. Динамическое добавление реквизита на форму из общего модуля

ЗарплатаКадрыРасширенный.МногофункциональныеДокументыДобавитьЭлементыФормы(Форма, НСтр("ru=’Новый’"), "ГруппаНовых", "Новый");

Элементы.Новый.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Лево;

Элементы.Новый.Доступность = Пользователи.РолиДоступны("ДобавлениеНовых");

51. Программное добавление возможности отбора в динамический список формы

Если Не Пользователи.РолиДоступны("ИспользованиеДополнителныхРеквизитов") Тогда

        Форма.Список.ТекстЗапроса = Форма.Список.ТекстЗапроса + "

        |ГДЕ

        |       Документ.НужныйРеквизит = ЛОЖЬ";

КонецЕсли;

52. Обновить список документов — аналог кнопки F5

ОповеститьОбИзменении(Тип("ДокументСсылка.РаботаВВыходныеИПраздничныеДни"));

53. Создать объект ОписаниеТипов

НоваяКолонка = ТЗ.Колонки.Добавить("КолонкаДата", ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты.Дата));

НоваяКолонка = ТЗ.Колонки.Добавить("КолонкаЧисло", ОбщегоНазначения.ОписаниеТипаЧисло(12));

НоваяКолонка = ТЗ.Колонки.Добавить("КолонкаСтрока", ОбщегоНазначения.ОписаниеТипаСтрока(100));

НоваяКолонка = ТЗ.Колонки.Добавить("КолонкаСсылка", ОбщегоНазначения.ОписаниеТипаВсеСсылки());

54. Преобразовать таблицу значений в массив

мсДанных = Новый Массив;

Для Каждого СтрокаТЗ Из тзДанных Цикл   

    стСтрокаТаблицы = Новый Структура;

    Для Каждого ИмяКолонки Из тзДанных.Колонки Цикл

        стСтрокаТаблицы.Вставить(ИмяКолонки.Имя, СтрокаТЗ[ИмяКолонки.Имя]);

    КонецЦикла;   

    мсДанных.Добавить(стСтрокаТаблицы);   

КонецЦикла;

55. Преобразовать адрес формата XML контактной информации в структуру старого формата

СтруктураАдреса = ЗарплатаКадры.СтруктураАдресаИзXML(Адрес,

ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ПочтовыйАдресОрганизации"));

Адрес = СтруктураАдреса.Представление;

56. Дополнить массив МассивПриемник значениями из массива МассивИсточник

ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивПриемник, МассивИсточник, Истина);

57. Дополнить таблицу значений — приемника данными из таблицы значений — источника

ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(ТаблицаИсточник, ТаблицаПриемник);

58. Вернуть значения реквизитов объекта

ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Данные.ФизическоеЛицо, "ФИО,Фамилия,Имя,Отчество,УточнениеНаименования");

ФИО = Новый Структура("Фамилия,Имя,Отчество");

ЗаполнитьЗначенияСвойств(ФИО, ЗначенияРеквизитов);

59. Вернуть текущего пользователя

ТекущийПользователь=ОбщегоНазначенияУХ.ПолучитьЗначениеПеременной("глТекущийПользователь");

60. Выполнить копирование документа

ИсправлениеДокументовЗарплатаКадры.СкопироватьДокумент(Приемник, Источник, ИсключаемыеСвойства = "", ИсключаемыеТабличныеЧасти = "", ДанныеЗаполнения = Неопределено) Экспорт;

61. Подставить свой макет в СКД

СхемаКомпоновкиДанных          = ПолучитьМакет("МакетСКД");

АдресСхемыКомпоновкиДанных     = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, Новый УникальныйИдентификатор);

ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных);

       

КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек);

КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);

 

62. Отладить внешнюю обработку

Общий модуль ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку

Функция ПодключитьВнешнююОбработку(Ссылка) Экспорт

        СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = ‘Подключение, БезопасныйРежим = ""%1"".’"), БезопасныйРежим));

        //ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим,

        //ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());

        ИмяОбработки = Менеджер.Создать("C:\1C\МояОбработка.epf", Ложь);

        ИмяОбработки = "МояОбработка";

        Возврат ИмяОбработки;       

КонецФункции

63. Схема запроса

СхемаЗапроса = Новый СхемаЗапроса;

СхемаЗапроса = УстановитьТекстЗапроса(ТекстЗапроса);

 

64. Преобразовать строковое представление УИД в ссылку на объект текущей информационной базы

ПолученныеДанные.ОсновнойДоговор = ОбменДаннымиXDTOСервер.СсылкаОбъектаПоУИДОбъектаXDTO(ДанныеXDTO.AdditionalInfo, Тип("СправочникСсылка.ДоговорыКонтрагентов"), КомпонентыОбмена);

 

65. Выполнить поиск правила конвертации объекта по имени

ПКОСвойство = ОбменДаннымиXDTOСервер.ПКОПоИмени(КомпонентыОбмена, "Справочник_ДополнительныеРеквизиты_Получение");

 

66. Вернуть объект информационной базы, соответствующий полученным данным XDTO

ТекСвойство = ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ(КомпонентыОбмена, СтрТабДопСвойств.Свойство, ПКОСвойство, "КонвертироватьИЗаписать");

has been added to your cart:
Оформление заказа