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
необходимо зарегистрироваться для просмотра ссылки
,
"из кода не совсем понимаю где она у вас, если вообще есть"
Вы скажите что надо посмотреть я посмотрю. Потому, что я сама понять уже не могу где оно сидит
Картинки загружаются через Номенклатуру, реквизит ФайлКартинки (тип.НоменклатураПрисоединенныеФайлы)
В НоменклатураПрисоединенныеФайлы есть реквизит ФайлХранилище (тип ХранилищеЗначения)
Все изображения хранятся в регистреСведений ПрисоединенныеФайлы в неместь измерения ХранимыйФайл (тип ХранилищеЗначения)
В документ Ком.предл. Столбец фото заполняется из Номенклатура.ФайлКартинки и в табличной части выводит его название, также как и на печать. Но мне надо чтобы вместо названия выводило изображение этой картинки