Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Извлечь ФайлКартинки
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kat2504
Написала вот такой код, все работает, ошибок не выдает, не извлекает только Фото.

&НаКлиенте
Процедура ОборудованиеНаименованиеПриИзменении(Элемент)
        Стр=Элементы.Оборудование.ТекущиеДанные;
     Стр.ЕдиницаИзмерения = ИзвлечьРеквизит(Стр.Наименование,"ЕдиницаИзмерения");
        Стр.Описание = ИзвлечьРеквизит(Стр.Наименование,"Комментарий");
        Стр.Группа = ИзвлечьРеквизит(Стр.Наименование,"Родитель");
        Стр.Фото = ИзвлечьРеквизит(Стр.Наименование,"ФайлКартинки");
КонецПроцедуры

&НаСервереБезКонтекста
Функция ИзвлечьРеквизит(Ссылка,ИмяРеквизита)  
    Возврат Ссылка[ИмяРеквизита];
КонецФункции


Итак опишу, что мне надо
Есть документ в котором таблица, в ней столбцы Наименование(Тип СправочникНоменклатура), Фото, ЕдиницаИзмерения, Описание, Группа
При заполнении столбца Наименование нужно автоматическое заполнение остальных столбцов, что я и сделала, прописав в коде, но ума не приложу почему не вытаскивается Фото

В конфигурации есть Справочник Номенклатура в нем есть реквизиты ЕдиницаИзмерения, Комментарий, ФайлКартинки, Родитель


 ! 

необходимо зарегистрироваться для просмотра ссылки: 9
 
Bernet
kat2504 @ Вчера, 22:16 необходимо зарегистрироваться для просмотра ссылки ,
спать ложитесь, завтра разберемся
Petre
kat2504 @ Вчера, 22:16 необходимо зарегистрироваться для просмотра ссылки ,
И что же говорит отладчик?
logist
Цитата(kat2504 @ 03.05.17, 22:16) необходимо зарегистрироваться для просмотра ссылки
При заполнении столбца Наименование нужно автоматическое заполнение остальных столбцов,

Для каких целей? Если просто отобразить, то для этого не надо писать код, можно разместить в таблице поля у которых будет путь к данным вида "Оборудование.Наименование.ЕдиницаИзмерения"
kat2504
Petre @ Сегодня, 9:28 необходимо зарегистрироваться для просмотра ссылки ,
Отладчик ошибок не выдает, В самой программе все заполняет кроме Столбца Фото, и также ошибок не выдает, проверяла фото есть в номенклатуре


logist @ Сегодня, 9:40 необходимо зарегистрироваться для просмотра ссылки ,

Если просто в Документе прописываешь путь к данным, в документе отображает, но на печать не выводит, пустую строку, а мне надо чтобы при необходимости могла еще и распечатать этот документ с изображениями
Petre
kat2504 @ Вчера, 19:38 необходимо зарегистрироваться для просмотра ссылки ,
Отладчик не для выдачи ошибок, а для отладки: пошаговой проверки выполнения кода.
Проверьте значение источника и приемника после присвоения.
kat2504
Petre @ Сегодня, 9:14 необходимо зарегистрироваться для просмотра ссылки ,
Так все теперь отображает все видит, но вместо вывода изображения у меня что в документ, что на печать выводит название этой Картинки

Мне в принципе по сути надо чтобы само изображение выводилось при печати этого документа
logist
Цитата(kat2504 @ 04.05.17, 19:38) необходимо зарегистрироваться для просмотра ссылки
Если просто в Документе прописываешь путь к данным, в документе отображает, но на печать не выводит, пустую строку, а мне надо чтобы при необходимости могла еще и распечатать этот документ с изображениями

Так а причем тут печать к выводу в таблице документа? Вы же печатную форму формируете запросом в другом месте, отображение этих данных в таблице документа не обязательно. Т.е. формирование данных для печати может быть никак не связано с данными объекта в форме.

Цитата(kat2504 @ 05.05.17, 11:52) необходимо зарегистрироваться для просмотра ссылки
но вместо вывода изображения у меня что в документ, что на печать выводит название этой Картинки

Вы не сделали вывод картинки в процедуре формирующей печатную форму, указание просто ссылки ничего не даст (на случай если вы делали через Конструктор печатной формы), необходимо написать код который извлекает картинку и помещает её в область табличного документа.
kat2504
logist @ Сегодня, 14:27 необходимо зарегистрироваться для просмотра ссылки ,
А не подскажите мне такой код? Я с Картинками столкнулась впервые

logist @ Сегодня, 14:27 необходимо зарегистрироваться для просмотра ссылки ,
Делала через конструктор, выдал вот такой код в модуль менеджере, Что мне в нем надо дописать чтобы картинку вывести на печать

Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КоммерческоеПредложение.ВидПредложения,
    |    КоммерческоеПредложение.Дата,
    |    КоммерческоеПредложение.ИтогоСтоимость,
    |    КоммерческоеПредложение.Контрагент,
    |    КоммерческоеПредложение.Номер,
    |    КоммерческоеПредложение.СтоимостьОборудования,
    |    КоммерческоеПредложение.СтоимостьРабот,
    |    КоммерческоеПредложение.Оборудование.(
    |        НомерСтроки,
    |        Фото,
    |        Наименование,
    |        Описание,
    |        Количество,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        Сумма,
    |        Группа
    |    ),
    |    КоммерческоеПредложение.РаботыУслуги.(
    |        НомерСтроки,
    |        Наименование,
    |        Количество,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        Сумма
    |    )
    |ИЗ
    |    Документ.КоммерческоеПредложение КАК КоммерческоеПредложение
    |ГДЕ
    |    КоммерческоеПредложение.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();

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

    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;

        ТабДок.Вывести(ОбластьЗаголовок);

        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());

        ТабДок.Вывести(ОбластьОборудованиеШапка);
        ВыборкаОборудование = Выборка.Оборудование.Выбрать();
        Пока ВыборкаОборудование.Следующий() Цикл
            ОбластьОборудование.Параметры.Заполнить(ВыборкаОборудование);
            ТабДок.Вывести(ОбластьОборудование, ВыборкаОборудование.Уровень());
        КонецЦикла;

        ТабДок.Вывести(ОбластьРаботыУслугиШапка);
        ВыборкаРаботыУслуги = Выборка.РаботыУслуги.Выбрать();
        Пока ВыборкаРаботыУслуги.Следующий() Цикл
            ОбластьРаботыУслуги.Параметры.Заполнить(ВыборкаРаботыУслуги);
            ТабДок.Вывести(ОбластьРаботыУслуги, ВыборкаРаботыУслуги.Уровень());
        КонецЦикла;

        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры
Bernet
kat2504 @ Сегодня, 17:19 необходимо зарегистрироваться для просмотра ссылки ,
во-первых, в табличном документе в макете надо добавить в область печати объект "Картинка" и назвать его например "ТоварКартинка",
дальше в коде при формировании табличного документа необходимо указать путь к картинке, примерно так:
ТабДок = Новый ТабличныйДокумент; 
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
ОбластьКартинки = Макет.ПолучитьОбласть("ОбластьСКартинкой");
Картинка = Новый Картинка(ПутьККартинке);
ОбластьКартинки.Рисунки.ТоварКартинка.Картинка = Картинка;
ТабДок.Вывести(ОбластьКартинки);
ТабДок.Показать();
kat2504
Bernet @ Сегодня, 17:41 необходимо зарегистрироваться для просмотра ссылки ,

В Табличном документе в макете в области печати у меня есть объект "Фото" и он так и называется

Далее в модуль менеджер мне надо внести ваш код? В моем случае он должен такой получиться?

ТабДок = Новый ТабличныйДокумент; 
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
ОбластьФото = Макет.ПолучитьОбласть("ОбластьСФото");
Фото = Новый Фото(ПутьКФото);
ОбластьФото.Рисунки.Фото.Фото = Фото;
ТабДок.Вывести(ОбластьФото);
ТабДок.Показать();


Я в кратце расскажу где оно может сидеть
Все данные для заполнения табличной части документа я беру из справочника Номенклатура
В этом справочнике Номенклатура есть реквизит ФайлКартинка (Тип СправочникСсылка.Файлы)
Но в конфигурации есть еще справочник НоменклатураПрисоединенныеФайлы
kat2504
Bernet @ Сегодня, 17:41 необходимо зарегистрироваться для просмотра ссылки ,

тьфу совсем торможу
ТабДок = Новый ТабличныйДокумент; 
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
ОбластьКартинки = Макет.ПолучитьОбласть("ОбластьСКартинкой");
Картинка = Новый Картинка(ПутьККартинке);
ОбластьКартинки.Рисунки.Фото.Картинка = Картинка;
ТабДок.Вывести(ОбластьКартинки);
ТабДок.Показать();


Так должно получитьтся?
kat2504
kat2504 @ Сегодня, 19:44 необходимо зарегистрироваться для просмотра ссылки ,

Но тогда при проверке модуля выдает ошибки:
{Документ.КоммерческоеПредложение.МодульМенеджера(68,9)}: Переменная не определена (ОбработкаОбъект)
Макет = <<?>>ОбработкаОбъект.ПолучитьМакет("Макет"); (Проверка: Сервер)
{Документ.КоммерческоеПредложение.МодульМенеджера(70,27)}: Переменная не определена (ПутьККартинке)
Картинка = Новый Картинка(<<?>>ПутьККартинке); (Проверка: Сервер)
logist
Цитата(kat2504 @ 05.05.17, 21:02) необходимо зарегистрироваться для просмотра ссылки
Но тогда при проверке модуля выдает ошибки:

Наверное не надо тупо копипастить код.

Макет = ОбработкаОбъект.ПолучитьМакет("Макет");

замените на
Документ.КоммерческоеПредложение.ПолучитьМакет("Макет");


Ну а
Картинка = Новый Картинка(ПутьККартинке);

Надо бы "ПутьККартинке" задать. Тут надо понимать как она хранится, в базе или на диске, в справочнике или в регистре
kat2504
logist @ Сегодня, 23:06 необходимо зарегистрироваться для просмотра ссылки ,
Ну а
Картинка = Новый Картинка(ПутьККартинке);

Надо бы "ПутьККартинке" задать. Тут надо понимать как она хранится, в базе или на диске, в справочнике или в регистре

Я сильно извиняюсь конечно, но я действительно с этим столкнулась впервые, поэтому и голову уже сломала, читать кучу литературы особо времени нет, поэтому прошу помощи

Я создала документ КоммерческоеПредложение
В нем есть табличная часть Оборудование с реквизитами: Наименование(тип Номенклатура), и Фото (тип Строка), и все остальные
Все остальные реквизиты для автоматического заполнения таблицы берутся из справочника Номенклатура

В справочнике Номенклатура есть Реквизит ФайлКартинки (тип СправочникСсылка.НоменклатураПрисоединенныеФайлы)

Какой путь мне надо прописать?



logist
Цитата(kat2504 @ 06.05.17, 0:06) необходимо зарегистрироваться для просмотра ссылки
Какой путь мне надо прописать?

Цитата(logist @ 05.05.17, 23:06) необходимо зарегистрироваться для просмотра ссылки
Тут надо понимать как она хранится, в базе или на диске, в справочнике или в регистре

Вангую, ожидайте...
kat2504
logist @ Сегодня, 1:42 необходимо зарегистрироваться для просмотра ссылки ,
Конфигурация Сервисный центр 1.6
1С 8.3


kat2504 @ Сегодня, 2:00 необходимо зарегистрироваться для просмотра ссылки ,
Вы скажите что надо посмотреть я посмотрю.
Храниться на базе
А вот в регистре или справочнике я ХЗ, потому что есть РегистрСведений.ПрисоединенныеФайлы и Справочник.НоменклатураПрисоединенныеФайлы
logist
Цитата(kat2504 @ 06.05.17, 2:09) необходимо зарегистрироваться для просмотра ссылки
Конфигурация Сервисный центр 1.6

Не знаком. Посмотрите в предприятии или запросом, если в РС ПрисоединенныеФайлы есть записи - значит там, если нет, то в каком реквизите справочника хранится сама картинка, он имеет тип ХранилищеЗначения
kat2504
logist @ Сегодня, 2:59 необходимо зарегистрироваться для просмотра ссылки ,
Я нашла где они сидят в РегистрСведений ПрисоединенныеФайлы в нем есть ресурс ХранимыйФайл тип ХранилищеЗначания

logist @ Сегодня, 2:59 необходимо зарегистрироваться для просмотра ссылки ,
ТабДок = Новый ТабличныйДокумент; 
Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
ОбластьКартинки = Макет.ПолучитьОбласть("ОбластьСКартинкой");
Картинка = Новый Картинка(ПрисоединенныеФайлы.ХранимыйФайл);
ОбластьКартинки.Рисунки.Фото.Картинка = Картинка;
ТабДок.Вывести(ОбластьКартинки);
ТабДок.Показать();


Получился вот такой код, отладчик ошибок не выдает
При нажатии на печать выдает ошибку
{Документ.КоммерческоеПредложение.МодульМенеджера(69)}: Ошибка при вызове метода контекста (ПолучитьОбласть)
ОбластьКартинки = Макет.ПолучитьОбласть("ОбластьСКартинкой");
по причине:
Область не найдена: ОбластьСКартинкой


logist @ Сегодня, 2:59 необходимо зарегистрироваться для просмотра ссылки ,
Исправила код и получилось вот так
    ТабДок = Новый ТабличныйДокумент; 
Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
ОбластьФото = Макет.ПолучитьОбласть("Оборудование");
Картинка = Новый Картинка(ПрисоединенныеФайлы.ХранимыйФайл);
ОбластьФото.Рисунки.Фото.Картинка = Картинка;
ТабДок.Вывести(ОбластьФото);
ТабДок.Показать();


Отладка проходит, при попытке печали опять ошибка
{Документ.КоммерческоеПредложение.МодульМенеджера(70)}: Поле объекта не обнаружено (ХранимыйФайл)
Картинка = Новый Картинка(ПрисоединенныеФайлы.ХранимыйФайл);
kat2504
kat2504 @ Сегодня, 8:56 необходимо зарегистрироваться для просмотра ссылки ,

Как это путь к картинке прописать, уже как только не пробовала. Может есть мысли какие нибудь?
logist
Цитата(kat2504 @ 06.05.17, 16:11) необходимо зарегистрироваться для просмотра ссылки
уже как только не пробовала.

Даже не представляю как пробовали, но точно совсем без понимания как это надо делать.

ТабДок = Новый ТабличныйДокумент; 
Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
ОбластьФото = Макет.ПолучитьОбласть("Оборудование");
Запрос = Новый Запрос("ВЫБРАТЬ Файл.ХранимыйФайл ИЗ РегистрСведений.ПрисоединенныеФайлы КАК Файл ГДЕ Файл.ПрисоединенныйФайл = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", СсылкаНаФайлКартинкаИзНоменклатуры);
// СсылкаНаФайлКартинкаИзНоменклатуры - Это то что у вас Номенклатура.ФайлКартинка,
// т.е. "Номенклатура" замените на вашу ссылку номенклатуры, из кода не совсем понимаю где она у вас, если вообще есть
// или если Фото в запросе это оно, то  СсылкаНаФайлКартинкаИзНоменклатуры заменить на ВыборкаОборудование.Фото
Выборка = Запрос.Выполнить().Выбрать();
Если ВыборкаФайл.Следующий() Тогда
    ДвоичныеДанные = ВыборкаФайл.ХранимыйФайл.Получить();    
    Картинка = Новый Картинка(ДвоичныеДанные);
    ОбластьФото.Рисунки.Фото.Картинка = Картинка;
    ТабДок.Вывести(ОбластьФото);
    ТабДок.Показать();
КонецЕсли;

Только не надо тупо копипастить код, а потому писать тут что он не работает, думайте хоть чуть-чуть, или наймите программиста.
kat2504
Не уже ли никто помочь не может?
Flexy
kat2504 @ Сегодня, 12:32 необходимо зарегистрироваться для просмотра ссылки ,
Выше написан рабочий код. Поставьте свои переменные и получите результат.
Или, что конкретно у Вас не получается?
logist
Цитата(Flexy @ 10.05.17, 13:51) необходимо зарегистрироваться для просмотра ссылки
Или, что конкретно у Вас не получается?

Думаю, надо взять код исходной процедуры, прочесть все её модификации по теме и написать результирующий код который должен сразу работать.
kat2504
Flexy @ Сегодня, 13:51 необходимо зарегистрироваться для просмотра ссылки ,
Есть документ КоммерческоеПредложение в нем табличная часть Оборудование в ней реквизиты Наименование(тип Справочники.Номенклатура), Фото (тип Справочники.НоменклатураПрисоединенныеФайлы) и т.д....

При заполнении строки Наименование происходит автоматическое заполнение всех остальных строк включая столбец Фото (но заполняется названием этого фото).

В справочнике Номенклатура есть реквизит ФайлКартинки (тип Справочники.НоменклатураПрисоединенныеФайлы) через него загружаются изображения

Все изображения хранятся в РегистрыСведений.ПрисоединенныеФайлы в котором есть Измерения ПрисоединенныйФайл и ресурс ХранимыйФайл (тип ХранилищеЗначения)

logist @ Сегодня, 14:18 необходимо зарегистрироваться для просмотра ссылки ,
Вот исходный код
 Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КоммерческоеПредложение.ВидПредложения,
    |    КоммерческоеПредложение.Дата,
    |    КоммерческоеПредложение.ИтогоСтоимость,
    |    КоммерческоеПредложение.Контрагент,
    |    КоммерческоеПредложение.Номер,
    |    КоммерческоеПредложение.СтоимостьОборудования,
    |    КоммерческоеПредложение.СтоимостьРабот,
    |    КоммерческоеПредложение.Оборудование.(
    |        НомерСтроки,
    |        Фото,
    |        Группа,
    |        Наименование,
    |        Описание,
    |        Количество,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        Сумма
    |    ),
    |    КоммерческоеПредложение.РаботыУслуги.(
    |        НомерСтроки,
    |        Наименование,
    |        Количество,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        Сумма
    |    )
    |ИЗ
    |    Документ.КоммерческоеПредложение КАК КоммерческоеПредложение
    |ГДЕ
    |    КоммерческоеПредложение.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();


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


    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;


        ТабДок.Вывести(ОбластьЗаголовок);


        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());


        ТабДок.Вывести(ОбластьОборудованиеШапка);
        ВыборкаОборудование = Выборка.Оборудование.Выбрать();
        Пока ВыборкаОборудование.Следующий() Цикл
            ОбластьОборудование.Параметры.Заполнить(ВыборкаОборудование);
            ТабДок.Вывести(ОбластьОборудование, ВыборкаОборудование.Уровень());
            
        КонецЦикла;
        


        ТабДок.Вывести(ОбластьРаботыУслугиШапка);
        ВыборкаРаботыУслуги = Выборка.РаботыУслуги.Выбрать();
        Пока ВыборкаРаботыУслуги.Следующий() Цикл
            ОбластьРаботыУслуги.Параметры.Заполнить(ВыборкаРаботыУслуги);
            ТабДок.Вывести(ОбластьРаботыУслуги, ВыборкаРаботыУслуги.Уровень());
        КонецЦикла;


        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры


Flexy @ Сегодня, 13:51 необходимо зарегистрироваться для просмотра ссылки ,
logist @ Сегодня, 14:18 необходимо зарегистрироваться для просмотра ссылки ,

Вставляю Ваш код

Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КоммерческоеПредложение.ВидПредложения,
    |    КоммерческоеПредложение.Дата,
    |    КоммерческоеПредложение.ИтогоСтоимость,
    |    КоммерческоеПредложение.Контрагент,
    |    КоммерческоеПредложение.Номер,
    |    КоммерческоеПредложение.СтоимостьОборудования,
    |    КоммерческоеПредложение.СтоимостьРабот,
    |    КоммерческоеПредложение.Оборудование.(
    |        НомерСтроки,
    |        Фото,
    |        Группа,
    |        Наименование,
    |        Описание,
    |        Количество,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        Сумма
    |    ),
    |    КоммерческоеПредложение.РаботыУслуги.(
    |        НомерСтроки,
    |        Наименование,
    |        Количество,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        Сумма
    |    )
    |ИЗ
    |    Документ.КоммерческоеПредложение КАК КоммерческоеПредложение
    |ГДЕ
    |    КоммерческоеПредложение.Ссылка В (&Ссылка)";  
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    
    
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьОборудованиеШапка = Макет.ПолучитьОбласть("ОборудованиеШапка");
    ОбластьОборудование = Макет.ПолучитьОбласть("Оборудование");
    ОбластьКартинки = Макет.ПолучитьОбласть("Картинки");
    ОбластьРаботыУслугиШапка = Макет.ПолучитьОбласть("РаботыУслугиШапка");
    ОбластьРаботыУслуги = Макет.ПолучитьОбласть("РаботыУслуги");
    ТабДок.Очистить();

    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;

        ТабДок.Вывести(ОбластьЗаголовок);

        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());

        ТабДок.Вывести(ОбластьОборудованиеШапка);
        ВыборкаОборудование = Выборка.Оборудование.Выбрать();
        Пока ВыборкаОборудование.Следующий() Цикл
            ОбластьОборудование.Параметры.Заполнить(ВыборкаОборудование);
            ТабДок.Вывести(ОбластьОборудование, ВыборкаОборудование.Уровень());
        КонецЦикла;
        
        ТабДок.Вывести(ОбластьКартинки);
        ВыборкаКартинки = Выборка.Картинки.Выбрать();
        Пока ВыборкаКартинки.Следующий()Цикл
        ОбластьФото = Макет.ПолучитьОбласть("Картинки");
Запрос = Новый Запрос("ВЫБРАТЬ Файл.ХранимыйФайл    ИЗ   РегистрСведений.ПрисоединенныеФайлы КАК Файл   ГДЕ Файл.ПрисоединенныйФайл = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", ВыборкаКартинки.Фото);
// СсылкаНаФайлКартинкаИзНоменклатуры - Это то что у вас Номенклатура.ФайлКартинка,
// т.е. "Номенклатура" замените на вашу ссылку номенклатуры, из кода не совсем понимаю где она у вас, если вообще есть
// или если Фото в запросе это оно, то  СсылкаНаФайлКартинкаИзНоменклатуры заменить на ВыборкаОборудование.Фото
Выборка = Запрос.Выполнить().Выбрать();
Если ВыборкаФайл.Следующий() Тогда
    ДвоичныеДанные = ВыборкаФайл.ХранимыйФайл.Получить();    
    Картинка = Новый Картинка(ДвоичныеДанные);
    ОбластьФото.Рисунки.Фото.Картинка = Картинка;
    ТабДок.Вывести(ОбластьФото);
    ТабДок.Показать();
КонецЕсли;
КонецЦикла;
    

        ТабДок.Вывести(ОбластьРаботыУслугиШапка);
        ВыборкаРаботыУслуги = Выборка.РаботыУслуги.Выбрать();
        Пока ВыборкаРаботыУслуги.Следующий() Цикл
            ОбластьРаботыУслуги.Параметры.Заполнить(ВыборкаРаботыУслуги);
            ТабДок.Вывести(ОбластьРаботыУслуги, ВыборкаРаботыУслуги.Уровень());
        КонецЦикла;

        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры


Выдает ошибки при проверке модуля
{Документ.КоммерческоеПредложение.МодульМенеджера(80,6)}: Переменная не определена (ВыборкаФайл)
Если <<?>>ВыборкаФайл.Следующий() Тогда (Проверка: Сервер)
{Документ.КоммерческоеПредложение.МодульМенеджера(81,22)}: Переменная не определена (ВыборкаФайл)
ДвоичныеДанные = <<?>>ВыборкаФайл.ХранимыйФайл.Получить(); (Проверка: Сервер)


logist @ Сегодня, 14:18 необходимо зарегистрироваться для просмотра ссылки ,
Меняю переменную
ТабДок.Вывести(ОбластьКартинки);
        ВыборкаКартинки = Выборка.Картинки.Выбрать();
        Пока ВыборкаКартинки.Следующий()Цикл
        ОбластьФото = Макет.ПолучитьОбласть("Картинки");
Запрос = Новый Запрос("ВЫБРАТЬ Файл.ХранимыйФайл    ИЗ   РегистрСведений.ПрисоединенныеФайлы КАК Файл   ГДЕ Файл.ПрисоединенныйФайл = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", ВыборкаКартинки.Фото);
// СсылкаНаФайлКартинкаИзНоменклатуры - Это то что у вас Номенклатура.ФайлКартинка,
// т.е. "Номенклатура" замените на вашу ссылку номенклатуры, из кода не совсем понимаю где она у вас, если вообще есть
// или если Фото в запросе это оно, то  СсылкаНаФайлКартинкаИзНоменклатуры заменить на ВыборкаОборудование.Фото
Выборка = Запрос.Выполнить().Выбрать();
Если ВыборкаКартинки.Следующий() Тогда
    ДвоичныеДанные = ВыборкаКартинки.ХранимыйФайл.Получить();    
    Картинка = Новый Картинка(ДвоичныеДанные);
    ОбластьФото.Рисунки.Фото.Картинка = Картинка;
    ТабДок.Вывести(ОбластьФото);
    ТабДок.Показать();
КонецЕсли;
КонецЦикла;


Синтаксических ошибок не обнаружено!

При попытке печати
{Документ.КоммерческоеПредложение.МодульМенеджера(71)}: Поле объекта не обнаружено (Картинки)
ВыборкаКартинки = Выборка.Картинки.Выбрать();





logist @ 06.05.17, 17:04 необходимо зарегистрироваться для просмотра ссылки ,

"из кода не совсем понимаю где она у вас, если вообще есть"

Вы скажите что надо посмотреть я посмотрю. Потому, что я сама понять уже не могу где оно сидит

Картинки загружаются через Номенклатуру, реквизит ФайлКартинки (тип.НоменклатураПрисоединенныеФайлы)
В НоменклатураПрисоединенныеФайлы есть реквизит ФайлХранилище (тип ХранилищеЗначения)

Все изображения хранятся в регистреСведений ПрисоединенныеФайлы в неместь измерения ХранимыйФайл (тип ХранилищеЗначения)


В документ Ком.предл. Столбец фото заполняется из Номенклатура.ФайлКартинки и в табличной части выводит его название, также как и на печать. Но мне надо чтобы вместо названия выводило изображение этой картинки
kat2504
Пробую так

ТабДок = Новый ТабличныйДокумент; 
Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
ОбластьФото = Макет.ПолучитьОбласть("Оборудование");
Запрос = Новый Запрос("ВЫБРАТЬ Файл.ХранимыйФайл ИЗ РегистрСведений.ПрисоединенныеФайлы КАК Файл ГДЕ Файл.ПрисоединенныйФайл = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", РегистрыСведений.ПрисоединенныеФайлы);
// СсылкаНаФайлКартинкаИзНоменклатуры - Это то что у вас Номенклатура.ФайлКартинка,
// т.е. "Номенклатура" замените на вашу ссылку номенклатуры, из кода не совсем понимаю где она у вас, если вообще есть
// или если Фото в запросе это оно, то  СсылкаНаФайлКартинкаИзНоменклатуры заменить на ВыборкаОборудование.Фото
ВыборкаФайл = Запрос.Выполнить().Выбрать();
Если ВыборкаФайл.Следующий() Тогда
    ДвоичныеДанные = ВыборкаФайл.ХранимыйФайл.Получить();    
    Картинка = Новый Картинка(ДвоичныеДанные);
    ОбластьФото.Рисунки.Фото.Картинка = Картинка;
    ТабДок.Вывести(ОбластьФото);
    ТабДок.Показать();
КонецЕсли;

Синтаксических ошибок не обнаружено!

При попытке печати
{Документ.КоммерческоеПредложение.МодульМенеджера(78)}: Ошибка при вызове метода контекста (Выполнить)
ВыборкаФайл = Запрос.Выполнить().Выбрать();
по причине:
{(1, 103)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ВЫБРАТЬ Файл.ХранимыйФайл ИЗ РегистрСведений.ПрисоединенныеФайлы КАК Файл ГДЕ Файл.ПрисоединенныйФайл <<?>>= &Ссылка
logist
Цитата(kat2504 @ 10.05.17, 16:11) необходимо зарегистрироваться для просмотра ссылки
Пробую так

Прекращайте заниматься ерундой, вы без понимания дела тыкаетесь, подождите пока кто-то напишет рабочий код.

Цитата(kat2504 @ 10.05.17, 16:11) необходимо зарегистрироваться для просмотра ссылки
Синтаксических ошибок не обнаружено!

Эта функция проверяет лишь "явный" код, переменные и результаты их образования она не может проверить. В вашем случае не надо описаться на её ответ о том, что ошибок нет.
kat2504
logist @ Сегодня, 16:16 необходимо зарегистрироваться для просмотра ссылки ,
Цитата
Прекращайте заниматься ерундой, вы без понимания дела тыкаетесь, подождите пока кто-то напишет рабочий код.


Я действительно, с выводом картинок столкнулась впервые. Многое уже перепробовала, но не получается ни как. Поэтому и прошу помощи.
Если вы можете помочь, буду очень благодарна.
kat2504
Люди помогите кто может!!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.