Наумов Сергей | Руководитель | Команда Naumov Pro

«Управление проектами по автоматизации бюджетирования»

Проекты по автоматизации бюджетирования имеют много особенностей, связанных как с предметной областью, так и проектной методологией. В докладе поговорим про такие особенности, наш опыт автоматизации и рассмотрим типовые ошибки. Темы, рассматриваемые в докладе: * Типовые ошибки автоматизаторов бюджетирования * Лучшие приемы выполнения проектов по нашему опыту * Особенности реализации бюджетирования в 1С:ERP2 и 1С:КА * Обоснование необходимости доработок и архитектурные подходы к доработкам подсистемы бюджетирования в 1С:ERP2 и 1С:КА2 * Интеграция бюджетирования с процессами стратегического планирования на предприятии

ЗУП 3.1: Проверка адресов сотрудников

Отчеты - Анализ учета

Проверка адресов прописки контрагентов в ЗУП. Отлаживалась на релизе Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.2.94).

Суть проверки сводится к эмулированию нажатия кнопки "Проверить заполнение" на форме ввода адреса сотрудника в цикле по массиву ссылок на сотрудников. Работает тупо и медленно. Благо, пользоваться нужно не часто. Человек 200 минут за 10 должна проверить.

Основная идея работы обработки в коде:

        ФормаСотрудника=получитьформу("Справочник.Сотрудники.Форма.ФормаЭлемента",новый Структура("Ключ",текСотрудник));

        // получаем форму спр.Сотрудники ЛичныеДанные с нужными параметрами
        ОписаниеДополнительнойФормы=СотрудникиКлиентСервер.ОписаниеДополнительнойФормы("Справочник.Сотрудники.Форма.ЛичныеДанные");
        ПараметрыФормы = ПараметрыДополнительнойФормы(ОписаниеДополнительнойФормы, ФормаСотрудника);
        ФормаЛичныхДанных=ПолучитьФорму(ОписаниеДополнительнойФормы.ИмяФормы, ПараметрыФормы, ФормаСотрудника,истина);

        // нужно знать имя поля Адрес по прописки, кликая по которому, открываем форму ввода адреса
        ИмяПоляАдресПоПрописке="";
        Для каждого эл из ФормаЛичныхДанных.Элементы цикл
            если типзнч(эл)<>тип("ПолеФормы") тогда продолжить КонецЕсли;

            если не лев(эл.Имя,24)="КонтактнаяИнформацияПоле" тогда продолжить КонецЕсли;

            если не типзнч(эл.Родитель)=тип("ГруппаФормы") тогда продолжить КонецЕсли;

            верхнийРодитель=эл.Родитель.Родитель;
            если не типзнч(верхнийРодитель)=тип("ГруппаФормы") тогда продолжить КонецЕсли;

            если верхнийРодитель.Заголовок="Адрес по прописке" тогда
                ИмяПоляАдресПоПрописке=эл.Имя;
                прервать;
            КонецЕсли;
        КонецЦикла;

        если ИмяПоляАдресПоПрописке="" тогда
            сообщить("Ошибка проверки "+тексотрудник+", не найдено поле адреса по прописке");
            продолжить;
        КонецЕсли;

        // получаем форму ввода адреса
        МодульУправлениеКонтактнойИнформациейКлиент =
            ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеКонтактнойИнформациейКлиент");
        // процедура формы ЛичныеДанные НачалоВыбора несколько подкорректирована    - добавлена ссылка на ФормаЛичныхДанных
        ФормаАдреса=НачалоВыбора(ФормаЛичныхДанных, Новый Структура("Имя",ИмяПоляАдресПоПрописке), , истина);

        ПредупреждатьОбОтсутствииОшибок=ложь; ТребуетсяОбновление=ложь;
        Контекст = КонтекстФормыКлиент(ФормаАдреса);
        СписокОшибок = СписокОшибокЗаполнения(Контекст, ПредупреждатьОбОтсутствииОшибок, ТребуетсяОбновление);
		

Скачать файлы

Наименование Файл Версия Размер
Проверка адресов сотрудников
.epf 17,05Kb
29.01.17
16
.epf 17,05Kb 16 Скачать

См. также

В этой теме еще нет сообщений.
Оставьте свое сообщение