8.х Обработка по Заполнению ДатыРегистрации - доработка

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем lutdan, 30 апр 2013.

  1. TopicStarter Overlay
    lutdan
    Offline

    lutdan

    Регистрация:
    29 ноя 2012
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, Гуру!

    Конфигурация 1С - 8.2 Зарплата и кадры

    Не пинайте новичка, но хотел бы попросить разобраться.
    Дело в том, что кадровики изначально заводили Дату регистрации в "Паспортные данные физического лица" (см. картинку), а в Адрес сотрудника они ее не вводили. Хотелось бы перенести ее именно в адреса (чтобы вручную не носить)

    У меня есть вот такая обработка, которая заполняет в (ФИЗИЧЕСКИЕ ЛИЦА -> Адрес) пустую Дату регистрации на указанную на форме дату. То есть цикл, который проходит по всем сотрудникам у которых пустая дата регистрации в Адресе и заполняет на дату указанную в обработке. Каким образом переделать код, чтобы он брал Дату регистрации с паспортных данных физ лица? Правда если она уже заполнена в (ФИЗИЧЕСКИЕ ЛИЦА -> Адрес), то ничего не менял. Также если в Паспортных данных Дата регистрации пустая, то ничего не менял.

    Надеюсь понятно объяснил)

    Обработку и скрин прилагаю.


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

    Вложения:

  2. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Делайте запрос к регистру сведений --> Паспортные данные, в этом регистре имеются нужные Вам даты...
    ЗЫ: а где в адресе регистрации Вы хотите указать дату??
  3. TopicStarter Overlay
    lutdan
    Offline

    lutdan

    Регистрация:
    29 ноя 2012
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Вы про эту строчку ?
    Код:
    ЭлементДатаРегистрации = Дата;[/size][/color][color=#282828][size=2]
    ? Дата берется из формы.


    Вот запрос
    Код:
    ВЫБРАТЬ[/size]
    [size=2]ПаспортныеДанныеФизЛиц.ДатаРегистрацииПоМестуЖительства
    ИЗ
    РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
    ПО ПаспортныеДанныеФизЛиц.ФизЛицо = ФизическиеЛица.Ссылка
    ГДЕ
    ПаспортныеДанныеФизЛиц.ФизЛицо = &ФизЛицо


    Но как его вбить в этот обработчик?
  4. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    у Вас типовая конфигурация ЗУП?? В типовой нет:
    может такой запрос:

    Код:
    "ВЫБРАТЬ
    | ПаспортныеДанныеФизЛиц.ФизЛицо,
    | ПаспортныеДанныеФизЛиц.ДатаРегистрацииПоМестуЖительства
    |ИЗ
    | РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц
    |ГДЕ
    | ПаспортныеДанныеФизЛиц.ФизЛицо = &ФизЛицо";
  5. TopicStarter Overlay
    lutdan
    Offline

    lutdan

    Регистрация:
    29 ноя 2012
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    "у Вас типовая конфигурация ЗУП?? В типовой нет:"
    Зарплата и кадры. Медицина

    Подскажите пожалуйста куда этот запрос вставить, как сделать цикл.

Поделиться этой страницей