Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 09:04

Отправка сканов из папки привязанных к кодам серий номенклатуры из Реализауия товаров и услуг

Автор Гайдар, 06 мая 2016, 16:02

0 Пользователей и 1 гость просматривают эту тему.

Kironten

Будем считать, что я сегодня добрый.
И вообще у меня пятница раньше началась :P
Процедура ОсновныеДействияФормыПечатьPDF(Кнопка)

    МассивФайлов = Новый Массив;
    Путь = "D:\Сканы TIFF\";
    ТипФайла = ".Tif";

Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(ПолучитьПрофиль());
Исключение
Сообщить(ОписаниеОшибки()+ " " + "Возможно нет связи, проверьте интернет и повторите для данного склада");
Возврат;
КонецПопытки;

Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Отправитель = "zayavkitp@mail.ru";
Сообщение.ИмяОтправителя = "Справки";

ПочтовыеАдреса = Сообщение.Получатели;
ПочтовыйАдрес = ПочтовыеАдреса.Добавить();
ПочтовыйАдрес.Адрес     = "abasov.gaydar@mail.ru";

Сообщение.Тема ="Справки";

ИнтернетТекстПочтовогоСообщения = Сообщение.Тексты.Добавить();
ИнтернетТекстПочтовогоСообщения.Текст = "Скачивайте файлы справок и скопируйте в необходиму папку";
ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;

Для каждого Стр из Товары цикл

Если ЭтотОбъект.Контрагент.Код = "Ц00002520" Тогда

ВыбФайл = Новый Файл(Путь+стр.СерияНоменклатуры.Код+ТипФайла);

Если ВыбФайл.Существует() Тогда

Сообщить(ВыбФайл.Имя);

Сообщение.Вложения.Добавить(ВыбФайл.ПолноеИмя, ВыбФайл.Имя);

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

Если Сообщение.Вложения.Количество() > 0 Тогда
Попытка
// Пытаемся послать письмо
Почта.Послать(Сообщение);
Исключение
Сообщить(ОписаниеОшибки()+ " " + "Возможно нет связи, проверьте интернет и повторите для данного склада");
Возврат;
КонецПопытки;
// отключение
Сообщить("Справки отправлены по почте");
Почта.Отключиться();
Иначе
Сообщить("Вложений нет, отправлять пустое письмо я не буду, и вообще, отстань от меня человек!");
Почта.Отключиться();
КонецЕсли;

КонецПроцедуры

Rasty

Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Гайдар

Цитата: Rasty от 06 мая 2016, 17:50
есть такая штука найтифайлы() посмотрите в сп
но не пойму как его использовать в цикле
Добавлено: 12 мая 2016, 14:24


МассивФайлов = Новый Массив;
     Путь = "D:\Сканы TIFF\";
     ТипФайла = ".Tif";
     ТабДок =  Новый ТабличныйДокумент;     
     Для каждого стр из Товары цикл
Если ЭтотОбъект.Контрагент.Код = "Ц00002520" Тогда
ВыбФайл = Новый Файл(Путь+стр.СерияНоменклатуры.Код+ТипФайла);
Если ВыбФайл.Существует() Тогда
   //ИмяАрхива=стр.СерияНоменклатуры.Код+ ".zip";
   Архив = Новый ЗаписьZipФайла("D:\Сканы TIFF\Архив.zip");
   Архив.Добавить(ВыбФайл.ПолноеИмя);
   Архив.Записать();
      
   КонецЕсли;
КонецЕсли;

КонецЦикла;

Как добавить тут все файлы в архив по цмклу или создать для каждого файла отдельный архив?
Добавлено: 12 мая 2016, 14:36


Процедура ОсновныеДействияФормыОтпрСканов(Кнопка)
   МассивФайлов = Новый Массив;
     Путь = "D:\Сканы TIFF\";
     ТипФайла = ".Tif";
     ТабДок =  Новый ТабличныйДокумент;     
     Для каждого стр из Товары цикл
Если ЭтотОбъект.Контрагент.Код = "Ц00002520" Тогда
ВыбФайл = Новый Файл(Путь+стр.СерияНоменклатуры.Код+ТипФайла);
Если ВыбФайл.Существует() Тогда
   //ИмяАрхива=стр.СерияНоменклатуры.Код+ ".zip";
   Архив = Новый ЗаписьZipФайла(Путь+ стр.СерияНоменклатуры.Код+ ".zip");

   //Архив = Новый ЗаписьZipФайла("D:\Сканы TIFF\Архив.zip");
   Архив.Добавить(ВыбФайл.ПолноеИмя);
   Архив.Записать();
      

Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(ПолучитьПрофиль());
Исключение
Сообщить(ОписаниеОшибки()+ " " + "Возможно нет связи, проверьте интернет и повторите для данного склада");
Возврат;
КонецПопытки;

Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Вложения.Добавить(Архив);
Сообщение.Отправитель = "zayavkitp@mail.ru";
Сообщение.ИмяОтправителя = "Склад Центр";
ПочтовыеАдреса = Сообщение.Получатели;

ПочтовыйАдрес = ПочтовыеАдреса.Добавить();
ПочтовыйАдрес.Адрес = "abasov.gaydar@mail.ru";


Сообщение.Тема ="Справка для"+ " "+стр.Номенклатура+" "+"с серией"+" "+стр.СерияНоменклатуры+" "+стр.СерияНоменклатуры.Код;

ИнтернетТекстПочтовогоСообщения = Сообщение.Тексты.Добавить();
ИнтернетТекстПочтовогоСообщения.Текст = "Скачивайте файлы справки и скопируйте в необходиму папку";
ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;

Попытка
// Пытаемся послать письмо
Почта.Послать(Сообщение);
Исключение
Сообщить(ОписаниеОшибки()+ " " + "Возможно нет связи, проверьте интернет и повторите для данного склада");
Возврат;
КонецПопытки;
// отключение
Сообщить("Справка для"+ " "+стр.Номенклатура+" "+"с серией"+" "+стр.СерияНоменклатуры+" "+стр.СерияНоменклатуры.Код+" " +"отправлена!" );
Почта.Отключиться();

КонецЕсли;
КонецЕсли;

КонецЦикла;


КонецПроцедуры


так архивируется каждый скан, а как отправлять каждый архив...? Сообщение.Вложения.Добавить(???);

Rasty

Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск