Выгрузка орг.структуры из ЗУП на корп портал Битрикс24 с фотографиями

1. nosferat 23.09.16 10:20 Сейчас в теме
Добрый день
Столкнулся с тем, что при выгрузке оргструктуры из ЗУП на портал не переносится фотография сотрудника.
Поглядел в выгрузку и там даже нет намека на привязываение картинки к сотруднику.
Это сделано умышленно или как-то можно настроить эту выгрузку?

Кто-нибудь решал этот вопрос? как битрикс принимает эту информацию? можно ли ему как-то отправить фотографию?


Модуль битрикс для портала:
http://1c.1c-bitrix.ru/download/1c/cp/1.0.0.2_ZUP3.zip

1С:Предприятие 8.3 (8.3.8.1784)
Зарплата и управление персоналом, редакция 3.0 (3.0.25.125)
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Armando 1400 23.09.16 11:00 Сейчас в теме
(1) nosferat, делал такое в 2011 году для ЗУП 2.5. Но как именно уже не помню( Да и версия битрикса другая была.
Что-то на стороне 1С подкручивал и на стороне битрикса в настройках.
4. user_2010 916 12.03.19 12:36 Сейчас в теме
(2)
(3)
Люди! Помогите разобраться!

Досталась в наследство ЗУП.3.1 и Битрикс24. Обмен дописан.
Из ЗУП выгружается на корпоративный портал орг структура. Выгружается частично неверно. Понятно, что надо править выгрузку. Но где взять формат данных - как должно быть? Обычно дают описание формата данных. У Битрикса ведь тоже должно быть такое?! Может кто-то имеет описание формата обмена данными ЗУП и портала на Битрикс? Поделитесь, плз. Может в инете есть такая информация?

Спасибо!

ссылка на проблему
https://forum.infostart.ru/forum15/topic212582/#message2169245
3. trumanl 12 07.03.17 12:40 Сейчас в теме
1. Добавляем функцию ВыгрузитьФотографиюСотрудникаXDTO при выгрузке сотрудника
2. в процедуре ПолучитьСписокФайловДляОтправки добавляем поиск файлов по подкаталогам
// Потехин А.С.
Процедура ВыгрузитьФотографиюСотрудникаXDTO(ПараметрыОбмена, МенеджерВременныхТаблиц, ФизическоеЛицо, Владелец, Итератор)
	
	СтруктураДанныхКартинки = ВыгрузитьКартинку(Владелец.Ид, ФизическоеЛицо, ПараметрыОбмена);
				
	Если СтруктураДанныхКартинки.Размер <> "0" Тогда
		Владелец.Картинка.Добавить(СтруктураДанныхКартинки.Адрес);
		Итератор = Итератор + 1;
	КонецЕсли;
	
КонецПроцедуры

// Потехин А.С.
Функция ВыгрузитьКартинку(Ид, Объект, ПараметрыОбмена)
	
	СтруктураРезультата = Новый Структура;
	СтруктураРезультата.Вставить("Адрес" , "");
	СтруктураРезультата.Вставить("Формат", Строка(ФорматКартинки.НеизвестныйФормат));
	СтруктураРезультата.Вставить("Размер", "0");
	
	АдресФотографииФизическогоЛица = КадровыйУчетРасширенный.АдресФотографииФизическогоЛица(Объект);
	
	Если Не ЗначениеЗаполнено(АдресФотографииФизическогоЛица) Тогда
		Возврат СтруктураРезультата;
	КонецЕсли;
	
	Картинка = Новый Картинка(ПолучитьИзВременногоХранилища(АдресФотографииФизическогоЛица));
	Если ТипЗнч(Картинка) <> Тип("Картинка") Тогда
		Возврат СтруктураРезультата;
	КонецЕсли;
	
	Попытка
		
		ФорматКартинкиОбъекта = Картинка.Формат();
		Если ФорматКартинкиОбъекта = ФорматКартинки.НеизвестныйФормат Тогда
			СообщитьПодробно("У объекта обнаружено основное изображение неизвестного формата: " + Объект, ПараметрыОбмена);
			Возврат СтруктураРезультата;
		КонецЕсли;
		
		ФорматКартинкиРазрешен = Истина;
		
		Если НЕ (ФорматКартинкиОбъекта = ФорматКартинки.GIF
			ИЛИ ФорматКартинкиОбъекта = ФорматКартинки.JPEG
			ИЛИ ФорматКартинкиОбъекта = ФорматКартинки.PNG) Тогда
			
			Попытка
				
				ФорматКартинкиОбъекта = Картинка.Преобразовать(ФорматКартинки.JPEG);
				
			Исключение
				СообщитьПодробно("Не удалось преобразовать картинку для " + Объект + " из " + Строка(ФорматКартинкиОбъекта) + " в JPEG", ПараметрыОбмена);
				ФорматКартинкиРазрешен = Ложь;
			КонецПопытки;
			
		КонецЕсли;
		
		Если НЕ ФорматКартинкиРазрешен Тогда
			Возврат СтруктураРезультата;
		КонецЕсли;
		
	Исключение
		
		СообщитьПодробно("Не удалось выгрузить картинку для объекта: " + Объект + " " + ОписаниеОшибки(), ПараметрыОбмена);
		ФорматКартинкиРазрешен = Ложь;
		
	КонецПопытки;
	
	КаталогНаДиске			= ПараметрыОбмена.КаталогВыгрузкиЗащищенный;
	ПодкаталогКартинок		= ПараметрыОбмена.ПодкаталогФайлов;
	РасширениеФайлаКартинки	= "." + НРег(Строка(ФорматКартинкиОбъекта));
	ИмяФайлаКартинки		= Строка(Ид) + РасширениеФайлаКартинки;
	КаталогПоИмени			= Лев(ИмяФайлаКартинки, 2);
	КаталогКартинки			= КаталогНаДиске + "\" + ПодкаталогКартинок + "\" + КаталогПоИмени;
	СоздатьКаталог(КаталогКартинки);
	
	ПолноеИмяФайлаКартинки	= КаталогКартинки + "\" + ИмяФайлаКартинки;
	ФайлКартинкиНаДиске		= Новый Файл(ПолноеИмяФайлаКартинки);
	
	Картинка.Записать(ПолноеИмяФайлаКартинки);
	
	СтруктураРезультата.Адрес  = ПодкаталогКартинок + "/" + КаталогПоИмени + "/" + ИмяФайлаКартинки;
	СтруктураРезультата.Формат = Строка(ФорматКартинкиОбъекта);
	СтруктураРезультата.Размер = Формат(ФайлКартинкиНаДиске.Размер(), "ЧГ=");
	
	Возврат СтруктураРезультата;
	
КонецФункции
Показать
5. Vladimir_D 120 24.06.22 05:50 Сейчас в теме
Если задача актуальна, а у меня она недавно была актуальна, то расскажу как сделал я:

1. Выгрузил в каталог формирования файлов жпег файл фото с именем физлица латиницей
2. В значение поля Картинка XDTO-шаблона вписал строку с именем файла.

Далее обработчик архивирует весь каталог и отправляет данные на сервер.
6. rinik88 32 24.06.22 15:40 Сейчас в теме
(5) вопрос, Вы используете типовую обработку для интеграции с битрикс? как у Вас интегрируются пенсионеры, переоформление сотрудников, в ЗУП это разные сотрудники, а в битрикс?
7. Vladimir_D 120 24.06.22 16:14 Сейчас в теме
(6)О нет! Пришлось много чего переписать под заказчика.
Во-первых, схема структуры предприятия из справочника ПодразделенияОрганизации заказчику абсолютно не подходила, т.к. была совсем не та структура, что у них на специальной схеме. Пришлось рисовать собственный справочник для рисования нужной структуры, в элементах указывать Руководителя этого элемента структуры, т.к. различные "руководители" оформлены в одном подразделении, к примеру, "Администрация", а по факту они руководители других отделов. В элементах структуры указывается связь со справочником ПодразделенияОрганизации для выгрузки людей по этим подразделениям.

Было требование, чтобы президент был в головном элементе структуры на сайте, а под ним только его ассистенты, которые указаны специальной ТЧ элемента структуры. Получал вебхуком массив подразделений, у элемента с индексом 0 (всегда головная первая) брал её ID, потом искал по XML_ID ID президента и вебхуком выставлял головному элементу "руководителя" с кодом предизента. С ассистентами чуть проще. Вообще людей, кто привязан к элементу Структуры с уровенем=0 я не передавал в XML файла УИД подразделения. А люди, у кого нет подразделения, попадают в головной элемент структуры на сайте, таким образом ассистенты автоматом подпали под Президента.

Выгружаются только сотрудники, которые привязаны к ПодразделениямОрганизации, которые указаны в элементах структуры для выгрузки.


Во время выгрузки формируется массив выгруженных сотрудников, был создан доп.реквизит "Скрывать на сайте" - пожелание клиента, чтоб долгоотсутствующие (в дикрете, к примеру) сотрудники не отражались на сайте, далее ищется значение свойств по массиву сотрудников, вебхуками ищем сотрудника по XML_ID и ACTIVE = 0, если свойство Истина.

Далее делается запрос людей, которые не попали в выборку, но были ранее выгружены типовым функционалом и так же вебхуками присваивается ACTIVE=0. Нарисовал специальный отчет по сотрудникам, которые вошли в выборку и кто не вошел. Дальше, если сотрудник попадет в выборку (его подразделение добавят в структуру для выгрузки), его активность включается - проверено.

Уволенным сотрудникам приписывается в эл.почту префикс "fired_" и статус Уволен по данным кадровой истории (снимается автоматом активность сотрудника), чтобы, если сотрудника приняли заново, не было конфликта эл.почты нового сотрудника с новым УИДом - словили такой косяк, долго бились, пока ТП Битрикса не прояснила этот момент, что идет конфликт емейлов.

Для ранее загруженных уволенных людей (типовой выгрузкой), пришлось вебхуками переименовывать емейлы по причине (см.выше), иначе вновьпринятый сотрудник не пропускал обновление - даже фото пропадало.

Сразу скажу, что заказ был коммерческий и врятли смогу поделиться.
8. rinik88 32 27.06.22 10:53 Сейчас в теме
(7) Спасибо за подробный ответ. Мы тоже писали в техподдержку битрикса по этому поводу, говорили что должны доработать этот функционал со своей стороны, но что то как то не движется у них это дело.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот