Прайс-лист с картинками для УТ 11 (УФ, добавление логотипа и свободных текстовых полей)

08.04.13

Задачи пользователя - Прайсы

Развитие отчета http://infostart.ru/public/177876/ добавлением текстовых полей и логотипа в заголовок формы СКД, без изменения основной конфигурации.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ПрайсЛист.erf
.erf 18,04Kb
201
201 Скачать (1 SM) Купить за 1 850 руб.

История: отчет создание, которого описано в Картинка в таблице СКД (управляемое приложение) на примере УТ11, простое решение "в лоб" или легкая модификация стандартного отчета Прайс-Лист понравился заказчику, но чуть позже захотелось большего, а именно: хотелось добавить некоторое количество сворачиваемых группировкой текстовых полей и логотип в заголовке отчета (причем логотип хотелось добавлять по пути файла с диска), чтобы прямо в таком виде можно было отправлять покупателю.

Как говорится "нет ничего невозможного" (с). Приступим:

Сначала модифицируем Основную схему компоновки данных исходного отчета, добавим нужные нам параметры:

Новые параметры

Укажем их в качестве пользовательских настроек:

Пользовательские настройки

Добавим строковый реквизит отчета АдресЛоготипа для передачи через него адреса хранилища во временном хранилище:

Адрес логотипа

Добавим управляемую ФормуОтчета,

Реквизит АдресЛоготипа не размещаем на форме:

КомпоновщиНастроек

Обратим внимание на то, что элемент формы КомпоновщикНастроекПользовательскиеНастройки, не имеет в своем составе колонок, а они нам нужны, чтобы упростить выбор пользователем файла логотипа. Вызваем контекстное меню КомпоновщикНастроекПользовательскиеНастройки и выбираем Добавить колонки:

колонки 

Появятся колонки, что значительно упрощает дальнейшие действия с настройкой отчета:

теперь они есть

Для элемента формы КомпоновщикНастроекПользовательскиеНастройки зададим действие ПриАктивизацииЯчейки:

ПриАктивацииЯчейки

и наполним процедуру (которая включит отображение кнопки выбора для настройки "Путь к логотипу"):

&НаКлиенте
Процедура КомпоновщикНастроекПользовательскиеНастройкиПриАктивизацииЯчейки(Элемент)
    Если Не Элемент.ТекущиеДанные = Неопределено Тогда
        Элементы.КомпоновщикНастроекПользовательскиеНастройкиЗначение.КнопкаВыбора = ?(Элемент.ТекущиеДанные.Настройка = "Путь к логотипу", Истина, Неопределено);
    КонецЕсли;
КонецПроцедуры

Для элемента формы КомпоновщикНастроекПользовательскиеНастройкиЗначение зададим действие НачалоВыбора:

НачалоВыбора

и наполним процедуру (которая для настройки "Путь к логотипу", умеет вызывать диалог выбора файла и при успешном выборе загружает его во временное хранилище заполняя ревкизит отчета АдресЛоготипа):

&НаКлиенте
Процедура КомпоновщикНастроекПользовательскиеНастройкиЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Если Элемент.Родитель.Родитель.ТекущиеДанные.Настройка = "Путь к логотипу" Тогда   
        Настройка = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ПутьКЛоготипу").ИдентификаторПользовательскойНастройки);   
        Режим = РежимДиалогаВыбораФайла.Открытие;   
        ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);   
        ДиалогОткрытияФайла.ПолноеИмяФайла = Настройка.Значение;   
        Текст = "ru = ""Логотип""; en = ""Logo""";   
        Фильтр = НСтр(Текст)+"(*.*)|*.*";
        ДиалогОткрытияФайла.Фильтр = Фильтр;   
        ДиалогОткрытияФайла.МножественныйВыбор = Ложь;   
        ДиалогОткрытияФайла.Заголовок = "Выберите файл логотипа"   
        Если ДиалогОткрытияФайла.Выбрать() Тогда    
            Настройка.Значение = ДиалогОткрытияФайла.ПолноеИмяФайла;    
            Настройка.Использование = Истина;    
            Элементы.КомпоновщикНастроекПользовательскиеНастройки.ТекущийЭлемент = Элементы.КомпоновщикНастроекПользовательскиеНастройкиНастройка;     
            ОбновитьОтображениеДанных();    
            Элементы.КомпоновщикНастроекПользовательскиеНастройки.ТекущийЭлемент = Элементы.КомпоновщикНастроекПользовательскиеНастройкиЗначение;
            Отчет.АдресЛоготипа = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ДиалогОткрытияФайла.ПолноеИмяФайла), Отчет.АдресЛоготипа);
       КонецЕсли;           
       СтандартнаяОбработка = Ложь;  
    КонецЕсли; 
КонецПроцедуры

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

Дорабатываем процедуру модуля объекта ПриКомпоновкеРезультата, после строки  ДокументРезультат.Очистить(); добавим вызов:

ВывестиСамопальныйЗаголовок(ДокументРезультат, КомпоновщикНастроек);

И пишем новую процедуру: ВывестиСамопальныйЗаголовок (процедура читает параметры компоновки и выводит их предварительно сгруппировав, она же выводит логотип):

Процедура ВывестиСамопальныйЗаголовок(ДокументРезультат, КомпоновщикНастроек)
    ДокументРезультат.НачатьАвтогруппировкуСтрок();    
    КоличествоКолонок = ВернутьКоличествоКолонки(КомпоновщикНастроек.Настройки.Выбор.Элементы);  
    СекцияЗаголовка = ДокументРезультат.ПолучитьОбласть(1, , 1);
    ДокументРезультат.Вывести(СекцияЗаголовка, 1, "ГруппаЗаголовка", Истина);
    Область = ДокументРезультат.Область(ДокументРезультат.ВысотаТаблицы, 1);  
    Область.ВысотаСтроки = 5
    ТекстЗаголовка = ВернутьЗначениеПараметраНастройкиСКД(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы, "Заголовок");  
    Если ЗначениеЗаполнено(ТекстЗаголовка) Тогда   
        Область = СекцияЗаголовка.Область("R1C1");   
        Область.Шрифт = Новый Шрифт(Область.Шрифт, , 13, Истина);   
        Область.Текст = ТекстЗаголовка;   
        ДокументРезультат.Вывести(СекцияЗаголовка, 2, "ЭлементЗаголовка", Истина);  
    КонецЕсли;    

    Компания = ВернутьЗначениеПараметраНастройкиСКД(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы, "Компания");  
    Если ЗначениеЗаполнено(Компания) Тогда   
        Область = СекцияЗаголовка.Область("R1C1");   
        Область.Шрифт = Новый Шрифт(Область.Шрифт, , 10, Истина);   
        Область.Текст = Компания;   
        ДокументРезультат.Вывести(СекцияЗаголовка, 2, "ЭлементЗаголовка", Истина);  
    КонецЕсли;    

    Адрес = ВернутьЗначениеПараметраНастройкиСКД(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы, "Адрес");  
    Если ЗначениеЗаполнено(Адрес) Тогда   
        Область = СекцияЗаголовка.Область("R1C1");   

        Область.Шрифт = Новый Шрифт(Область.Шрифт, , 9);   
        Область.Текст = Адрес;   
        ДокументРезультат.Вывести(СекцияЗаголовка, 2, "ЭлементЗаголовка", Истина);  
    КонецЕсли;    

    Телефон = ВернутьЗначениеПараметраНастройкиСКД(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы, "Телефон");   
    Если ЗначениеЗаполнено(Телефон) Тогда   
        Область = СекцияЗаголовка.Область("R1C1");   
        Область.Шрифт = Новый Шрифт(Область.Шрифт, , 9);   
        Область.Текст = Телефон;   
        ДокументРезультат.Вывести(СекцияЗаголовка, 2, "ЭлементЗаголовка", Истина);  
    КонецЕсли;     

    НомерКолонкиЛоготипа = ВернутьЗначениеПараметраНастройкиСКД(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы, "НомерКолонкиЛоготипа", 4);
    Если ЗначениеЗаполнено(АдресЛоготипа) Тогда   
        Область = ДокументРезультат.Область(1, НомерКолонкиЛоготипа, ДокументРезультат.ВысотаТаблицы - 1, НомерКолонкиЛоготипа + 5);   
        ВывестиЛоготип(ДокументРезультат, АдресЛоготипа, Область);  
    КонецЕсли;    
    ДокументРезультат.ЗакончитьАвтогруппировкуСтрок(); 
КонецПроцедуры

Отметим, что в модуле формы также присутствует процедура ПриОткрытии, которая при наличии строки в настройке ПутьКЛоготипу, поместит соответствующую информацию во временное хранилище, это необходимо учитывать и при автоматическом формировании отчета. Также отметим что если отчет запускается на разных компьютерах под одним и темже пользователем, то при задании абсолютного пути (с указанием диска конкретного компьютера), возможны ошибки чтения логотипа, т.к. в этом случае реальный путь к логотипу может отличатся от сохраненного на другом компьютере.

В результате сформированный отчет может принять такой вид:

результат

Готовый отчет доступен к скачиванию. 

ЗЫ: При передаче больших логотипов может наблюдаться замедление вывода отчета.

PS: Существует еще одна модификация данного отчета Прайс лист с картинками для УТ11 (логотип, картинки товаров, свободные текстовые поля в заголовке, отбор по остаткам), правда без подробного описания процесса изменения... но там изменений минимум.

См. также

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

11100 руб.

29.10.2014    217483    662    527    

457

Прайсы Загрузка и выгрузка в Excel Пользователь Платформа 1С v8.3 Оперативный учет 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Внешние обработки для загрузки прайс-листов в формате Excel в конфигурации: Управление торговлей, редакция 11; Управление нашей фирмой, редакция 3.0; Бухгалтерия предприятия, редакция 3.0 без использования COM-объектов (установленного Excel)

7200 руб.

16.04.2020    32176    266    15    

65

SALE! 30%

Прайсы Оптовая торговля Сайты и интернет-магазины Программист Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 11 Транспорт, автопарки, такси Управленческий учет Платные (руб)

Внешняя обработка адаптирована для 1C: УТ 11, предназначена для наполнения вашей базы данных товарами и сопутствующей информацией, предоставляемой b2b.4tochki.ru, обновления остатков и цен.

8160 руб.

31.01.2020    31932    14    7    

16

SALE! 30%

Прайсы Оптовая торговля Ценообразование, анализ цен Сайты и интернет-магазины Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Легкая обработка для мониторинга цен практически любого сайта (парсинга), не требует специальных знаний при настройке.

6960 4872 руб.

17.04.2017    32385    29    24    

42

Прайсы Оптовая торговля Розничная торговля Ценообразование, анализ цен Пользователь Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Форма для упрощения заведения скидок/наценок со всеми сопутствующими элементами (установка цены, создание сегмента номенклатуры и условиями предоставления скидок/наценок).

5990 руб.

21.07.2020    9612    5    2    

12

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Бухгалтер Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    123080    47    105    

54

Загрузка и выгрузка в Excel Оптовая торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка Прайс-Листов из Excel в 1С Бухгалтерию предприятия 3.0 (БП 3.0) или 1С Управление торговли 11 (УТ 11) или 1С Управление торговли 11 (УТ 10.3) 1. Грузится новая Номенклатура с Артикулом, Наименованием, полным наименованием, Ставкой НДС, Единицей измерения, Вид номенклатуры, Комментарием (описанием), если такая номенклатура есть, то она НЕ создается. Номенклатура ищется по «Артикулу» с созданием папок (групп) в нужной иерархии 2. Создается новый документ «Установка цен номенклатуры» на указанную дату и по новым ценам из Прайс-Листа 3. Создается новый документ «Оприходование товаров» на указанную дату и на количество, которые указано в обработке пользователем. 4. Для УТ 10.3 есть возможность грузить в документ "Заказ поставщику" и появилась возможность искать Номенклатуру по Артиклу или Коду или Названию товара

2400 руб.

29.01.2018    54456    106    1    

73
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. admrez 21 03.04.14 13:44 Сейчас в теме
Будет ли работать в 11.1.4.11 или в УТ 11.1.5.8 ? Мало стармани для эксперимента ((
2. mxm2 1268 03.04.14 14:13 Сейчас в теме
(1) admrez, не проверял, но Вы можете сами все сделать на основании стандартного прайса (ибо здесь все наглядно описано). Или можете скачать http://infostart.ru/public/178422 - тут есть версия на 100% работающая в УТ_11_1_4_11
3. welik 4 16.06.14 10:57 Сейчас в теме
Нет процедуры ВывестиЛоготип() и фyнкции ВернутьКоличествоКолонки()
Спасибо за труд, очень полезно.
4. Magomed-mallaev 02.02.15 00:17 Сейчас в теме
Ребята у меня версия УТ11.1.9.70 -
"Ошибку выдает Метод объекта не обнаружен (ПолучитьПараметр)"
5. Magomed-mallaev 02.02.15 00:18 Сейчас в теме
6. PYCTAM 15.06.15 10:58 Сейчас в теме
А как добавить чтобы отображалась группа номенклатуры?
7. meb 30.10.15 15:52 Сейчас в теме
Добрый день!Почему версия отчета 1.001? не получается загрузить отчет
8. kopeikin 16.11.15 16:42 Сейчас в теме
Скачал обработку. У меня выдает ошибку (Метод объекта не обнаружен (ПолучитьПараметр)). Дайте знать что за ошибка и как с ней бороться.
9. kopeikin 16.11.15 16:43 Сейчас в теме
У меня версия УТ 8.3.5.2237 для РБ.
10. Nikovit 24.12.15 13:39 Сейчас в теме
Тоже не работает УТ 11.1.10.185
11. MasteR87 12.01.16 22:42 Сейчас в теме
Кто нибудь решил проблему с ошибкой Метод объекта не обнаружен (ПолучитьПараметр)
Релиз Управление торговлей, редакция 11.1 (11.1.10.199), Отпишитесь кто решил пожалуйста
user816845; vvvalera; Desmondoff; Nikovit; Pyzuriaka; +5 Ответить
Оставьте свое сообщение