Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Обработчик/расширение чтобы не менялся реквизит "Название"

Обработчик/расширение чтобы не менялся реквизит "Название"
Я
   los_hooliganos
 
04.07.19 - 12:53
Добрый день. Есть типовой механизм обмена между БП и ЗУП.
Для справочника Подразделение есть пожелание сделать так чтобы не менялось "Наименование" при обмене между базами.
Т.к. кадры и бухгалтерия могут иметь свои Названия для своих нужд.
Лезить в типовой механизм обмена не хочется, т.к. правила меняются и обновляются.
Как лучше реализовать сохранение реквизита в базе за счет обработчиков или расширений?
 
 
   los_hooliganos
 
1 - 04.07.19 - 12:54
тфу.. имел ввиду типовой реквизит "Наименование"
   Вафель
 
2 - 04.07.19 - 13:15
перед записью поставь
Наименование = Ссылка.Наименование
   los_hooliganos
 
3 - 05.07.19 - 05:08
(2) Да почти так и сделал.

&После("ПередЗаписью")
Процедура Расш_НППередЗаписью(Отказ)
    
    флНельзяМенять = НельзяМенятьИмяПодразделения();
        
    Если НЕ Наименование = Ссылка.Наименование И флНельзяМенять Тогда
        Наименование = Ссылка.Наименование;
    КонецЕсли;
    
КонецПроцедуры
   DrZombi
 
4 - 05.07.19 - 07:24
(0) Можно 
1. Наименование делаете единым взяв исходным из БП 3.0 (так проще, чем обратное)
2. Добавляете в ЗУП (можно через расширение) реквизит "РасшА_НаименованиеПолное" (любой длины, на свое безрассудство) :)
3. В модуле менеджера подразделения прописываете Код, ниже:

В итоге во всех ЗУП отчетах вы будете видеть полное наименование, т.е. такое, какое захочет кадровая служба
Соответственно на форму не забудьте добавить свой реквизит, можно и в список вывести, для гурманов настроек форм.

Код...

&Вместо("ОбработкаПолученияПредставления")
Процедура РасшА_ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    Попытка
        Если Не ПустаяСтрока(Данные.РасшА_НаименованиеПолное) Тогда
            Представление = СокрЛП(Данные.РасшА_НаименованиеПолное);
            СтандартнаяОбработка = Ложь;
        КонецЕсли;
    Исключение
        ПродолжитьВызов(Данные, Представление, СтандартнаяОбработка);
    КонецПопытки;
КонецПроцедуры

&После("ОбработкаПолученияПолейПредставления")
Процедура РасшА_ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
    
    Поля.Добавить("Наименование");
    Поля.Добавить("РасшА_НаименованиеПолное");
    Поля.Добавить("Ссылка");
    СтандартнаяОбработка = Ложь;
    
КонецПроцедуры
   DrZombi
 
5 - 05.07.19 - 07:26
(3) ну да, спасибо, мы подумаем, над вашим предложением :DDDD

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует