Загрузка изображений к товару

1. Tinvul 05.03.12 04:08 Сейчас в теме
В 1с 7.7 есть возможность работы с картинками? очень волнует этот вопрос, так как слышал краем уха, что в 7.7 нет штатных средств для отображения изображений(

З.Ы. Сам 1С в глаза только первый раз увидел - а шеф сказал "надо мне картинки к товарам присобачить"...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. vcv 89 05.03.12 07:02 Сейчас в теме
(1) Если "в первый раз увидел", то лучше пригласить специалиста. Если хочется самому поразбираться, то читать, например, тут: http://infostart.ru/public/17125/
5. Tinvul 05.03.12 07:09 Сейчас в теме
(4) vcv, Спасибо. Будем разбираться)
2. kotuke 05.03.12 06:09 Сейчас в теме
Нет. Только начиная с 8
7. Tinvul 05.03.12 11:29 Сейчас в теме
Перем ТекСтрокаВТаблице; // текущая строка в таблице значений  МФ
Перем гУсл[10];

// используются для стандартного механизма кнопок "Обновить" и "Настройка"
Перем ИсхТабл;		
Перем Обновить;
Перем Расшифровка; 

Перем ТипЦены;

//******************************************************************************
// ВыбратьПоФильтру()
//
// Параметры:
//  Нет
//
// Описание:
//  Открывает обработку отбора элементов по произвольному фильтру
//
Процедура ВыбратьПоФильтру()
	
	Перем  ВидЗначенияПодбора;
	
	ВидЗначенияПодбора=СокрЛП(ТаблицаМФ.Вид);
	
	Если ПустоеЗначение(ВидЗначенияПодбора)=1 Тогда
		Возврат;
	КонецЕсли;
	
	СписокПараметров=СоздатьОбъект("СписокЗначений");
	СписокПараметров.ДобавитьЗначение("",                "ИмяВызвавшейФормы");
	СписокПараметров.ДобавитьЗначение(ТаблицаМФ.Тип,     "Тип");
	СписокПараметров.ДобавитьЗначение(ВидЗначенияПодбора,"Вид");
	СписокПараметров.ДобавитьЗначение(СписокЭлементовМФ, "Объекты");
	ТаблицаМФ.ФлВкл=2;
	ОткрытьФорму("Обработка.ПодборОбъектов#",СписокПараметров);
	
КонецПроцедуры	// ВыбратьПоФильтру

//******************************************************************************
// ПерерисовкаНазванийЗакладок
//
// Параметры:
// 	Нет
//
// Описание:
//  Добавляет "(!)" в заголовок закладки с множественным фильтром, когда этот фильтр задан
//
Функция ПерерисовкаНазванийЗакладок()      
	
	Врем = Форма.Закладки.ПолучитьЗначение(2);
	Форма.Закладки.УстановитьЗначение(2, Врем,?(глМножественныйФильтрЗадан(ТаблицаМФ)=1,"(!) ","")+"Множественный фильтр");
	
КонецФункции // ПерерисовкаНазванийЗакладок	

//******************************************************************************                                                    
// РасшифровкаОбновить(Обновить)
//
// Параметры:
//  Обновить = 	1 - нажата кнопка "Обновить"
//				2 - нажата кнопка "Настройка"	
//
// Возвращаемое значение: 
//	Расшифровка (список значений)
//
// Вызывается из формул элементов диалога:
//  из таблицы, кнопки "Обновить" и "Настройка"
//
// Описание:  
//	функция для стандартного механизма кнопок ""Обновить" и "Настройка""
//  помещает значение параметра в список Расшифровка  и возвращает этот список
//
Функция РасшифровкаОбновить(Обновить)  
	
	Расшифровка.Установить("Обновить", Обновить);
	Возврат Расшифровка;           
	
КонецФункции //РасшифровкаОбновить()                                            

//******************************************************************************
// ФильтрПоПеременнойЗапроса(ТекстЗапроса,Загол,Поле,НазвПоля,НазвПеремЗапроса)
//
// Параметры:
//  ТекстЗапроса - переменная, в которой содержится текст формируемого запроса
//	ТекстЗаголовка - переменная, в которой содержится заголовок отчета
//	ПолеЕФ - Значение элемента диалога, в котором вводится значение фильтра
//	ИмяПоляЕФ - Название элемента диалога, в котором вводится значение фильтра
//	ИмяПеремЗапроса - название переменной запроса, к которой применить фильтр
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  Дополняет текст запроса и заголовок отчета по переданному фильтру.
//
Функция ФильтрПоПеременнойЗапроса(ИмяПеремЗапроса,ПолеЕФ,ИмяПоляЕФ,ТекстЗапроса,ТекстЗаголовка,ВидСправочникаСвойства="")
    Перем ПолеМФ, 			ИмяПоляМФ, 			ВремТипМФ;
	Перем ПолеМФСвойств, 	ИмяПоляМФСвойств, 	ТипМФСвойств;
	
	ТаблицаМФ.ВыбратьСтроки();
	Пока ТаблицаМФ.ПолучитьСтроку()=1 Цикл
		Если (ТаблицаМФ.СписокЭлементов.РазмерСписка()>0) и 
			 (ТаблицаМФ.ИмяПеременной=ИмяПеремЗапроса) и
		     (ТаблицаМФ.ФлВкл=2) Тогда
			 	
			 Номер = ТаблицаМФ.НомерСтроки;
			 Если (ТаблицаМФ.Вид<>"ЗначенияСвойств") Тогда
			 	гУсл[Номер] = ТаблицаМФ.СписокЭлементов;
				ПолеМФ	    		= гУсл[Номер];
				ИмяПоляМФ			= "гУсл["+СокрЛП(Номер)+"]";
				ВремТипМФ			= ТаблицаМФ.ТипМФ;
			Иначе // по свойствам
				гУсл[Номер] = СоздатьОбъект("СписокЗначений");
				ТаблицаМФ.СписокЭлементов.Выгрузить(гУсл[Номер]);
				ПолеМФСвойств	    = гУсл[Номер];
				ИмяПоляМФСвойств	= "гУсл["+СокрЛП(Номер)+"]";
				ТипМФСвойств		= ТаблицаМФ.ТипМФ;          
			КонецЕсли;
			
		КонецЕсли;                         
	КонецЦикла;
	
	Рез1 = глФильтрПоСправочнику(ПолеЕФ,ИмяПоляЕФ,
						  ПолеМФ,ИмяПоляМФ,ВремТипМФ,
						  ТекстЗапроса,ТекстЗаголовка,
						  ИмяПеремЗапроса);
	
	Рез2 = глФильтрПоСвойствам(ВидСправочникаСвойства,
						ПолеМФСвойств, ИмяПоляМФСвойств, ТипМФСвойств,
						ТекстЗапроса, ТекстЗаголовка, ИмяПеремЗапроса);
	Возврат (Рез1*Рез2); // если хоть один = 0 - плохо

КонецФункции // ФильтрПоПеременнойЗапроса()

//******************************************************************************
// Выполнить()
//
// Параметры:
//  Нет
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//
Процедура Сформировать(Закрывать=0)
	
	Если (ТипЗначенияСтр(ИсхТабл) <> "Таблица") ИЛИ (Обновить = 0) Тогда
	   	ИсхТабл = СоздатьОбъект("Таблица");
	Иначе
	 	ИсхТабл.Очистить();
	КонецЕсли;      
	               
   	ИсхТабл.ИсходнаяТаблица( "Таблица" );
	
	Расшифровка = СоздатьОбъект("СписокЗначений");
    Расшифровка.Установить("Отчет", ?(ПустаяСтрока(РасположениеФайла()) = 1, "ПечатьПрайса", РасположениеФайла()));
	
	// все настройки помещаем в список
	Расшифровка.Установить("ДатаОтчета",      ДатаОтчета);
    Расшифровка.Установить("ПоНаличию" ,      ПоНаличию);
	Расшифровка.Установить("ВидРазделителя",  ВидРазделителя);
	Расшифровка.Установить("ВыбРазделитель1", ВыбРазделитель1);
	Расшифровка.Установить("ВыбРазделитель2", ВыбРазделитель2);
	Расшифровка.Установить("ВыбРазделитель3", ВыбРазделитель3);
	Расшифровка.Установить("ВыбТМЦ",          ВыбТМЦ);
	Расшифровка.Установить("ТипыЦен",	      ЗначениеВстрокуВнутр(ТипыЦен));
	Расшифровка.Установить("ВариантВключенияВпрайс", ВариантВключенияВпрайс);
	
	глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст); // записываем изменения если они были
	// запомним МФ только если он задан
    Если глМножественныйФильтрЗадан(ТаблицаМФ) = 1 Тогда
		Расшифровка.Установить("ТаблицаМФ", ТаблицаМФ); 
	КонецЕсли;

	// Заголовок отчета
	
	ИсхТабл.ВывестиСекцию("Кнопки");
	НачПовтСекц = ИсхТабл.ВысотаСекции("Кнопки");
	
	ИсхТабл.ВывестиСекцию("Заголовок");
	НачПовтСекц = НачПовтСекц + ИсхТабл.ВысотаСекции("Заголовок");
	
	ИсхТабл.ВывестиСекцию("ШапкаТаблицы|Название");
	КонПовтСекции = НачПовтСекц + ИсхТабл.ВысотаСекции("ШапкаТаблицы");
	ИсхТабл.ПовторятьПриПечатиСтроки(НачПовтСекц + 1, КонПовтСекции);
	
	// Присоединим заголовку названия цен
	Для Счетчик=1 По ТипыЦен.РазмерСписка() Цикл
		Если ТипыЦен.Пометка(Счетчик) = 1 Тогда
			ТекТипЦены = ТипыЦен.ПолучитьЗначение(Счетчик);
			ИсхТабл.ПрисоединитьСекцию("ШапкаТаблицы|Цена");
		КонецЕсли;
	КонецЦикла;
	
	Если ПоНаличию = 1 Тогда
		
		// получим остатки номенклатуры
		РегОстатки          = СоздатьОбъект("Регистр.ОстаткиТМЦ");
		Объект              = "";
		ФирмаДляОстатковТМЦ = ""; 
		Если      ВидРазделителя = 2 Тогда
		    ФирмаДляОстатковТМЦ = ВыбРазделитель1;
		ИначеЕсли ВидРазделителя = 3 Тогда
			Объект         = ВыбРазделитель2;
			ИмяОбъекта     = "ЮрЛицо"; 
		ИначеЕсли ВидРазделителя = 4 Тогда
			Объект         = ВыбРазделитель3;
			ИмяОбъекта     = "УпрАналитика"; 
		КонецЕсли;
	
		Если ПустоеЗначение(Объект) = 0 Тогда // Надо заполнить список фирм
			СпрФирм             = СоздатьОбъект("Справочник.Фирмы");
			ФирмаДляОстатковТМЦ = СоздатьОбъект("СписокЗначений"); 
			СпрФирм.ВыбратьЭлементы();
			Пока СпрФирм.ПолучитьЭлемент() = 1 Цикл
				Если СпрФирм.ПолучитьАтрибут(ИмяОбъекта)= Объект Тогда
					ФирмаДляОстатковТМЦ.ДобавитьЗначение(СпрФирм.ТекущийЭлемент());
				КонецЕсли;
			КонецЦикла;
			
			// Если нет ни одной фирмы с таким лицом, то отбирать нечего
			Если ФирмаДляОстатковТМЦ.РазмерСписка() = 0 Тогда
				// Если нет ни одной фирмы с таким лицом, то отбирать нечего
				Предупреждение("Нет ни одной фирмы со значением """ + Объект.ПредставлениеВида() + """ равным """ + 
				СокрЛП(Объект) + """.",60);
				Форма.Активизировать("ВыбРазделитель"+ СокрЛП(ВидРазделителя - 1),1);
				Возврат;
			КонецЕсли;
		КонецЕсли;
	
		Если ПустоеЗначение(ФирмаДляОстатковТМЦ) = 0 Тогда
			РегОстатки.УстановитьЗначениеФильтра("Фирма", ФирмаДляОстатковТМЦ, 2);
		КонецЕсли;
		
		СписокНоменклатуры = СоздатьОбъект("СписокЗначений");
		РегОстатки.ВыбратьИтоги();
		Пока РегОстатки.ПолучитьИтог() = 1 Цикл
			Если РегОстатки.Количество > 0 Тогда
				СписокНоменклатуры.ДобавитьЗначение(РегОстатки.Номенклатура);
			КонецЕсли;
		КонецЦикла;     
		
		Если СписокНоменклатуры.РазмерСписка() = 0 Тогда
			Предупреждение("Заданным условиям фильтра не удовлетворяет ни одна позиция номенклатуры.",60);
			Возврат;
		КонецЕсли;
		
	КонецЕсли;
	
	ТекстЗапроса = "//{{ЗАПРОС(ОтборЦен)
	|Период с ДатаОтчета по ДатаОтчета;
	|Номенклатура = Справочник.Цены.Владелец;
	|Артикул	  = Справочник.Цены.Владелец.Артикул;
    |Вес    	  = Справочник.Цены.Владелец.РеквВесБазовой;		
	|Тип          = Справочник.Цены.ТипЦен;
	|Цена         = Справочник.Цены.Цена;
	|Единица      = Справочник.Цены.Единица;
	|Функция ЦенаСумма = Сумма(Цена);
	|Группировка Номенклатура Упорядочить по Номенклатура.Наименование;
	|Группировка Тип;
	|"//}}ЗАПРОС
	;
	
	Если ПоНаличию = 1 Тогда
		ТекстЗапроса = ТекстЗапроса + "Условие(Номенклатура в СписокНоменклатуры);"
	КонецЕсли;

	// Добавим отбор по флагу включения в прайс	
	Если ВариантВключенияВпрайс > 1 Тогда  
		Если ВариантВключенияВпрайс = 2 Тогда
			ТекстЗапроса = ТекстЗапроса + "Условие ( Номенклатура.НеВключатьВпрайс = 0);";
		Иначе
			ТекстЗапроса = ТекстЗапроса + "Условие ( Номенклатура.НеВключатьВпрайс = 1);";
		КонецЕсли;
	КонецЕсли;
	
	НетОш = 1; // нет ошибок при наложении фильтров
	НетОш = НетОш * ФильтрПоПеременнойЗапроса("Номенклатура", ВыбТМЦ, "ВыбТМЦ", ТекстЗапроса, , "СвойстваНоменклатуры");

	Если НетОш = 0 Тогда
		Возврат;
	КонецЕсли;
	
	Запрос = СоздатьОбъект("Запрос");
	Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
		Возврат;
	КонецЕсли;

	ТаблицаЦен = СоздатьОбъект("ТаблицаЗначений");
	ТаблицаЦен.НоваяКолонка("Артикул");
	ТаблицаЦен.НоваяКолонка("Вес");
	ТаблицаЦен.НоваяКолонка("Тип");
	ТаблицаЦен.НоваяКолонка("Цена");
	ТаблицаЦен.НоваяКолонка("Единица");
	    
	ТекущаяГруппа= ПолучитьПустоеЗначение("Справочник.Номенклатура");

	Пока Запрос.Группировка("Номенклатура") = 1 Цикл
		ТекЭлем = Запрос.Номенклатура;
		
		
		Если ТекЭлем.ЭтоГруппа() = 0 Тогда
			
			ТаблицаЦен.УдалитьСтроки();
			
			Пока Запрос.Группировка("Тип") = 1 Цикл
				Если Запрос.ЦенаСумма = 0 Тогда
					Продолжить;
				КонецЕсли;
				
				ТаблицаЦен.НоваяСтрока();
				ТаблицаЦен.Артикул = Запрос.Артикул;
				ТаблицаЦен.Вес     = Запрос.Вес;
				ТаблицаЦен.Тип     = Запрос.Тип;
				ТаблицаЦен.Цена    = Запрос.ЦенаСумма;
				ТаблицаЦен.Единица = Запрос.Единица;
				ТаблицаЦен.Вес     = Запрос.Вес;
			КонецЦикла;
			
			Если ТаблицаЦен.КоличествоСтрок() = 0 Тогда
				Продолжить;
			КонецЕсли;
			
			// Отделяем товары группы от товаров ее подгрупп
			Если ПустоеЗначение(ТекущаяГруппа) = 0 Тогда
				Если ТекЭлем.ПринадлежитГруппе(ТекущаяГруппа)= 0 Тогда
					ТекущаяГруппа = ТекЭлем.Родитель;
					// В качестве разделителя выводим название той-же группы более мелким уровнем
					Наименование = ТекущаяГруппа.Наименование;
					ИсхТабл.ВывестиСекцию("Группа" + ТекЭлем.Уровень() + "|Название");
					Для Счетчик=1 По ТипыЦен.РазмерСписка() Цикл
						Если ТипыЦен.Пометка(Счетчик) = 1 Тогда
							ИсхТабл.ПрисоединитьСекцию("Группа" + ТекЭлем.Уровень() + "|Цена");
						КонецЕсли;
					КонецЦикла;
				КонецЕсли;   
			КонецЕсли;
			
			Наименование = ТекЭлем.Наименование;
			ИсхТабл.ВывестиСекцию("Номенклатура|Название");
			
			Для Счетчик=1 По ТипыЦен.РазмерСписка() Цикл
				Если ТипыЦен.Пометка(Счетчик) = 1 Тогда
					ТекТип = ТипыЦен.ПолучитьЗначение(Счетчик);
					
					Если ТекТип.Рассчитывается = 1 Тогда
						ИспТип = ТекТип.БазовыйТипЦен;
					Иначе
						ИспТип = ТекТип;
					КонецЕсли;
					// поищем тип в таблице
					Поз = 0;
					Если ТаблицаЦен.НайтиЗначение(ИспТип, Поз, "Тип") = 1 Тогда
						ТаблицаЦен.ПолучитьСтрокуПоНомеру(Поз);
						Артикул = ТаблицаЦен.Артикул;
						Цена    = ТаблицаЦен.Цена;
						Единица = ТаблицаЦен.Единица;
						Вес     = ТаблицаЦен.Вес;
						Если ТекТип.Рассчитывается = 1 Тогда
							// нужно пересчитать цену
							Цена = глПересчет(Цена, ИспТип.Валюта, ДатаОтчета, ТекТип.Валюта, ДатаОтчета);
							Цена = глОкруглить(Цена * (100 + ТекТип.Процент) / 100, ТекТип.ПорядокОкругления);
						КонецЕсли;
						ПечАртикул = Артикул;
						ПечВес	   = Вес;
						ПечЦена    = глФРМ(Цена, ТекТип.Валюта);
						ПечЕдиница = Единица;
						ПечВес	   = Вес;
					Иначе
						ПечЦена = "";
					КонецЕсли;
					
					ИсхТабл.ПрисоединитьСекцию("Номенклатура|Цена");
				КонецЕсли;
			КонецЦикла;
		Иначе
			
			Наименование = ТекЭлем.Наименование;
			ИсхТабл.ВывестиСекцию("Группа" + ТекЭлем.Уровень() + "|Название");
			
			Для Счетчик=1 По ТипыЦен.РазмерСписка() Цикл
				Если ТипыЦен.Пометка(Счетчик) = 1 Тогда
					ИсхТабл.ПрисоединитьСекцию("Группа" + ТекЭлем.Уровень() + "|Цена");
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;
		
	КонецЦикла;
	
	// подвал отчета
	ИсхТабл.ВывестиСекцию("Подвал|Название");
	Для Счетчик=1 По ТипыЦен.РазмерСписка() Цикл
		Если ТипыЦен.Пометка(Счетчик) = 1 Тогда
			ИсхТабл.ПрисоединитьСекцию("Подвал|Цена");
		КонецЕсли;
	КонецЦикла;
	
	// покажем таблицу
	ИсхТабл.ОбластьПечати(3);
	ИсхТабл.Опции(0,0,0,0,"ПечатьПрайса", "ПечатьПрайса");
	ИсхТабл.ТолькоПросмотр(1);
	ИсхТабл.Показать("Печать прайс-листа","");
	
	Если Закрывать = 1 Тогда
		СтрокаДействийФормы = "#Закрыть";
	КонецЕсли;
	
КонецПроцедуры // Выполнить()

//******************************************************************************
// Сдвиг(Направление)
//
// Параметры:
//  Нет
//
// Возвращаемое значение:
//  Нет
//        
// Вызывается из формул диалога:
//  по кнопкам со стрелочками "вверх" или "Вниз"
//
// Описание:
// Сдвигает текущую строку списка цен в заданном направлении. 
//
Процедура Сдвиг(Направление)
	ТекСтрока = ТипыЦен.ТекущаяСтрока();
	
	Если ТекСтрока > 0 Тогда
		ТипыЦен.СдвинутьЗначение(Направление, ТекСтрока);
	КонецЕсли;
	
КонецПроцедуры // Сдвиг()

//******************************************************************************
// УправлениеДиалогом()
//
// Параметры:
//  Нет
//
// Возвращаемое значение:
//  Нет
//
// Вызывается из формул диалога:
//  Флаг "ПоНаличию", переключатель "ВидРазделителя"
//
// Описание:
//  Управление видимостью и доступностью элементов форм
//
Процедура УправлениеДиалогом()
	
	ТекСтрока = Форма.Закладки.ТекущаяСтрока(); 
	Если ТекСтрока = 1 Тогда
		Если ПустоеЗначение(ВидРазделителя) = 1 Тогда
			ВидРазделителя =1;
		КонецЕсли;
		Форма.ИспользоватьСлой(Форма.Закладки.ПолучитьЗначение(ТекСтрока) + 
		      ?(ВидРазделителя > 1, ",Разделитель"+СокрЛП(ВидРазделителя - 1),""));
		Если ПоНаличию = 0 Тогда
			// все связанное с фирмами недоступно
			Форма.ВидРазделителя. Доступность(0);
			Форма.ВыбРазделитель1.Доступность(0);
			Форма.ВидРазделителя1.Доступность(0);
			Форма.кнХРазделитель1.Доступность(0);
			Форма.ВыбРазделитель2.Доступность(0);
			Форма.ВидРазделителя2.Доступность(0);
			Форма.кнХРазделитель2.Доступность(0);
			Форма.ВыбРазделитель3.Доступность(0);
			Форма.ВидРазделителя3.Доступность(0);
			Форма.кнХРазделитель3.Доступность(0);
		Иначе
			Форма.ВидРазделителя. Доступность(1);
			Форма.ВыбРазделитель1.Доступность(1);
			Форма.ВидРазделителя1.Доступность(1);
			Форма.кнХРазделитель1.Доступность(1);
			Форма.ВыбРазделитель2.Доступность(1);
			Форма.ВидРазделителя2.Доступность(1);
			Форма.кнХРазделитель2.Доступность(1);
			Форма.ВыбРазделитель3.Доступность(1);
			Форма.ВидРазделителя3.Доступность(1);
			Форма.кнХРазделитель3.Доступность(1);
		КонецЕсли;
	
	Иначе     
		Форма.ИспользоватьСлой(Форма.Закладки.ПолучитьЗначение(ТекСтрока));
	КонецЕсли;
	
КонецПроцедуры // УправлениеДиалогом()

//******************************************************************************
// Предопределенная процедура
//
Процедура ВводНового()
	
    УправлениеДиалогом();
	ПерерисовкаНазванийЗакладок();
	ТаблицаМФ.ВыводитьПиктограммы("ФлВкл");
	
КонецПроцедуры // ВводНового()

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии(ФлагЧтенияНастройки)
	Перем СписокПомеченных;
	
	Если глФлагРасшифровки = 1 Тогда 
		Обновить = глОбновить;
		
		// восстанавливаем настройки из списка
		ДатаОтчета             = глРасшифровка.Получить("ДатаОтчета");
		ПоНаличию              = глРасшифровка.Получить("ПоНаличию");
		ВидРазделителя         = глРасшифровка.Получить("ВидРазделителя");
		ВыбРазделитель1        = глРасшифровка.Получить("ВыбРазделитель1");
		ВыбРазделитель2        = глРасшифровка.Получить("ВыбРазделитель2");
		ВыбРазделитель3        = глРасшифровка.Получить("ВыбРазделитель3");
		ВыбТМЦ                 = глРасшифровка.Получить("ВыбТМЦ");
		ВариантВключенияВпрайс = глРасшифровка.Получить("ВариантВключенияВпрайс");

		
		ВремТипыЦен = ЗначениеИзСтрокиВнутр(глРасшифровка.Получить("ТипыЦен"));
		Для Счетчик = 1 По ВремТипыЦен.РазмерСписка() Цикл
			Поз = ТипыЦен.НайтиЗначение(ВремТипыЦен.ПолучитьЗначение(Счетчик));
			Если Поз > 0 Тогда
				ТипыЦен.Пометка(Поз, 1);
			КонецЕсли;
		КонецЦикла;
		
		Если ТипЗначенияСтр(глРасшифровка.Получить("ТаблицаМФ"))="ТаблицаЗначений" Тогда
			ТаблицаМФ.Загрузить(глРасшифровка.Получить("ТаблицаМФ"));
		КонецЕсли;
        
		Если Обновить <> 0 Тогда
			ИсхТабл = глТаблица;
		КонецЕсли;           
		
		Если Обновить <> 2 Тогда
			Сформировать();
			СтатусВозврата(0);
			Возврат;       
		КонецЕсли;
	Иначе
		Обновить = 0;
	                        
		Если ФлагЧтенияНастройки = 0 Тогда
			// добавим пометки всем элементам
			Для Счетчик = 1 По ТипыЦен.РазмерСписка() Цикл
				ТипыЦен.Пометка(Счетчик, 1);
			КонецЦикла;
		КонецЕсли;

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

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриВыбореЗакладки(НомерЗакладки,ЗначениеЗакладки)
	
	УправлениеДиалогом();
	ПерерисовкаНазванийЗакладок();
	
КонецПроцедуры // ПриВыбореЗнакладки()

//******************************************************************************
// Предопределенная процедура
//
Процедура ОбработкаПодбора(Значение)  
	
	Если (СписокЭлементовМФ.НайтиЗначение(Значение)=0) Тогда
		Представление=""+Значение;
		Если ТипЗначенияСтр(Значение)="Справочник" Тогда
			Если СокрЛП(Метаданные.Справочник(Значение.Вид()).Владелец) <> "Метаданные" Тогда
				Представление=Представление+" ("+Значение.Владелец+")";
			КонецЕсли;
		КонецЕсли;	
		СписокЭлементовМФ.ДобавитьЗначение(Значение,Представление);
		ТаблицаМФ.ФлВкл=2;
	КонецЕсли;
	
КонецПроцедуры  // ОбработкаПодбора

//******************************************************************************

// добавим закладки
Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение("Общий,Основной,Кнопки","Основная");
Форма.Закладки.ДобавитьЗначение("Общий,МФ,Кнопки","Множественный фильтр");
Форма.Закладки.ТекущаяСтрока(1);

// заполним список типов цен
СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен");
СпрТипыЦен.ВыбратьЭлементы();
Пока СпрТипыЦен.ПолучитьЭлемент() = 1 Цикл
	ТипыЦен.ДобавитьЗначение(СпрТипыЦен.ТекущийЭлемент());
КонецЦикла;
		
// инициализация переменных множественного фильтра
ТипМФ.УдалитьВсе();
ТипМФ.ДобавитьЗначение("одно из");
ТипМФ.ДобавитьЗначение("все кроме");

ТаблицаМФ.УдалитьСтроки();
Пока ТаблицаМФ.КоличествоКолонок()>0 Цикл
    ТаблицаМФ.УдалитьКолонку(1);
КонецЦикла;  

ТаблицаМФ.НоваяКолонка("Тип");
ТаблицаМФ.НоваяКолонка("Вид");
ТаблицаМФ.НоваяКолонка("ИмяПеременной");
ТаблицаМФ.НоваяКолонка("СписокЭлементов"); // список элементов, по которым производим фильтрацию
ТаблицаМФ.НоваяКолонка("ТипМФ"); // текущая строка списка ТипМФ
ТаблицаМФ.НоваяКолонка("ФлВкл","Число",1,,"Вкл",5,,); // фильтр включен ("1" или "0")
ТаблицаМФ.НоваяКолонка("Представление",,,,"Вид фильтра:");
ТаблицаМФ.ВыводитьПиктограммы("ФлВкл");
                                                                                
//                  тип          вид           переменная  название
глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","Номенклатура", "Номенклатура",  "По номенклатуре");
глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","ЗначенияСвойств", "Номенклатура",  "По свойствам номенклатуры");

ТекСтрокаВТаблице="";
Показать
3. sas37 05.03.12 06:50 Сейчас в теме
Штатными средствами работы с картинками конечно нет, но помнится мы в своё время фотки к номенклатуре доделывали... т.е. впринципе - возможно.
6. Tinvul 05.03.12 11:27 Сейчас в теме
А можете подсказать в каком направлении копать, чтобы сделать выгрузку картинок в прайс? название файла и изображение интересует...
Прайс через модуль формируеться.. мне бы пример кода как сделать запрос и как включить картинку в таблицу
8. vcv 89 05.03.12 13:41 Сейчас в теме
А поиском пользоваться умеем? Или не только 1С, но и интернет "в глаза только первый раз увидел" ?
Тема-то давно избитая и решенная в разных видах.
Например, в гугле по запросу "1С 7.7 печать прайса с картинками" первая же ссылка "Обработка для ТиС и Комплексной 7.7. Печать прайса с картинками" http://infostart.ru/public/69756/
9. Иваныч 23 25.03.16 12:38 Сейчас в теме
все работает, отдельно папка в корне базы создается для фоток и минимум переделок в справочнике Номенклатура
10. CheBurator 2696 26.03.16 05:54 Сейчас в теме
вот еще мелкая моя поделка (я этих привязок картинок ктоварам и манипуляций ими написал столько что тошнит уже)
http://infostart.ru/public/15239/

Вплоть до подбора товаров в документы по каталогу картинок (вместо списка номенклатуры) - горят картинки, двигаемся по ним, мышкой или энтером, выбираем
11. Иваныч 23 01.04.16 19:25 Сейчас в теме
Я тебе плюс поставил :)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот