9 сент. 2016 г.

Получить фамилию с инициалами

Функция взята с интернета.
Функция ПолучитьФамилиюСИнициалами(знач ФИО)
 
    ФИОСПереносами = СтрЗаменить(ФИО, " ", Символы.ПС);
 
    ЧастиСтроки = Новый Массив;
    Для Индекс = 1 По СтрЧислоСтрок(ФИОСПереносами) Цикл
        Стр = СтрПолучитьСтроку(ФИОСПереносами, Индекс);
        Если ЗначениеЗаполнено(Стр) Тогда
            ЧастиСтроки.Добавить(СокрЛП(Стр));
        КонецЕсли;
    КонецЦикла;
 
    Результат = "";
 
    Если ЧастиСтроки.Количество() > 0 Тогда
        Результат = Результат + ЧастиСтроки[0];
 
        Если ЧастиСтроки.Количество() > 1 Тогда
            Результат = Результат + " " + Лев(ЧастиСтроки[1], 1) + ".";
 
            Если ЧастиСтроки.Количество() > 2 Тогда
                Результат = Результат + " " + Лев(ЧастиСтроки[2], 1) + ".";
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
 
    Возврат Результат;
 
КонецФункции
Отправляем в функцию Иванов Иван Иванович в результате получаем Иванов И.И.

Соединить три макета в одном

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

        таб2    = Новый ТабличныйДокумент;
        таб2.Вывести(ПолучитьМакет("Макет2"));
        таб2.Показать();

        таб     = Новый ТабличныйДокумент;
        выс     = Макс(таб1.ВысотаТаблицы, таб2.ВысотаТаблицы);
       
        обл     = ПолучитьМакет("Макет").ПолучитьОбласть("Область1|Область2");

        обл1= таб1.ПолучитьОбласть(1,1, выс, таб1.ШиринаТаблицы);
        обл2= таб2.ПолучитьОбласть(1,1, выс, таб2.ШиринаТаблицы);
       
        таб.Вывести(обл1);
        таб.Присоединить(обл);
        таб.Присоединить(обл2);
        таб.Показать();
КонецПроцедуры

Выполнить 1С

&НаКлиенте
Функция ВыполнитьФормулуНаСервере() Экспорт 
        Перем Р;
        Формула = ""; 
        Для Каждого Ф Из ЗаписатьВМассивФормулу Цикл 
                ТекстФормулы = НайтиШаблон(Ф);
                Если ЗначениеЗаполнено(ТекстФормулы) Тогда 
                        Формула = Формула + ТекстФормулы;
                Иначе 
                        Сообщить("Формулу " + Ф + " в списке шаблонов не найдено");
                КонецЕсли;
        КонецЦикла;
       
        Выполнить("Р=" +Формула);
        Возврат Р;
КонецФункции
"Секрет" в том, что функция Выполнить() должна возвращать какое то значение, 
на то это и функция, а значит нужно определить сначала переменную куда будет 
возвращено значения выполненной команды.

Посмотреть запрос динамического списка

&НаСервере
Процедура Команда1НаСервере()
       
        //Список - это динамический список на форме списка справочника
        Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
        Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
       
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        Макет = КомпоновщикМакета.Выполнить(Схема,Настройки);
       
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
        //посмотреть запрос динамического списка
        Команда1НаСервере();
КонецПроцедуры
Ставим точку останова на Макет, а далее Макет.НаборыДанных.НаборДанныхДинамическогоСписка.Запрос
мы получим запрос, который выбирает данные для динамического списка
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07