Имя: Пароль:
1C
1С v8
Можно ли перетащить файл из MS Outloolk в документ 1С?
0 tciban
 
27.09.16
13:24
Добрый день, уважаемые коллеги! Захотелось (как обычно) странного! Все вы знаете, что можно в БСП прикрепить файл к документу 1С. Вот и подумалось - как бы сделать, можно ли сделать такое, что бы пришедший по электронке текст договора, например, взять и перетащить в открытый документ 1С, а он бы взял и прекрипился. А то ведь при обычном способе сколько действий надо! Сохранить файл, потом открыть его из меню добавления файйлов в 1С... Никто не заморачивался таким сервисом? Нет ли идей?
2 Лефмихалыч
 
27.09.16
13:33
(0) получай почту сразу в 1С, без этик всех аутлуков. Можно аутлуку просто сказать, чтобы не удалял письма с сервера, тогда их сможет и аутлук получать, и 1С.
3 Трипиэль
 
27.09.16
13:36
(0) http://forum.infostart.ru/forum26/topic38850/
почитай, может, полезно будет
4 tciban
 
27.09.16
13:59
(2) Это слишком просто. Просто в реализации, но не так хорошо в использовании. Тут ведь как - пришло письмо, гляну, прочитал - оно! Перетащил в документ. А не оно - не перетащил...
5 Лефмихалыч
 
27.09.16
14:03
(4) отправляй на специальный служебный адрес, с которого будет получать 1С
6 tciban
 
27.09.16
14:16
(5) Эту идею мне тоже подкинул только что коллега. Может быть даже есть смысл развить эту идею до написания некоей надстройки к ms outlook-у. Что характерно - файл с рабочего стола можно тащить, файл присоединенный к сообщению ms outlook-а - не хочет!
7 Necessitudo
 
27.09.16
14:16
Могу подсказать как в 1С обрабатывать копипасту Винды.
8 Лефмихалыч
 
27.09.16
14:20
еще можно файлики вытаскивать из почты в какую-нибудь папку, из которой 1С будет регулярно забирать.
9 Лефмихалыч
 
27.09.16
14:20
а еще у аутлука почти наверняка есть ActiveX интерфейс какой-нибудь
10 tciban
 
27.09.16
14:21
(7) Подскажи! Это всегда интересно и пригодится!
11 Necessitudo
 
27.09.16
14:26
(10)

Функция ПолучитьТаблицуИзБуфераОбмена() Экспорт
    
    ТЗДанных = Новый ТаблицаЗначений;
    Попытка
        HTMLFile = Новый COMОбъект("HTMLFile");
        ParentWindow = HTMLFile.ParentWindow;
        ClipboardData = ParentWindow.ClipboardData;
        СтрокаБуфераОбмена = ClipboardData.GetData("text");
    Исключение
        ВызватьИсключение ОписаниеОшибки();        
    КонецПопытки;    
    КоличествоСтрок = СтрЧислоСтрок(СтрокаБуфераОбмена);
    Если НЕ КоличествоСтрок Тогда
        ВызватьИсключение "Буфер обмена пуст!";
    КонецЕсли;
    Шапка = СтрПолучитьСтроку(СтрокаБуфераОбмена, 1);
    Шапка = СтрЗаменить(Шапка, Символ(9), Символы.ПС);
    КоличествоКолонок = СтрЧислоСтрок(Шапка);
    Для н = 1 По КоличествоКолонок Цикл
        ТЗДанных.Колонки.Добавить();        
    КонецЦикла;
    Для н = 1 По КоличествоСтрок Цикл
        Строка = СтрЗаменить(СтрПолучитьСтроку(СтрокаБуфераОбмена, н), Символ(9), Символы.ПС);
        Если СтрЧислоСтрок(Строка) > КоличествоКолонок Тогда
            Для к = 1 По СтрЧислоСтрок(Строка)- КоличествоКолонок Цикл
                ТЗДанных.Колонки.Добавить();                    
            КонецЦикла;
            КоличествоКолонок = СтрЧислоСтрок(Строка);
        КонецЕсли;
        СтрТЗ = ТЗДанных.Добавить();
        Для к = 0 По КоличествоКолонок - 1 Цикл
            СтрТЗ[к] = СокрЛП(СтрПолучитьСтроку(Строка, к+1));
        КонецЦикла;
        //ОбработкаПрерыванияПользователя();
    КонецЦикла;
    Если Не ТЗДанных.Количество() Тогда
        ВызватьИсключение "Сформированная таблица пуста!";
    КонецЕсли;
    
    Возврат ТЗДанных;
    
КонецФункции
12 tciban
 
27.09.16
14:26
Спасибо!
13 Necessitudo
 
27.09.16
14:27
На форме есть кнопка, у которой установлено сочетание клавиш Ctrl+V. У нас пользователь копипастит кусок таблицы в Экселе, а потом вставляет в документ в 1С.
14 Necessitudo
 
27.09.16
14:28
Спорю что так можно затянуть и письмо из Аутлука)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший