Имя: Пароль:
1C
 
Печать прайс листа с фото?
0 krava_vlad
 
08.08.07
13:32
Кто делал? Поделитесь пожалуста
1 krava_vlad
 
08.08.07
13:43
Кто-то делал...?
2 krava_vlad
 
08.08.07
13:52
Как можно вставить фото в стандартную обработку печати прайс листа?
3 krava_vlad
 
08.08.07
14:06
Помогите
4 krava_vlad
 
08.08.07
14:19
Фото в УТ для товара
5 Чес
 
08.08.07
14:19
Ну, так вставь картинку.
6 krava_vlad
 
08.08.07
14:25
(5) Ручками не пойдет, как можно программно. Как вытянуть фото в форму макета
7 AversDik2
 
08.08.07
14:28
(6) Картинку в макет вставить
8 krava_vlad
 
08.08.07
14:30
И что? А как прописать что именно это будет фото?
9 dk
 
08.08.07
14:31
делал, давно ...
10 manyak
 
08.08.07
14:31
имхо добавить обьект "картинка" в макет отчета, и в цикле по каждой записи справочника родгружать картинку из файла.
11 manyak
 
08.08.07
14:32
путь к фалу можно в справочние хранить например
12 Wladimir_spb
 
08.08.07
14:34
(10) Почему из файла? ХЗ не катит?
13 Темный Эльф
 
08.08.07
14:35
Можно по ОЛЕ в Эксель вставлять и там же прайс рисовать
14 krava_vlad
 
08.08.07
14:35
А кто может скинуть простой пример без использования построителя отчета с полями фото, наименование, артикул, цена
15 krava_vlad
 
08.08.07
14:36
(11) она уже там храница (ссылка на справочник ХЗ)
16 dk
 
08.08.07
14:39
(0) Нашел старющий прайс с картинками. Куда?
17 krava_vlad
 
08.08.07
14:39
(13) ты такое делал?
18 krava_vlad
 
08.08.07
14:40
(16) krava_vlad_kvn@rambler.ru
19 krava_vlad
 
08.08.07
14:40
+ (18) благодарю
20 dk
 
08.08.07
14:42
(18) Ушло
21 krava_vlad
 
08.08.07
14:50
(20) Модуль процедуры скинь, плиз "обЗначениеНеЗаполнено"
22 Идущий_в_Такт
 
08.08.07
14:53
(0) Почитай здесь. Мне помогло:
http://v8.1c.ru/predpriyatie/typical_problems_Common.htm#21
23 Темный Эльф
 
08.08.07
14:56
(17)Не обратил внимение, что тема по восьмерке, под 7.7 делал, под восьмеркой вроде можно проще
24 dk
 
08.08.07
14:57
(21) Не могу, я с 8-кой сейчас не работаю :(
Поищи аналог этой функции в типовой УТ, они (нехорошие человеки) ее просто переименовали как-то. Это просто проверка на пустое значение.
25 Wladimir_spb
 
08.08.07
15:02
(21) поменяй на "ЗначениеНеЗаполнено" )
26 krava_vlad
 
08.08.07
15:09
(25) Уже все поменял.
27 krava_vlad
 
08.08.07
15:10
Только одна проблема с процедурой "отПолучитьОписаниеТиповПоляДляРегистраСведений". Как найти ее аналог? Или скиньте плиз ее модуль
28 krava_vlad
 
08.08.07
15:10
(22) Там даные выбтраются через построитель отчета, очень тяжело нужно попроще
29 dk
 
08.08.07
15:22
(27) дык закомментируй
30 krava_vlad
 
08.08.07
15:27
(27) А разве его не надо?
31 dk
 
08.08.07
15:28
я же не могу открыть обработку, но думаю это что-то из разряда доп. характеристик товара.
32 krava_vlad
 
08.08.07
15:34
(31) Я его закоментировал, но оно все же в другом модуля ссылается на него
33 dk
 
08.08.07
15:44
(32) Блондин? :)
34 krava_vlad
 
08.08.07
16:32
(33) Uf
35 krava_vlad
 
08.08.07
16:33
(33) ГА
36 krava_vlad
 
08.08.07
16:35
Дайте описание процедуры (33)  отПолучитьОписаниеТиповПоляДляРегистраСведений
37 krava_vlad
 
08.08.07
16:45
Может кто еще делал печать прайс листа с фото, помогите?
38 krava_vlad
 
10.08.07
12:26
Помогите напечатать прайс лист с фото!!! Как изменитть типовую обработку ПечатьПрайсЛиста чтобі біло вибно фото?
39 dk
 
10.08.07
12:35
Закомментируй ВЕЗДЕ :)
40 krava_vlad
 
10.08.07
12:48
(39) Также выдает ошибку!!!
41 dk
 
10.08.07
12:49
(40) Я должен её угадать с 3-х попыток?
42 krava_vlad
 
10.08.07
12:59
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ

// Все возможные фильтры
Перем мТаблицаФильтры Экспорт;
// Все возможные описания типов
Перем мТаблицаТипы Экспорт;

//Используемые описания типов
Перем мОписаниеТиповСтрока Экспорт;
Перем мОписаниеТиповЧисло Экспорт;
Перем мОписаниеТиповДата Экспорт;
Перем мОписаниеТиповБулево Экспорт;
Перем мОписаниеТиповТаблицаЗначений Экспорт;

Перем мСтруктураМетаданныеРегистраРесурсы Экспорт;
Перем мСтруктураМетаданныеРегистраИзмерения Экспорт;

//Определяет, выводятся остатки или обороты
Перем мРесурс;

// Структура, содержащая допустимые типы фильтров
Перем мСтруктураТиповФильтров Экспорт;

// Значение типа фильтра по умолчанию
Перем мТипФильтраПоУмолчанию Экспорт;

// Структура, содержащая допустимые поля реквизитов, по которым
// выполняется сортировка показателей (начост, приход, расход и т.д.)
Перем мСтруктураНазванийПолейСортировки Экспорт;

//Количество группировок в выводе по горизонтали
Перем мГруппировокПоГоризонтали;

// Группировки, выводимые в отчет по горизонтали
Перем мЗначимыеГруппировкиГор;

// Таблица - источник данных для диаграммы
Перем мТаблицаДиаграммы;

// Имя групппировки, по которой будет разворачиваться диаграмма (последняя из выводимых по вертикали).
Перем мИмяГруппировкиДиаграмма;

Перем мТипЦен Экспорт;

Перем мТипСкидкиНаценки Экспорт;

Перем мКонтрагент Экспорт;

Перем мКоманда Экспорт;

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
//

// Определяет, есть ли иерархия у поля, используя данные таблицы мТаблицаФильтры.
//
// Параметры:
//    ИмяПоля       - строка, имя поля в таблице мТаблицаФильтры
//    ОписаниеПоляЗапроса - Строка, описание поля запроса
// Возвращаемое значение:
//    Истина        - есть иерархия,
//    Ложь          - нет иерархии
//
Функция ЕстьИерархия(ИмяПоля, ОписаниеПоляЗапроса) Экспорт

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

   МассивТипов = ОписаниеТиповГруппировки.Типы();

   ЕстьИерархия = Ложь;

   Для Каждого ЭлементТипа Из МассивТипов Цикл

       Если ЭлементТипа = Тип("Число")
           ИЛИ ЭлементТипа = Тип("Строка")
           ИЛИ ЭлементТипа = Тип("Дата")
           ИЛИ ЭлементТипа = Тип("Булево") Тогда

           Прервать;
       Иначе
           ПустоеЗначениеТипа = Новый(ЭлементТипа);

           // Проверка, является ли поле справочником, чтобы добавить итоги по иерархии.
           МетаданныеСправочника = Метаданные.Справочники.Найти(ПустоеЗначениеТипа.Метаданные().Имя);
           Если МетаданныеСправочника <> Неопределено Тогда
               
               // Если справочник иерархический, то можно получать итог по иерархии
               Если МетаданныеСправочника.Иерархический Тогда
                   ЕстьИерархия = Истина;
               КонецЕсли;
               
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;

   Возврат ЕстьИерархия;

КонецФункции // ЕстьИерархия()

// Выполняет запрос и формирует прайс-лист в соответствии с устанвлненными отборами
//
// Параметры:
//    ДокументРезультат - табличный документ, формируемый отчетом
//
Процедура ПечатьПрайсЛиста(ДокументРезультат) Экспорт

   Запрос = Новый Запрос;

   // Фильтр на значения измерений регистра, передаваемое в качестве параметров
   ТекстФильтры ="";

   // Фильтр на значения других полей, накладываемое на весь запрос
   ТекстОбщиеФильтры ="";

   ТаблицаСписокВсехФильтров = ФильтрыОтчета.Выгрузить();
   ТаблицаСписокВсехФильтров.Свернуть("ИмяФильтра, ПредставлениеФильтра, ОписаниеФильтра, ТипФильтра",);

   СтруктураПоиска = Новый Структура("ИмяФильтра");

   Для Каждого СтрокаФильтры Из ТаблицаСписокВсехФильтров Цикл

       СтруктураПоиска.ИмяФильтра = СтрокаФильтры.ИмяФильтра;

       НайденныеСтроки = ФильтрыОтчета.НайтиСтроки(СтруктураПоиска);

       // Формируем текст вложенного фильтра
       ТекстВложенногоФильтры = "";

       СтрЗначенияФильтры = "";

       Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл

           Если ЗначениеНеЗаполнено(НайденнаяСтрока.ЗначениеФильтра) Тогда
               Продолжить;
           КонецЕсли;

           ТекстВложенногоФильтры = ТекстВложенногоФильтры + ",  &Параметр" + НайденнаяСтрока.НомерСтроки;

           Запрос.УстановитьПараметр("Параметр" + НайденнаяСтрока.НомерСтроки, НайденнаяСтрока.ЗначениеФильтра);

           // Для динамических типов цен надо включать в запрос базовые типы цен, причем
           // в итоговую выборку они попасть не должны.
           ТекстВложенногоФильтры1 = ТекстВложенногоФильтры;
           Если НайденнаяСтрока.ИмяФильтра = "ТипЦен" Тогда
               Если НайденнаяСтрока.ЗначениеФильтра.Рассчитывается = 1 Тогда
                   Запрос.УстановитьПараметр("Параметр" + НайденнаяСтрока.НомерСтроки + "б", НайденнаяСтрока.ЗначениеФильтра.БазовыйТипЦен);
                   ТекстВложенногоФильтры1 = ТекстВложенногоФильтры + ",  &Параметр" + НайденнаяСтрока.НомерСтроки + "б";
               КонецЕсли;
           КонецЕсли;

           // Строка для шапки отчета
           СтрЗначенияФильтры = СтрЗначенияФильтры + ", " + НайденнаяСтрока.ЗначениеФильтра;

       КонецЦикла;

       Если ЕстьИерархия(СтрокаФильтры.ИмяФильтра, СтрокаФильтры.ОписаниеФильтра) Тогда
           Если СтрокаФильтры.ТипФильтра = "ВсеКроме" Тогда
               ОператорСравнения = " Не В Иерархии ";
           Иначе // если СтрокаФильтры.ТипФильтра = "ОдноИз"
               ОператорСравнения = " В Иерархии";
           КонецЕсли;
       Иначе
           Если СтрокаФильтры.ТипФильтра = "ВсеКроме" Тогда
               ОператорСравнения = " Не В ";
           Иначе // если СтрокаФильтры.ТипФильтра = "ОдноИз"
               ОператорСравнения = " В ";
           КонецЕсли;
       КонецЕсли;

       ТекстВложенногоФильтры = Сред(СокрЛП(ТекстВложенногоФильтры),2);
       ТекстВложенногоФильтры1 = Сред(СокрЛП(ТекстВложенногоФильтры1),2);

       Если Не ПустаяСтрока(ТекстВложенногоФильтры) Тогда

           // Фильтры, передаваемые в качестве параметров таблицы регистра
           Если (мСтруктураМетаданныеРегистраИзмерения.Свойство(СтруктураПоиска.ИмяФильтра)) И (СтруктураПоиска.ИмяФильтра <> "ТипЦен") Тогда
               ТекстФильтры = ТекстФильтры + " И " + СтруктураПоиска.ИмяФильтра + ОператорСравнения + " (" + ТекстВложенногоФильтры + ")";
               
           ИначеЕсли СтруктураПоиска.ИмяФильтра = "ТипЦен" Тогда
               ТекстОбщиеФильтры = ТекстОбщиеФильтры + " И Тип.Ссылка " + ОператорСравнения + " (" + ТекстВложенногоФильтры + ")";

               // Общие фильтры запроса
           Иначе
               ТекстОбщиеФильтры = ТекстОбщиеФильтры + " И " + СтрокаФильтры.ОписаниеФильтра + ОператорСравнения + " (" + ТекстВложенногоФильтры + ")";
           КонецЕсли;

       КонецЕсли;

   КонецЦикла;

   ТекстФильтры      = Сред(СокрЛП(ТекстФильтры),     2);
   ТекстОбщиеФильтры = Сред(СокрЛП(ТекстОбщиеФильтры),2);

   ДопКолонка   = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
   ВыводитьКоды = Истина;
   Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.НеВыводить Тогда
       ВыводитьКоды = Ложь;
   Иначе
       ИмяКолонкиКодов = Строка(ДопКолонка);
   КонецЕсли;

   Запрос.УстановитьПараметр("ДатаЦен"     , ДатаЦен);
   Запрос.УстановитьПараметр("ПустаяСтрока", "");
   Запрос.УстановитьПараметр("Артикул"     , Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул);
   Запрос.УстановитьПараметр("Код"         , Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код);
   Запрос.УстановитьПараметр("ДопКолонка"  , ДопКолонка);

   Запрос.Текст = "
   |ВЫБРАТЬ
   |Тип.Ссылка   КАК ТипЦен,
   |Ном.Ссылка   КАК Номенклатура,
   |Ном.Родитель КАК Группа,
   |ВЫБОР
   |    КОГДА Ном.НаименованиеПолное ПОДОБНО &ПустаяСтрока ТОГДА
   |        Ном.Наименование
   |    ИНАЧЕ Ном.НаименованиеПолное
   |КОНЕЦ КАК ПолноеНаименование,
   |ВЫБОР
   |    КОГДА &ДопКолонка = &Артикул
   |        ТОГДА Ном.Артикул
   |    КОГДА &ДопКолонка = &Код
   |        ТОГДА Ном.Код
   |    ИНАЧЕ
   |        NULL
   |КОНЕЦ КАК Артикул,
   |Рег.ЕдиницаИзмерения,
   |Рег.Валюта,
   |Тип.ВалютаЦены,
   |КурсыВалют.Курс          КАК КурсВалюты,
   |КурсыВалют.Кратность     КАК КратностьВалюты,
   |КурсыВалютЦены.Курс      КАК КурсВалютыЦены,
   // ((( dk 2005/06/03
   //|КурсыВалютЦены.Кратность КАК КратностьВалютыЦены,
   |КурсыВалютЦены.Кратность КАК КратностьВалютыЦены,";
   Если ВыводитьКартинку Тогда
       Запрос.Текст = Запрос.Текст + "
       |Ном.ОсновноеИзображение                    КАК Изображение,
       |Ном.ОсновноеИзображение.ВидДанных            КАК ИзображениеВидДанных,
       |Ном.ОсновноеИзображение.ИмяФайла            КАК ИзображениеИмяФайла,
       |Ном.ОсновноеИзображение.Хранилище            КАК ИзображениеХранилище,";
   КонецЕсли;
   // dk )))
   // ((( dk 2005/06/03
   //|ВЫБОР
   Запрос.Текст = Запрос.Текст + "
   |ВЫБОР
   // dk )))
   |    КОГДА Тип.Рассчитывается ТОГДА
   |        Рег.Цена * (100 + Тип.ПроцентСкидкиНаценки)/100
   |    ИНАЧЕ
   |        Рег.Цена
   |    КОНЕЦ КАК Цена
   |ИЗ
   |    Справочник.Номенклатура КАК Ном
   |    ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатуры КАК Тип
   //|    ПО Не Тип.ЭтоГруппа
   |    ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦен, ";

   Запрос.Текст = Запрос.Текст + ") КАК Рег  
   |ПО (Тип.Ссылка = Рег.ТипЦен И НЕ Тип.Рассчитывается ИЛИ Тип.БазовыйТипЦен = Рег.ТипЦен И Тип.Рассчитывается)
   |    И  Ном.Ссылка = Рег.Номенклатура
   |    ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦен) КАК КурсыВалют
   |    ПО КурсыВалют.Валюта = Рег.Валюта
   |    ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦен) КАК КурсыВалютЦены
   |    ПО КурсыВалютЦены.Валюта = Тип.ВалютаЦены
   |ГДЕ
   |    Ном.Ссылка В (Выбрать Номенклатура ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦен,";

   Если Не ПустаяСтрока(ТекстФильтры) Тогда
       Запрос.Текст = Запрос.Текст  + ТекстФильтры;
   КонецЕсли;

   Запрос.Текст = Запрос.Текст + ")) ";

   Если Не ПустаяСтрока(ТекстОбщиеФильтры) Тогда
       Запрос.Текст = Запрос.Текст + Символы.ПС + " И " + ТекстОбщиеФильтры;
   КонецЕсли;

   Запрос.Текст = Запрос.Текст + "
   |УПОРЯДОЧИТЬ ПО
   |    Номенклатура, ТипЦен
   |ИТОГИ ПО
   |    Номенклатура ТОЛЬКО ИЕРАРХИЯ
   |АВТОУПОРЯДОЧИВАНИЕ";

   Сообщить(Запрос.Текст);
   РезультатЗапроса = Запрос.Выполнить();
   
   
   Макет = ПолучитьМакет("Прайс");
   ДокументРезультат.Очистить();
   ДокументРезультат.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ФормированиеЦен_Прайс";

   ОбластьЗаголовок     = Макет.ПолучитьОбласть("Заголовок|Номенклатура");
   ОбластьЗаголовокКоды = Макет.ПолучитьОбласть("Заголовок|КолонкаКодов");
   Если ВыводитьКоды Тогда
       ДокументРезультат.Вывести(ОбластьЗаголовокКоды);
       ДокументРезультат.Присоединить(ОбластьЗаголовок);
   Иначе
       ДокументРезультат.Вывести(ОбластьЗаголовок);
   КонецЕсли;
   

   ОбластьШапкаНом    = Макет.ПолучитьОбласть("Шапка|Номенклатура");
   ОбластьШапкаЦена   = Макет.ПолучитьОбласть("Шапка|Цена");
   ОбластьШапкаКоды   = Макет.ПолучитьОбласть("Шапка|КолонкаКодов");
   ОбластьСтрокаНом   = Макет.ПолучитьОбласть("Строка|Номенклатура");
   ОбластьСтрокаЦена  = Макет.ПолучитьОбласть("Строка|Цена");
   ОбластьСтрокаКоды  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
   // ((( dk 03/06/2005
   ОбластьШапкаКартинка    = Макет.ПолучитьОбласть("Шапка|Картинка");
   ОбластьСтрокаКартинка    = Макет.ПолучитьОбласть("Строка|Картинка");
   
   ТЗКартинок = Новый ТаблицаЗначений();
   ТЗКартинок.Колонки.Добавить("Область");
   ТЗКартинок.Колонки.Добавить("Картинка");
   // dk )))
   
   Выборка = РезультатЗапроса.Выбрать();
   НоменклатураЦен = 0;
   Пока Выборка.Следующий() Цикл

       Если ЗначениеНеЗаполнено(Выборка.Номенклатура) Тогда
           Продолжить;
       ИначеЕсли Выборка.Номенклатура.ЭтоГруппа Тогда
           Продолжить;
       КонецЕсли;

       Если ЗначениеНеЗаполнено(НоменклатураЦен) Тогда
           НоменклатураЦен = Выборка.Номенклатура;
           Если ВыводитьКоды Тогда
               ОбластьШапкаКоды.Параметры.ИмяКолонкиКодов = ИмяКолонкиКодов;
               ДокументРезультат.Вывести(ОбластьШапкаКоды);
               // ((( dk 03/06/2005
               Если ВыводитьКартинку Тогда
                   ДокументРезультат.Присоединить(ОбластьШапкаКартинка);
               КонецЕсли;
               // dk )))
               ДокументРезультат.Присоединить(ОбластьШапкаНом);
           Иначе
               // ((( dk 03/06/2005
               //ДокументРезультат.Вывести(ОбластьШапкаНом);
               Если ВыводитьКартинку Тогда
                   ДокументРезультат.Вывести(ОбластьШапкаКартинка);
                   ДокументРезультат.Присоединить(ОбластьШапкаНом);
               Иначе
                   ДокументРезультат.Вывести(ОбластьШапкаНом);
               КонецЕсли;
               // dk )))
           КонецЕсли;
       КонецЕсли;

       Если Выборка.Номенклатура = НоменклатураЦен Тогда
           ОбластьШапкаЦена.Параметры.ТипЦен = Выборка.ТипЦен;
           ДокументРезультат.Присоединить(ОбластьШапкаЦена);
       Иначе
           Прервать;
       КонецЕсли;

   КонецЦикла;
   ДокументРезультат.Область( 1, 1, 2, ДокументРезультат.ШиринаТаблицы).Объединить();

   Выборка.Сбросить();
   НоменклатураЦен = 0;
   ГруппаКореньВыведена = Ложь;
   Пока Выборка.Следующий() Цикл

       Если ЗначениеНеЗаполнено(Выборка.Номенклатура) Тогда
           Продолжить;
       ИначеЕсли Выборка.Номенклатура.ЭтоГруппа Тогда

           УровеньГруппы = Мин(Выборка.Номенклатура.Уровень(), 6);
           ОбластьГруппа = Макет.ПолучитьОбласть("Группа"+УровеньГруппы+"|Номенклатура");
           ОбластьГруппа.Параметры.Номенклатура = Выборка.Номенклатура;
           ДокументРезультат.Вывести(ОбластьГруппа);

           Продолжить;

       КонецЕсли;

       Если Выборка.Номенклатура <> НоменклатураЦен Тогда
           Если ЗначениеНеЗаполнено(Выборка.Группа) Тогда
               Если Не ГруппаКореньВыведена Тогда
                   ГруппаКореньВыведена = Истина;
                   ОбластьГруппа = Макет.ПолучитьОбласть("Группа0|Номенклатура");
                   ДокументРезультат.Вывести(ОбластьГруппа);
               КонецЕсли;
           КонецЕсли;
           НоменклатураЦен = Выборка.Номенклатура;
           ОбластьСтрокаНом.Параметры.Номенклатура = Выборка.ПолноеНаименование;
           ОбластьСтрокаКоды.Параметры.Артикул     = Выборка.Артикул;
           Если ВыводитьКоды Тогда
               ДокументРезультат.Вывести(ОбластьСтрокаКоды);
               // ((( dk 03/06/2005
               Если ВыводитьКартинку Тогда
                   
                   ДокументРезультат.Присоединить(ОбластьСтрокаКартинка);
                   
                   //ОбластьСтрокаКартинка.Параметры.МестоКартинки = Неопределено;
                   
                   Если Не Выборка.Изображение.Пустая() Тогда
                       // Выбрано изображение
                       ОбъектКартинка = Неопределено;
                       Если Выборка.ИзображениеВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение Тогда
                           // Хранится картинка
                           ОбъектКартинка = Выборка.ИзображениеХранилище.Получить();
                       ИначеЕсли Выборка.ИзображениеВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл Тогда
                           // Хранится имя файла
                           Попытка
                               ОбъектКартинка = Новый Картинка(Выборка.ИзображениеИмяФайла, Истина);
                           Исключение
                               Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
                               ОбъектКартинка = Неопределено;
                           КонецПопытки;
                       КонецЕсли;    //Если Выборка.ИзображениеВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение Тогда
                       
                       Если ТипЗнч(ОбъектКартинка) = Тип("Картинка") Тогда
                           
                           СтрТЗ = ТЗКартинок.Добавить();
                           СтрТЗ.Область    = ДокументРезультат.ВысотаТаблицы;
                           СтрТЗ.Картинка    = ОбъектКартинка;
                           
                       КонецЕсли;
                                               
                   КонецЕсли;    //Если Не Выборка.Изображение.Пустая() Тогда
                   
               КонецЕсли;    //"Если ВыводитьКартинку Тогда
               // dk )))
               ДокументРезультат.Присоединить(ОбластьСтрокаНом);
           Иначе
               // ((( dk 03/06/2005
               //ДокументРезультат.Вывести(ОбластьСтрокаНом);
               Если ВыводитьКартинку Тогда
                   Если Не Выборка.Изображение.Пустая() Тогда
                       // Выбрано изображение
                       ОбъектКартинка = Неопределено;
                       Если Выборка.ИзображениеВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение Тогда
                           // Хранится картинка
                           ОбъектКартинка = Выборка.ИзображениеХранилище.Получить();
                       ИначеЕсли Выборка.ИзображениеВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл Тогда
                           // Хранится имя файла
                           Попытка
                               ОбъектКартинка = Новый Картинка(Выборка.ИзображениеИмяФайла, Истина);
                           Исключение
                               Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
                               ОбъектКартинка = Неопределено;
                           КонецПопытки;
                       КонецЕсли;    //Если Выборка.ИзображениеВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение Тогда
                       
                       Если ТипЗнч(ОбъектКартинка) = Тип("Картинка") Тогда
                           
                           СтрТЗ = ТЗКартинок.Добавить();
                           СтрТЗ.Область    = ДокументРезультат.ВысотаТаблицы;
                           СтрТЗ.Картинка    = ОбъектКартинка;
                           
                       КонецЕсли;
                                               
                   КонецЕсли;    //Если Не Выборка.Изображение.Пустая() Тогда
                   
                   ДокументРезультат.Вывести(ОбластьСтрокаКартинка);
                   ДокументРезультат.Присоединить(ОбластьСтрокаНом);
               Иначе    //"Если ВыводитьКартинку Тогда
                   ДокументРезультат.Вывести(ОбластьСтрокаНом);
               КонецЕсли;    //"Если ВыводитьКартинку Тогда
               // dk )))
           КонецЕсли;
       КонецЕсли;

       Если Выборка.Номенклатура = НоменклатураЦен Тогда

           ОбластьСтрокаЦена.Параметры.Единица = Выборка.ЕдиницаИзмерения;
           Цена = ?(Выборка.Цена = NULL,
                    0,
                    ?(Выборка.ТипЦен.Рассчитывается,
                      ОкруглитьЦену(ПересчитатьИзВалютыВВалюту(Выборка.Цена,
                                             Выборка.Валюта, Выборка.ВалютаЦены,
                                             Выборка.КурсВалюты, Выборка.КурсВалютыЦены,
                                             Выборка.КратностьВалюты, Выборка.КратностьВалютыЦены),
                                  Выборка.ТипЦен.ПорядокОкругления,
                                  Выборка.ТипЦен.ОкруглятьВБольшуюСторону),
                      Выборка.Цена));
           ВалютаЦены = ?(Выборка.Цена = NULL, "", ?(Выборка.ТипЦен.Рассчитывается, Выборка.ВалютаЦены, Выборка.Валюта));
           ОбластьСтрокаЦена.Параметры.Цена = Цена;

           ДокументРезультат.Присоединить(ОбластьСтрокаЦена);

       КонецЕсли;
   КонецЦикла;

   // ((( dk 03/06/2005
   Для Каждого СтрТЗ Из ТЗКартинок Цикл
       РисунокТабл = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
       РисунокТабл.Картинка = СтрТЗ.Картинка;
       РисунокТабл.Расположить(ДокументРезультат.Область("R"+ Строка(СтрТЗ.Область) + "C2"));
   КонецЦикла;
   // dk )))
   
КонецПроцедуры

////////////////////////////////////////////////////////////////////////////////
// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ

мТаблицаТипы           = Новый ТаблицаЗначений;

МассивСтрока = Новый Массив;
МассивСтрока.Добавить(Тип("Строка"));
КвалификаторСтроки = Новый КвалификаторыСтроки("100", ДопустимаяДлина.Переменная);
мОписаниеТиповСтрока = Новый ОписаниеТипов(МассивСтрока, , КвалификаторСтроки);

МассивБулево = Новый Массив;
МассивБулево.Добавить(Тип("Булево"));
мОписаниеТиповБулево = Новый ОписаниеТипов(МассивБулево);

МассивЧисло = Новый Массив;
МассивЧисло.Добавить(Тип("Число"));
КвалификаторЧисла = Новый КвалификаторыЧисла(15,3);
мОписаниеТиповЧисло = Новый ОписаниеТипов(МассивЧисло, КвалификаторЧисла);

МассивДата = Новый Массив;
МассивДата.Добавить(Тип("Дата"));
КвалификаторДаты = Новый КвалификаторыДаты();
мОписаниеТиповДата = Новый ОписаниеТипов(МассивДата, КвалификаторДаты);

МассивТаблицаЗначений = Новый Массив;
МассивТаблицаЗначений.Добавить(Тип("ТаблицаЗначений"));

мОписаниеТиповТаблицаЗначений = Новый ОписаниеТипов(МассивТаблицаЗначений);

мТаблицаФильтры     = Новый ТаблицаЗначений;
мТаблицаФильтры.Колонки.Добавить("ИмяПоля", мОписаниеТиповСтрока);
мТаблицаФильтры.Колонки.Добавить("ПредставлениеПоля", мОписаниеТиповСтрока);
мТаблицаФильтры.Колонки.Добавить("ОписаниеПоля", мОписаниеТиповСтрока);
мТаблицаФильтры.Колонки.Добавить("ИмяПоляВладелец", мОписаниеТиповСтрока);
мТаблицаФильтры.Колонки.Добавить("ВклПоУмолчанию", мОписаниеТиповБулево);
мТаблицаФильтры.Колонки.Добавить("Пометка", мОписаниеТиповБулево);
мТаблицаФильтры.Колонки.Добавить("ОписаниеТипов");

мСтруктураТиповФильтров = Новый Структура;
мСтруктураТиповФильтров.Вставить("ОдноИз", "Одно из:");
мСтруктураТиповФильтров.Вставить("ВсеКроме", "Все, кроме:");

мТипФильтраПоУмолчанию = "ОдноИз";

мТаблицаДиаграммы=Новый ТаблицаЗначений;

мТаблицаТипы.Колонки.Добавить("ИмяПоля", мОписаниеТиповСтрока);
мТаблицаТипы.Колонки.Добавить("ОписаниеТипов");

мЗначимыеГруппировкиГор=Новый ("СписокЗначений");

мСтруктураНазванийПолейСортировки = Новый Структура;
мСтруктураНазванийПолейСортировки.Вставить("Оборот", "Оборот");

выдает

{ВнешняяОбработка.ФормированиеЦен(293)}: Ошибка при вызове метода контекста (Выполнить): {(35, 86)}: Ожидается имя таблицы
ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦен, ) КАК Рег<<?>>))
   РезультатЗапроса = Запрос.Выполнить();
43 Лефмихалыч
 
10.08.07
13:06
глобальник запости еще...
не правь текст запроса руками - не дорос еще до этого. Верни, как было и правь конструктором
44 krava_vlad
 
10.08.07
13:10
Как в типовой печатиПрайсЛиста вставить фото товара?
45 dk
 
10.08.07
13:22
(42) Я пас. В понедельник гляну, может остались старые 8-е базы, если найду замылю, а самому разбираться чего там написал 2 года назад лениво. Вот только тебе надо под новую конфу? Что-то мне думается не поможет тебе исходная конфа.
46 krava_vlad
 
10.08.07
13:25
(45) А можеш в суботу глянуть? а то хочу на выходных сделать. Хочу попытаться переделать типовую печать
47 dk
 
10.08.07
13:26
неа, на выходные уезжаю
48 krava_vlad
 
12.08.07
03:33
Слава Богу все получилось.

В типовом прайсЛисте вставил в макет картинку и модуля прописал ее заполнение


       //Выводим фото для измерения
       Если Выборка.Номенклатура.ЭтоГруппа Тогда
       Иначе
           Если Выборка.Номенклатура.ОсновноеИзображение.Хранилище.Получить() = Неопределено Тогда
               МакетСтроки.Рисунки.ОсновноеИзображение.Картинка = Новый Картинка;
           Иначе
               МакетСтроки.Рисунки.ОсновноеИзображение.Картинка = Выборка.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
           КонецЕСли;
       КонецЕсли;
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс