Имя: Пароль:
1C
 
Список сотрудников в ЗУП с фотографией
0 IAZhukova
 
28.11.08
09:09
Добрый день!!! Сделала внешний отчёт, который выводит список сотрудников с фотографиями. Этот отчёт необходимо сохранить в ексель. При открытии екселевского файла выдаётся ошибка что часть содержимого файла открыться не может и открывается файл без фото
1 чувак
 
28.11.08
09:13
(28) А фото откуда берете? я внешнего файла?
2 IAZhukova
 
28.11.08
09:17
в справочнике физлица есть реквизит ОсновноеИзображение, от туда и беру
3 чувак
 
28.11.08
09:26
(0) можете скинуть обработку, помотрим?
4 Just4Fun
 
28.11.08
09:27
(0) У меня такая же беда была, когда прайс с изображениями делал.
Добавлял в обработку возможность формирования прайса непосредственно в экселевский документ. Только не разобрался, как сразу позиционировать вставляемое изображение в нужную позицию листа. Помещал в нужную ячейку через клипбоард.
5 IAZhukova
 
28.11.08
09:33
что-то ещё должно быть... потому что печатная форма справочника физлица сохраняется нормально с фотографиями
6 чувак
 
28.11.08
09:36
(5) Ты скинь обработку, посмотрим
7 IAZhukova
 
28.11.08
09:37
Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Отчет");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
   |    ПРЕДСТАВЛЕНИЕ(РаботникиОрганизацийСрезПоследних.Сотрудник),
   |    РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ОсновноеИзображение,
   |    ПРЕДСТАВЛЕНИЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ОсновноеИзображение),
   |    РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения,
   |    РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.МестоРождения,
   |    РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ИНН,
   |    РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.СтраховойНомерПФР,
   |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
   |    РаботникиОрганизацийСрезПоследних.Должность,
   |    ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия,
   |    ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер,
   |    ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан,
   |    КонтактнаяИнформация.Представление
   |ИЗ
   |    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&дата, Сотрудник.Актуальность = ИСТИНА) КАК РаботникиОрганизацийСрезПоследних
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(&дата, ) КАК ПаспортныеДанныеФизЛицСрезПоследних
   |        ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |        ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = КонтактнаяИнформация.Объект
   |ГДЕ
   |    КонтактнаяИнформация.Вид.Наименование = ""Адрес по прописке физ. лица""
   |
   |УПОРЯДОЧИТЬ ПО
   |    РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.Наименование";

   Запрос.УстановитьПараметр("дата", дата);

   Результат = Запрос.Выполнить();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

   ТабДок.Очистить();
   ТабДок.Вывести(ОбластьЗаголовок);
   ТабДок.Вывести(ОбластьШапкаТаблицы);
   ТабДок.НачатьАвтогруппировкуСтрок();
   Номер = 0;
   ВыборкаДетали = Результат.Выбрать();
   Пока ВыборкаДетали.Следующий() Цикл
       Номер = Номер + 1;
       ОбластьДетальныхЗаписей.Параметры.Номер = Номер;
       ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
       мТекущееОсновноеИзображение = ВыборкаДетали.СотрудникФизлицоОсновноеИзображение.Хранилище.Получить();
       Если мТекущееОсновноеИзображение <> Неопределено Тогда
           ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = мТекущееОсновноеИзображение;
       Иначе
           ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = Новый Картинка();
       КонецЕсли;
       ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
   КонецЦикла;

   ТабДок.ЗакончитьАвтогруппировкуСтрок();
   ТабДок.Вывести(ОбластьПодвалТаблицы);
   ТабДок.Вывести(ОбластьПодвал);

   //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
8 Just4Fun
 
28.11.08
09:38
(5) может тогда у ячеек в типовом отчете и в Вашем свойства какие нибудь различаются?. потому что у меня при сохранении моего прайса с изображениями, размер файла был большой (изображения вроде как и есть), только в ячейках где должны быть картинки пустое поле.
9 IAZhukova
 
28.11.08
09:46
Ошибка: "В книге "111.xls обнаружено содержимое, которое не удалось прочитать. Попробовать восстановить содержимое книги?
А свойства посмотрела одинаковые
10 IAZhukova
 
28.11.08
09:46
а фоток 300 штук
11 чувак
 
28.11.08
09:48
мТекущееОсновноеИзображение = ВыборкаДетали.СотрудникФизлицоОсновноеИзображение.Хранилище.Получить();

Чекрез отладчик посмотри, тип какой?
12 IAZhukova
 
28.11.08
09:50
Картинка
13 чувак
 
28.11.08
09:55
(12) Это по моему внутренный тип 1С, а это в Екселе не катит. ИМХО
14 Volari
 
28.11.08
09:56
Я делал отчет печати пропусков, код аналогичный, все нормально открывается. Только нет строки
//ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = Новый Картинка();
15 Volari
 
28.11.08
09:57
Вывод фото только если не неопределено
16 IAZhukova
 
28.11.08
09:58
а как же тогда, печатная форма справочника ФизЛиц сохранилась нормально
17 чувак
 
28.11.08
10:00
(16) Тогда скин сам файл обработки, посмотрим
18 IAZhukova
 
28.11.08
10:11
//ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = Новый Картинка();
чем заменить эту строку, мне надо где нет фотки, чтоб ничего не выводилось
19 Volari
 
28.11.08
10:17
Просто убрать не помогает?
20 чувак
 
28.11.08
10:17
(18) Попытка мТекущееОсновноеИзображение <> Неопределено
           ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = мТекущееОсновноеИзображение;
Исключение
           ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = Новый Картинка();
КонецПопытки

Попробуй
21 IAZhukova
 
28.11.08
10:19
убрала, на экран выводится всё нормално ,а в ексле не открывается. Ексель 2007.
22 Volari
 
28.11.08
10:22
Может проблема в екселе, у меня 2003 открывается, а опенофис 3.0 открывает без ошибок но фотографий нет.
23 IAZhukova
 
28.11.08
10:39
офис 2003 тоже не открывает, проверила
24 Serg_1960
 
28.11.08
10:42
(0) Имхо, Вы "переоценили" возможности штатного сохранения... Оно и в таблицах "путается" - а Вы ему Новый Картинка() :( Ехцелю "до лампочки" тип и свойства 1С "новой" картинки- ему картинку "вынь да положь".
Может быть вместо "пустой" картинки подставлять в отчет "заменитель" - картинку созданную в любом графическом редакторе "под размер" с пустым фоном или с надписью "нет фото"...
25 IAZhukova
 
28.11.08
12:37
ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = Новый Картинка();

Заменила на    


ОбластьДетальныхЗаписей.Рисунки.Фото.Картинка = БиблиотекаКартинок.ПиктограммаФайла_Excel;

Пустых тепеь нету, но и в ексель не сохраняется нормально