Как разобрать "наименование" сотрудника Ф.И.О. на Фамилию и инициалы сотрудника? Код 1C v 7.x
Функция глРазложить(Знач Стр, Разделитель = ",") Экспорт
СЗ = СоздатьОбъект("СписокЗначений");
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
СЗ.ДобавитьЗначение(Стр);
Возврат СЗ;
КонецЕсли;
СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
СЗ.ДобавитьЗначение(Стр);
Возврат СЗ;
КонецЕсли;
СЗ.ДобавитьЗначение(Лев(Стр,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделителя);
КонецЦикла;
КонецЕсли;
КонецФункции
Функция ФамилияИмяОтчество(Объект,Фамилия="",Имя="",Отчество="") Экспорт
Если ТипЗначения(Объект)=2 Тогда
ФИО = глРазделить(СокрЛП(Объект),",");
Иначе
ФИО = глРазделить(СокрЛП(Объект.Наименование),",");
КонецЕсли;
ФИО = глРазложить(ФИО," ");
Фамилия = ""; Имя = ""; Отчество = "";
Если ФИО.РазмерСписка() > 0 Тогда
Фамилия = ФИО.ПолучитьЗначение(1);
Если ФИО.РазмерСписка() > 1 Тогда
Имя = ФИО.ПолучитьЗначение(2);
Если ФИО.РазмерСписка() > 2 Тогда
// а вот отчество бывает и не из одного слова
Для Сч = 3 По ФИО.РазмерСписка() Цикл
Отчество = Отчество + ФИО.ПолучитьЗначение(Сч) + " ";
КонецЦикла;
Если ПустоеЗНачение(Отчество) = 0 Тогда
Отчество = Лев(Отчество,СтрДлина(Отчество)-1);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Фамилия+?(ПустоеЗначение(Имя)=0," "+Лев(Имя,1)+"."+?(ПустоеЗначение(Отчество)=0,Лев(Отчество,1)+".",""),"")
КонецФункции
Код 1C v 8.х
Функция глРазложить(Знач Стр, Разделитель = ",") Экспорт
СЗ = Новый СписокЗначений;
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
СЗ.Добавить(Стр);
Возврат СЗ;
КонецЕсли;
СЗ.Добавить(Лев(Стр,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
СЗ.Добавить(Стр);
Возврат СЗ;
КонецЕсли;
СЗ.Добавить(Лев(Стр,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделителя);
КонецЦикла;
КонецЕсли;
КонецФункции
Функция РазборФИО(Сотрудник)
ФИО = глРазложить(Сотрудник," ");
Фамилия = ""; Имя = ""; Отчество = "";
Если ФИО.Количество() > 0 Тогда
Фамилия = Строка(ФИО.Получить(0));
Если ФИО.Количество() > 1 Тогда
Имя = Строка(ФИО.Получить(1));
Если ФИО.Количество() > 2 Тогда
// а вот отчество бывает и не из одного слова
Для Сч = 2 По ФИО.Количество()-1 Цикл
Отчество = Отчество + Строка(ФИО.Получить(Сч)) + " ";
КонецЦикла;
Если ЗначениеЗаполнено(Отчество) Тогда
Отчество = Лев(Отчество,СтрДлина(Отчество)-1);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Фамилия+?(ЗначениеЗаполнено(Имя)," "+Лев(Имя,1)+"."+?(ЗначениеЗаполнено(Отчество),Лев(Отчество,1)+".",""),"")
КонецФункции
Обязательно посмотрите более краткий вариант!
Категория:
Полезные, Универсальные Функции Пакетный режим Конфигуратора 7.7 Пример пакетного файла:
[General]
Output="D:\Типовые конфигурации\1SBBDemo\log.txt"
Quit=1
SaveData=1
[SaveData]
SaveToFile="D:\Типовые конфигурации\1SBBDemo\arch.zip"
Ярлык для запуска базы и выполнения файла пакетного режима:
\\Server\1cv77\BIN\1cv7s.exe config /D "D:\Типовые конфигурации\1SBBDemo\" /@"D:\Типовые конфигурации\1SBBDemo\paket.txt"
Комментарий к файлу:
Во время работы будет сформирован лог-файл (Output="D:\Типовые конфигурации\1SBBDemo\log.txt"). Он будет здесь D:\Типовые конфигурации\1SBBDemo\log.tx.
Будет выполнено сохранение данных (SaveData=1) в файл arch.zip (SaveToFile="D:\Типовые конфигурации\1SBBDemo\arch.zip"). После выполения работы - конфигуратор будет закрыт (Quit=1). Информационная база хранится в D:\Типовые конфигурации\1SBBDemo\. Файл пакетного режима харанится в папке базы и называется paket.txt.
Пакетный режим является мощным инструментом. Чаще всего используется для создания архивных копий. Проблема только в том, что он архив делается всегда под одним именем. И чтобы не затирать старые архивы, требуется некоторая изворотливость с конфигурационным файлом пакетного режима. Но здесь огромное поле для фантазии, по этому предоставляю Вам возможность фантазировать.
Более подробно читайте в статье
Параметры, ключи запуска 1Сv7 из командной строки Категория:
Администрирование V8 Reader : View er for 1C:Enterprise v8 external modules Просмотр внешних модулей 1С:Предприятие 8, таких как внешние обработки и внешние отчеты.Интегрируется в Windows, ассоциируется с отчетами и...
Просмотр внешних модулей 1С:Предприятие 8, таких как внешние обработки и внешние отчеты.
Интегрируется в Windows, ассоциируется с отчетами и обработками 1С Может открывать файлы, модули, формы и макеты. Может сравнивать содержимое файлов, метаданные, модули и макеты. Несколько скринов
Основное окно программы:
Режим просмотра обработки
Режим просмотра / правки кода
Режим сравнения файлов
Автор: Андрей Овсянкин | Страница проекта: на sourceforge
Категория:
Инструменты программиста