Расшифровка подписи ответственных лиц в счетах-фактурах - УПП 1.3
Доброго времени суток!
В ПУБ 77 у меня это реализовано следующим образом - создан справочник "Дополнительные сведения пользователя" подчиненный типовому справочнику "Пользователи", в нем есть ограничение на создание только одного элемента справочника, в котором и содержатся значения реквизитов, требующихся для заполнения Подвала Счета-фактуры - Сотрудник соответствующий Пользователю, текст основания дающего право подписи.
В итоге Подвал печатной формы Счета-фактуры выглядит следующим образом - в расшифровке подписи Руководителя и Глав.буха появляется ФИО того пользователя, который создавал электронный документ Счет-фактура, а ниже идет справочный текст "Согласно приказа № ... от ... право подписи за Руководителя и Главного бухгалтера имеет сотрудник с такой-то должностью и таким-то ФИО"
Прошу подсказать - как аналогичный механизм разумнее всего реализовать в УПП 1.3 ?
В ПУБ 77 у меня это реализовано следующим образом - создан справочник "Дополнительные сведения пользователя" подчиненный типовому справочнику "Пользователи", в нем есть ограничение на создание только одного элемента справочника, в котором и содержатся значения реквизитов, требующихся для заполнения Подвала Счета-фактуры - Сотрудник соответствующий Пользователю, текст основания дающего право подписи.
В итоге Подвал печатной формы Счета-фактуры выглядит следующим образом - в расшифровке подписи Руководителя и Глав.буха появляется ФИО того пользователя, который создавал электронный документ Счет-фактура, а ниже идет справочный текст "Согласно приказа № ... от ... право подписи за Руководителя и Главного бухгалтера имеет сотрудник с такой-то должностью и таким-то ФИО"
Прошу подсказать - как аналогичный механизм разумнее всего реализовать в УПП 1.3 ?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Looking, Действительно, через регистр сведений. В БП 8 создан регистр Уполномоченные лица организаций. Про вашу конфигурацию не могу сказать, но логика такова; Ответственный за документ (создавший), комментарий (по доверенности...от...без номера...или еще как), сотрудник, который выступает по доверенности.
В 1С УПП эти свдения находяться в регистре свдений , называется он "Фамилия Имя отчество физ лица"
в общим модулях есть стандатрно написання функция для работы с этим регистром.
Хотя можете написать и свою.
Вот код функции из общих модулей, уже имеющийся в 1С.
В общем то и придумывать ни чего не нужно
в общим модулях есть стандатрно написання функция для работы с этим регистром.
Хотя можете написать и свою.
Функция ФамилияИмяОтчествоФизЛица(Объект)
ТипОбъекта = ТипЗнч(Объект);
ФИО = Новый Массив;
Если ТипОбъекта <> Тип("Неопределено") Тогда
СписокТиповСсылок = ОбщегоНазначенияПереопределяемый.ВернутьСписокТиповСсылокДляФормированияФИО();
СписокТиповОбъектов = ОбщегоНазначенияПереопределяемый.ВернутьСписокТиповОбъектовДляФормированияФИО();
Если ТипОбъекта = Тип("Строка") Тогда
ФИО = РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект)," ");
ИначеЕсли СписокТиповСсылок.СодержитТип(ТипОбъекта) Или СписокТиповОбъектов.СодержитТип(ТипОбъекта) Тогда
Если ТипОбъекта = Тип("СправочникСсылка.ФизическиеЛица") или
ТипОбъекта = Тип("СправочникСсылка.СотрудникиОрганизаций") Тогда
Наименование = ПолучитьЗначениеРеквизита(Объект, "Наименование");
Иначе
Наименование = Объект.Наименование;
КонецЕсли;
// Избавление от возможных выражений в скобках, например (осн.), (вн. совм.).
НачальнаяПозиция = Найти(Наименование,"(");
КонечнаяПозиция = Найти(Наименование,")");
ДлинаСтроки = СтрДлина(Наименование);
Если НачальнаяПозиция > 0 Тогда
СтрокаДляОбработки = Лев(Наименование, НачальнаяПозиция - 1) + ?(КонечнаяПозиция > 0,Прав(Наименование, ДлинаСтроки - КонечнаяПозиция),"")
Иначе
СтрокаДляОбработки = Наименование;
КонецЕсли;
ФИО = РазложитьСтрокуВМассивПодстрок(СокрЛП(СтрокаДляОбработки)," ");
КонецЕсли;
КонецЕсли;
КоличествоПодстрок = ФИО.Количество();
Результат = Новый Структура;
Результат.Вставить("Фамилия", ?(КоличествоПодстрок > 0,ФИО[0],""));
Результат.Вставить("Имя", ?(КоличествоПодстрок > 1,ФИО[1],""));
Результат.Вставить("Отчество", ?(КоличествоПодстрок > 2,ФИО[2],""));
Возврат Результат
КонецФункции
ПоказатьВот код функции из общих модулей, уже имеющийся в 1С.
В общем то и придумывать ни чего не нужно
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот