8.х Отправка выгруженных файлов на ящик сотрудника

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем badly, 17 июн 2010.

  1. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток!!
    Снова я к вам, но уже с другим вопросом...
    В своем отчете, я добился что при нажатии на кнопку идет формирование расчеток и выгрузка их в excel по каждому сотруднику. Название файла состоит из ФИО сотрудника, например Иванов Иван Иванович.xls и все это находится в одной папке...
    Теперь стоит задача все выгруженное отправить адресатам, т.е. тем сотрудникам, для которых выгрузили расчетки... Делаю отдельной процедурой...
    Т.е. процедура должна подхватить нужный файл расчетки и создать сообщение для отправки

    Сам код, представляет уже работающий код отправки сообщения:
    Код:
    Процедура ОтправитьПочтуНажатие(Элемент)
    
    
    // Вставить содержимое обработчика.
    Сообщение = Новый ПочтовоеСообщение;
    Сообщение.Текст = "текст сообщения";
    Сообщение.Отправитель = "petya@pupkin.com";
    Сообщение.Тема ="Тема сообщения";
    Сообщение.Получатели.Добавить("malykhinal@khmb.ru");
    Сообщение.Вложения.Добавить(Новый ДвоичныеДанные("C:\Сотрудник.xls"),"file.xls");
    
    Почта = Новый Почта;
    
    // подключаемся без параметров, к клиенту установленному по умолчанию в системе
    Почта.Подключиться(,);
    
    Попытка
    // Пытаемся послать письмо
    Почта.Послать(Сообщение,Истина);
    Исключение
    Сообщить(ОписаниеОшибки()); 
    Возврат;
    КонецПопытки; 
    
    // отключение
    Почта.Отключиться();
    
    КонецПроцедуры
    
    
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    А вопрос то где? что не получается?
  3. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Как я понимаю должен быть задан цикл, который будет отрабатывать определенный запрос, в котором должна хранится информация адреса электронной почты сотрудника. Ко всему прочему не понимаю, как должно подхватывать верный файл, наименование которого соответствует ФИО выборанного сотрудника. Вопрос в том как это организовать... я немного далек от 1С, попросили сделать (( вот сижу голову ломаю..
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Я не видел Камина 3. В нем реализован механизм "Свойства объектов"? (Есть регистр сведений "ЗначенияСвойствОбъектов")?

    И еще вопрос - то что вы начали писать (с учетом предыдущей темы) - вы пишите как внешнюю обработку, или конфигурацию дорабатываете?
  5. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    на второй отвечу, что делаю доработку конфигурации, т.е. добавление в уже существующий отчет своих процедур и компонентов формы...

    по первому затрудняюсь ответить, т.к. еще слабо понимаю эту область!
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Вообще откройте там сотрудника, точнее не сотрудника а физическое лицо, и посмотрите. Возможно там в контактной информации (там где задается допустим домашний адрес) есть поле e-mail. (не в конфигураторе, в самой программе смотрите).

    Разверните дерево конфигурации (Регистры сведений), посмотрите по наименованию.
  7. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Да такое поле есть, именно по нему я и хочу работать в отчете... :unsure:

    Да такое оказывается имеется... и там много что есть!! Где то в отчете видел знакомые фразы
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну так работайте.. :) На форме там скорее всего табличное поле, фактически данные должны храниться в регистре сведений, название сказать понятное дело не могу. Открывайте свойство ТабличногоПоля (на форме которое) и смотрите "ТипЗначения", там значится эти данные и хранятся. Ну а из регистра вытаскиваете перед отправкой запросом.

    И то что в самой конфигурации - ну уж если начали делать, делайте. Лучше наверно было бы сохранить как внешний отчет (обработку) и писать так. Обновиться теперь автоматически не сможете.
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Для простоты формируйте имя файла как ФИО сотрудника без пробелов (ну можно и с пробелами разницы нет я думаю).
  10. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Легко сказать работайте.. Сложно когда в этом дуб дубом )))
  11. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток, дамы и господа!
    Для решения своего вопроса пошел другим путем, поскольку мне известны наименования файлов, которые я хочу отправить, решил сделать так:
    Код:
    	
    Запрос = Новый Запрос();
    
    МассивНайденных = НайтиФайлы("C:\Расчетки", "*.xls"); 
    Для Каждого Файл из МассивНайденных Цикл 
    Сообщить(Файл.ИмяБезРасширения); 
    КонецЦикла;	 
    
    Запрос.Текст =   "ВЫБРАТЬ
    |	СотрудникиКонтактнаяИнформация.Вид,
    |	СотрудникиКонтактнаяИнформация.Вид.Наименование,
    |	СотрудникиКонтактнаяИнформация.Вид.Код,
    |	КадровыеСведения.Сотрудник
    |ИЗ
    |	РегистрСведений.КадровыеСведения КАК КадровыеСведения
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники.КонтактнаяИнформация КАК СотрудникиКонтактнаяИнформация
    |		ПО (СотрудникиКонтактнаяИнформация.Ссылка = КадровыеСведения.Сотрудник.Ссылка)
    |ГДЕ
    |	СотрудникиКонтактнаяИнформация.Вид.Код = 7
    |	И КадровыеСведения.Сотрудник = Файл.ИмяБезРасширения";
    
    
    
    Что хочу этим запросом сделать?! Хочу сделать выборку сотрудников, где наименование файла без раширения соответствует наименованию самого сотрудника... Помогите разобраться с запросом... Что не так делаю?! Сама проблема стоит в этой строчке
    Код:
     |	И КадровыеСведения.Сотрудник = Файл.ИмяБезРасширения";
    
    Подскажите плиз!
  12. TopicStarter Overlay
    badly
    Offline

    badly

    Регистрация:
    15 июн 2010
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Всем спасибо вопрос снимается... ;)

Поделиться этой страницей