7.7 Выбор с какой почты отправить

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем amoRNizam, 14 окт 2015.

  1. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Помогите пожалуйста. У меня такая ситуация: при отправки печатной формы на эл.почту для пользователя нет возможности выбирать с какого адреса будет отправлен файл, адрес отправителя выбирается автоматически согласно тому, какая фирма выбрана в строке "Фирма". Тоесть по коду фирмы:
    ИсхТабл = СоздатьОбъект("Таблица");
    Если Число(Фирма.Код)=00006 тогда
    ИсхТабл.ИсходнаяТаблица("Таблица");
    fromEmail=Константа.ЛогинПочтаДвери;
    fromPassword=Константа.ПарольПочтаДвери;
    ИначеЕсли Число(Фирма.Код)=00002 тогда
    ИсхТабл.ИсходнаяТаблица("Таблица1");
    fromEmail=Константа.ЛогинПочтаАсМен;
    fromPassword=Константа.ПарольПочтаАсМен;
    ИначеЕсли Число(Фирма.Код)=00007 тогда
    ИсхТабл.ИсходнаяТаблица("Таблица2");
    fromEmail=Константа.ЛогинПочтаАсМен;
    fromPassword=Константа.ПарольПочтаАсМен;
    Иначе
    ИсхТабл.ИсходнаяТаблица("Таблица3");
    fromEmail=Константа.ЛогинПочтаАсМен;
    fromPassword=Константа.ПарольПочтаАсМен;
    КонецЕсли;

    Можно ли сделать так, что при нажатии кнопки "отправить" предоставлялся бы выбор с какого адреса эл.почты будет отправлено письмо. Подскажите пожалуйста как это реализовать.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Загоняй константы логинов ПЯ в Список значений и предоставляй выбор на форме при нажатии кнопки.
  3. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Пожалуйста, подробнее, как прописать предоставление выбора на форме. Извините, я плохо разбираюсь в 1с, на работе поставили задачу, а я ломаю голову как её выполнить. Недавно начал осваивать конфигурирование на 1с.
  4. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    получаете запросом всю почту какая вам нужна, загоняете в ТЗ(по мне красивее смотреться будет ;)), отображаете пользователю, При двойном клике(или по кнопке ОК) получаете текущую строку, и пихаете данное значение в поле адреса, после чего отправляете(я бы сделал так :))

    В код не вчитывался - почта в константах хранится, не в справочнике?
  5. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Да, в константах. А как это в коде будет выглядеть, всё, про что вы говорите? Напишите пожалуйста. Я в основном всё по примеру делаю, иначе мне очень трудно разобраться в этом, я пока мало разбираюсь в конфигурировании.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Спис=СоздатьОбъект("СписокЗначений");
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаДвери);
    ну и т.д.
    ПЯ="";
    Если Спис.ВыбратьЗначение(ПЯ,,,,1)=0 Тогда
    возврат;
    КонецЕсли;
    ПЯ содержит выбранный логин.
    amoRNizam нравится это.
  7. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Извините, если я совсем глуп)
    я сделал так:
    ///////////ДЛЯ ПОЧТЫ///////////////////////////
    Процедура ДляПОЧТЫ(СразуНаПринтер = 0,КолЭкз = 1)

    Перем ТаблЧасть, СуммаИтог, НомСтроки, Итог, Количество, Поставщик, Покупатель;
    Перем ТекстВал, НачПовт, КонПовт, ТабДок;
    Перем РеквШапки;
    //*******************************************
    Спис=СоздатьОбъект("СписокЗначений");
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаДвери);
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаАсМен);
    ПЯ="";
    Если Спис.ВыбратьЗначение(ПЯ,,,,1)=0 Тогда
    возврат;
    КонецЕсли;
    ////////////////////////////////////////
    ИсхТабл = СоздатьОбъект("Таблица");
    Если Число(Фирма.Код)=00006 тогда
    ИсхТабл.ИсходнаяТаблица("Таблица");
    fromEmail=Константа.ЛогинПочтаДвери;
    fromPassword=Константа.ПарольПочтаДвери;
    ИначеЕсли Число(Фирма.Код)=00002 тогда
    ИсхТабл.ИсходнаяТаблица("Таблица1");
    fromEmail=Константа.ЛогинПочтаАсМен;
    fromPassword=Константа.ПарольПочтаАсМен;
    ИначеЕсли Число(Фирма.Код)=00007 тогда
    ИсхТабл.ИсходнаяТаблица("Таблица2");
    fromEmail=Константа.ЛогинПочтаАсМен;
    fromPassword=Константа.ПарольПочтаАсМен;
    Иначе
    ИсхТабл.ИсходнаяТаблица("Таблица3");
    fromEmail=Константа.ЛогинПочтаАсМен;
    fromPassword=Константа.ПарольПочтаАсМен;
    КонецЕсли;

    Теперь при нажатии кнопки "Отправить" предоставляется выбор почтового ящика (как и надо было), но письма приходят всё равно с той почты, в зависимости от того, какой код фирмы.
    Нужно изменить поле fromEmail=(и тут нужно прописать ПЯ) ?? или как нужно?
  8. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Всё, до меня дошло, работает!!!
    Сделал так
    ///////////ДЛЯ ПОЧТЫ///////////////////////////
    Процедура ДляПОЧТЫ(СразуНаПринтер = 0,КолЭкз = 1)

    Перем ТаблЧасть, СуммаИтог, НомСтроки, Итог, Количество, Поставщик, Покупатель;
    Перем ТекстВал, НачПовт, КонПовт, ТабДок;
    Перем РеквШапки;
    //*******************************************
    ИсхТабл=СоздатьОбъект("Таблица");
    Спис=СоздатьОбъект("СписокЗначений");
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаДвери);
    fromEmail=Константа.ЛогинПочтаДвери;
    fromPassword=Константа.ПарольПочтаДвери;
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаАсМен);
    fromEmail=Константа.ЛогинПочтаАсМен;
    fromPassword=Константа.ПарольПочтаАсМен;
    ПЯ="";
    Если Спис.ВыбратьЗначение(ПЯ,,,,1)=0 Тогда
    возврат;
    КонецЕсли;
    Спасибо вам огромное!!!!!!!!!
    --- Объединение сообщений, 14 окт 2015 ---
    Поспешил я радоваться, при любом выборе отправляется только с ЛогинПочтаДвери, не работатет.
    Что я не так сделал?
    Последнее редактирование: 14 окт 2015
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    вы при выборе получили только ПЯ... Теперь получайте пароль.. используя конструкцию Если...
  10. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    не пойму как ((
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Если ПЯ=Константа.ЛогинПочтаАсМен Тогда
    пароль=Константа.ПарольПочтаАсМен;
    ИначеЕсли ТутЕщеУсловеи
    ну и т.д...
    КонецЕсли;
  12. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Что у меня не так?
    Процедура ДляПОЧТЫ(СразуНаПринтер = 0,КолЭкз = 1)

    Перем ТаблЧасть, СуммаИтог, НомСтроки, Итог, Количество, Поставщик, Покупатель;
    Перем ТекстВал, НачПовт, КонПовт, ТабДок;
    Перем РеквШапки;
    //*******************************************
    ИсхТабл=СоздатьОбъект("Таблица");
    Спис=СоздатьОбъект("СписокЗначений");
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаДвери);
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаАсМен);
    ПЯ="";
    Если Спис.ВыбратьЗначение(ПЯ,,,,1)=0 Тогда
    возврат;
    КонецЕсли;
    Если ПЯ=Константа.ЛогмнПочтаАсМен тогда
    пароль=Константа.ПарольПочтаАсМен;
    ИначеЕсли ПЯ=ЛогинПочтаДвери тогда
    пароль=Константа.ПарольПочтаДвери;
    КонецЕсли;
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Вроде бы все так. Что не работает?
  14. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Текст ошибки
    ИначеЕсли ПЯ=ЛогинПочтаДвери <<?>>тогда
    {Документ.ЗаказПоставщику.Форма.Модуль(1533)}: Переменная не определена (ЛогинПочтаДвери)
    sendemail=""""+КаталогИБ()+"sendEmail"" -f "+fromEmail<<?>>+" -o message-charset=windows-1251 message-content-type=html -u "+"File "+файл+".pdf "+" -m "+"Здравствуйте! <br /> ООО ""Ассоциация Менеджеров"" <br /> Россия, 394033,г.Воронеж, ул. Витрука, 13А <br /> Тел.: 8 (473) 261-2-111 <br /> Если не удается открыть файл, перейдите по ссылке... www.am-vrn.ru/kontakti/shema.html <br />
    {Документ.ЗаказПоставщику.Форма.Модуль(1691)}: Переменная не определена (fromEmail)
  15. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Сделал вот так:
    ИсхТабл=СоздатьОбъект("Таблица");
    Спис=СоздатьОбъект("СписокЗначений");
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаДвери);
    Спис.ДобавитьЗначение(Константа.ЛогинПочтаАсМен);
    fromEmail="";
    Если Спис.ВыбратьЗначение(fromEmail,,,,1)=0 Тогда
    возврат;
    КонецЕсли;
    Если fromEmail=Константа.ЛогинПочтаАсМен тогда
    fromPassword=Константа.ПарольПочтаАсМен;
    ИначеЕсли fromEmail=Константа.ЛогинПочтаДвери тогда
    fromPassword=Константа.ПарольПочтаДвери;
    КонецЕсли;
    РАБОТАЕТ!!!
    Спасибо вам еще раз, без вас я очень долго бы решал эту задачу!!!
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Именно так я и предлагал. Только лень было писать код полностью.

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