Каталог решений - Доработка в расширении Яндекс маркета (скачать все этикетки)

Доработка в расширении Яндекс маркета (скачать все этикетки)

Доработка в расширении Яндекс маркета (скачать все этикетки)

В наличии

Доработка кнопки «Скачать все этикетки» — выбрали каталог и сохранили все за один раз, а не 100500 раз нажимаем кнопку сохранить.

Категория:

Описание

По умолчанию в расширении яндекс маркета кнопка скачать все делает то же самое, что и отдельная ссылка на скачивание ярлыка(этикетки на коробку)

Ниже приведен типовой код кнопки:

  &НаКлиенте
  Процедура СкачатьВсеЯрлыки(Команда)
  		МассивЗаказов = ПолучитьМассивЗаказов();	
  		Для каждого СтрMarketId Из МассивЗаказов Цикл
  			Адрес = СкачатьВсеЯрлыкиНаСервере(СтрMarketId);
  			Если ЗначениеЗаполнено(Адрес) Тогда		
  				ПолучитьФайл(Адрес,"Ярлыки_"+Строка(Формат(СтрMarketId, "ЧГ=0"))+".pdf");
  			 КонецЕсли;
  		КонецЦикла;
  КонецПроцедуры
  

 

Добавим реквизит ПолеВыбора

 

В событие начало выбора, дадим пользователю выбрать каталог
 

  	СтандартнаяОбработка=Ложь;
  	Режим = РежимДиалогаВыбораФайла.ВыборКаталога; 
  	ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); 
  	ДиалогОткрытия.Каталог = ""; 
  	ДиалогОткрытия.МножественныйВыбор = Ложь; 
  	ДиалогОткрытия.Заголовок = "Выберите каталог"; 
  	Если ДиалогОткрытия.Выбрать() Тогда 
  		ПолеВыбора = ДиалогОткрытия.Каталог; 
  	КонецЕсли;
  

И доработаем типовую для расширения процедуру печати этикеток(ярлыков)
 

  &НаКлиенте
  Процедура СкачатьВсеЯрлыки(Команда)
  		МассивАдресов=Новый Массив;
  		МассивЗаказов = ПолучитьМассивЗаказов();
  		ОписаниеОповещения = Новый ОписаниеОповещения("ВыгрузитьЗавершение", ЭтаФорма);	
  		Для каждого СтрMarketId Из МассивЗаказов Цикл
  			Адрес = СкачатьВсеЯрлыкиНаСервере(СтрMarketId);
  			Если ЗначениеЗаполнено(Адрес) Тогда			
  				ОписаниеПередаваемогоФайла = Новый ОписаниеПередаваемогоФайла("Ярлыки_"+Строка(Формат(СтрMarketId, "ЧГ=0"))+".pdf", Адрес);
  				МассивАдресов.Добавить(ОписаниеПередаваемогоФайла);	
  			КонецЕсли;
  		КонецЦикла;
  		НачатьПолучениеФайлов(ОписаниеОповещения, МассивАдресов, ПолеВыбора,Ложь);
  КонецПроцедуры
  
  
  //Не забываем добавить процедуру в которое у нас уходит оповещение
  &НаКлиенте
  Процедура ВыгрузитьЗавершение(ПолученныеФайлы, ДополнительныеПараметры) Экспорт
      Если ПолученныеФайлы = Неопределено Тогда
          Возврат;
      КонецЕсли;
      Для Каждого Файл из ПолученныеФайлы Цикл
  	    СохраняемыйФайл = ПолучитьИзВременногоХранилища(Файл.Хранение);
          СохраняемыйФайл.Записать(Файл.Имя);	
      КонецЦикла;		
  КонецПроцедуры
  

Готово! Один раз выбрали каталог и сохранили.

has been added to your cart:
Оформление заказа