Отправка почты с использованием основного почтового клиента ОС

Публикация № 91206

Разработка - Универсальные функции

29
В публикации описан фрагмент кода, позволяющий отправлять печатные формы с помощью почтового клиента операционной системы (напр. Outlook, Bat и т.д.)

В Управлении торговлей 10.3 в печатных формах документов есть кнопка "отправить по электронной почте", правда ей можно воспользоваться,  если в настройках учета установлена галка "использовать встроенный почтовый клиент". Т.к. встроенный почтовый клиент часто не используют, этот удобный механизм не задействуется. Поэтому для отправки печатной формы накладной необходимо ее сначала сохранить на диск, затем вложить в письмо внешнего почтового клиента.

 Ниже описаны изменения в конфигурации, которые необходимо внести, для автоматического создания письма во внешнем почтовом клиенте по  кнопке "отправить по электронной почте ". Тестировалось для 8.1 УТ 10.3.

  1. Для начала в конфигураторе, если не включена возможность изменений, ее необходимо включить (конфигурация - поддержка- настройка поддержки)

  2. Добавить общий модуль "_управлениеПочтой" (см. рис2), в него скопировать процедуры: "ОтправитьПечатнуюФормуВнешнимТранспортом" и "КорректировкаНаименования" (ниже приведены см. п. 4).

  3. В общем модуле "УправлениеОтчетами" отредактировать процедуру "ОтправитьДокументПоЭлектроннойПочте", закомментировав сообщение и добавив вызов нашей процедуры "ОтправитьПечатнуюФормуВнешнимТранспортом". Редактируемый фрагмент этой процедуры:

	 Если НЕ Константы.ИспользованиеВстроенногоПочтовогоКлиента.Получить() Тогда
    //ОбщегоНазначения.СообщитьОбОшибке("Отправлять документы по электронной почте можно только из встроенного почтового клиента.
    // |В настоящее время в настройках параметров учета установлено использование основного почтового клиента операционной системы.");
    //Предупреждение("Операция не выполнена");
    _управлениеПочтой.ОтправитьПечатнуюФормуВнешнимТранспортом (Документ, УправлениеПользователями.ПолучитьЗначениеПоУмолчанию     (ПараметрыСеанса.ТекущийПользователь,"ОсновнойКаталогФайлов"),ИмяФайлаВложения); // изменения программиста начало
    Возврат;
КонецЕсли;

     4. Текст модуля  _управлениеПочтой:
 
Процедура ОтправитьПечатнуюФормуВнешнимТранспортом (ПолеТабличногоДокумента, КаталогФормирования="",имяФайлаВложения) Экспорт

    Расширение="xls";

    Файл = Новый Файл(КаталогФормирования);
    Если Файл.Существует() Тогда
        ИмяФайла = КаталогФормирования;
    Иначе
        ИмяФайла = КаталогВременныхФайлов();
    КонецЕсли;

    Если Не ПустаяСтрока(ИмяФайла) Тогда
        Если Не Прав(ИмяФайла, 1) = "\" Тогда
            ИмяФайла = ИмяФайла + "\";
        КонецЕсли;
    КонецЕсли;

    ОтносительноеИмя =КорректировкаНаименования(имяФайлаВложения, ложь);
    ИмяФайлаБезРасширения = ИмяФайла + ОтносительноеИмя;

    ИмяФайла = ИмяФайлаБезРасширения + ".xls";
    ПолеТабличногоДокумента.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS97);

    Почта=Новый Почта;
    Почта.Подключиться();
    Сообщ=Новый ПочтовоеСообщение;
    Сообщ.Тема=имяФайлаВложения;
    Сообщ.Текст="";
    ВыбФайл=Новый Файл(ИмяФайла);
    Если ВыбФайл.Существует() Тогда
        Данные=Новый ДвоичныеДанные(ИмяФайла);
        Сообщ.Вложения.Добавить(Данные,ВыбФайл.Имя);
    КонецЕсли;
    //УчетнаяЗапись=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь,"ОсновнаяУчетнаяЗапись");
    //Сообщ.Получатели.Добавить(УчетнаяЗапись.АдресЭлектроннойПочты);
    Почта.Послать(Сообщ,);
    Почта.Отключиться();

    Попытка
        УдалитьФайлы(ИмяФайла);
        //Сообщить("Удален файл "+ИмяФайла);
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;

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


Функция КорректировкаНаименования(Знач ИсходнаяСтрока, Выводитьсообщения=Истина)

    Наименование=СокрЛП(ИсходнаяСтрока);
    ДлиннаНаим=СтрДлина(Наименование);
    СписокЗаменяемыхимволов=новый СписокЗначений;

    Если ДлиннаНаим=0 Тогда
        Сообщение="Не заполнена проверяемая строка!";
        #Если Клиент Тогда
            Если Выводитьсообщения Тогда
                Сообщить(Сообщение);
            КонецЕсли;
        #КонецЕсли
    КонецЕсли;

    Для i=0 По ДлиннаНаим-1 Цикл  
        Стр=Прав(Наименование,ДлиннаНаим-i);  
        // руск. алф. 192- 255 англ. алф. мал. 65-90 англ. алф. бол. 97-122 пробел=32 цифры АSCI дес.
        Если (((КодСимвола(Стр)>1039) И (КодСимвола(Стр)<1106)) ИЛИ ((КодСимвола(Стр)>64) И (КодСимвола(Стр)<94)) ИЛИ ((КодСимвола(Стр)>96) И (КодСимвола(Стр)<123)) ИЛИ ((КодСимвола(Стр)>47) И (КодСимвола(Стр)<58)) И (КодСимвола(Стр)<>32)) Тогда
        Иначе
            СписокЗаменяемыхимволов.Добавить(Лев(Стр,1));
        КонецЕсли;
    КонецЦикла;

  Для каждого ЭлементСписка Из СписокЗаменяемыхимволов Цикл
      Если ЭлементСписка.Значение=" " Тогда
          Наименование=СтрЗаменить(Наименование,ЭлементСписка.Значение,"_");
          Сообщение="В наименование колонки "+ИсходнаяСтрока+" встречается недопустимый символ (пробел) "+ЭлементСписка.Значение+", он будет заменен на '_'";
          #Если Клиент Тогда
              Если Выводитьсообщения Тогда
                  Сообщить(Сообщение);
              КонецЕсли;
          #КонецЕсли
      Иначе
          Наименование=СтрЗаменить(Наименование,ЭлементСписка.Значение,"");
          Сообщение="В наименование колонки "+ИсходнаяСтрока+" встречается недопустимый символ "+ЭлементСписка.Значение+", он будет удален";
          #Если Клиент Тогда
              Если Выводитьсообщения Тогда
                  Сообщить(Сообщение);
              КонецЕсли;
          #КонецЕсли  
        КонецЕсли
    КонецЦикла;
    Возврат Наименование;
КонецФункции
29

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
0. Администратор 1С 38 22.09.11 05:08 Сейчас в теме
В публикации описан фрагмент кода, позволяющий отправлять печатные формы с помощью почтового клиента операционной системы (напр. Outlook, Bat и т.д.)

Перейти к публикации

1. Angeros 22.09.11 05:08 Сейчас в теме
Спс. Идея обязательно пригодиться.
2. sstar90 22.09.11 12:21 Сейчас в теме
Спасибо за идею, попробуем
3. CheBurator 3400 22.09.11 21:05 Сейчас в теме
как в снеговике это с извращениями сделано...
открой для себя
1. встроенный в винды штатный транспорт отправки писем CDO
.
на 7.7 в любой конфигурации для ЛЮБОГО отчета достаточно всего одной обработки
http://infostart.ru/public/14180/
http://infostart.ru/public/14131/
4. Администратор 1С 38 22.09.11 21:24 Сейчас в теме
(3) CheBurator,
О CDO знаю, твои обработки конечно хороши, но есть недостаток - письмо отправленное через CDO не сохранится в корпоративной почте в папке исходящие.
5. Администратор 1С 38 22.09.11 21:29 Сейчас в теме
(3) а этот момент иногда является принципиальным
6. Kazan 12.10.11 05:21 Сейчас в теме
Не проходит авторизацию пока ручками не откроешь клиент. win live mail 2011
7. plevako 12.10.11 14:48 Сейчас в теме
8. MYRZILKA123 2 21.10.11 16:25 Сейчас в теме
спасибо попробовал теперь пользуюсь.
9. Sanek_159 1 11.05.12 15:12 Сейчас в теме
Здравствуйте!
Конфигурация УПП 1.3.25
Когда делаю отправку из 1C появляется окно с сообщением: "С запрошенным действием не связана программа электронной почты.Установите программу электронной почты или,если она уже установлена,создайте связь в панели управления "Программы по умолчанию""
Если вхожу в Панель управления-Программы по умолчанию там всегда выбрана конфигурация Другая. Редактирую ее-выставляю Mozilla Thunderbird как почтовую программу по умолчанию, жму ОК. Перезахожу-все остается на своих местах. Если выбираю другую конфигурацию(Microsoft Windows или Не Microsoft) то все равно активной остается конфигурация Другая.
PS: пробовал с другого ПК где установлен outlook 2010, ничего не происходит и ошибка не вываливается. Подскажите, пожалуйста, что может быть не так?
10. Администратор 1С 38 12.05.12 19:01 Сейчас в теме
Я не силен в настройках ОС, а я так понимаю дело именно в них. Код рабочий. У вас работает пункт меню Windows "отправить->адресат", вызываемый по щелчку правой кнопки мыши на любом файле?
Вот что яндекс говорит, может поможет: "http://forum.windowsfaq.ru/showthread.php?t=91294"
11. haous 03.10.12 16:19 Сейчас в теме
А для УТП для Украины 8.2 подойдет?
12. Администратор 1С 38 05.10.12 16:48 Сейчас в теме
Попробуйте,
скорее всего да
13. BlackStar 19.12.12 17:00 Сейчас в теме
А с MS Outlook работает у кого нибудь? У меня при нажатии на отправку на секунду часы появляются, и больше ничего, почтовый клиент не открывается. При этом пункт меню Windows "отправить->адресат" работает нормально
16. Sanek_159 1 29.08.13 11:00 Сейчас в теме
(13) BlackStar, Тоже не открывается (Outlook 2010), часы на секунду и все. Удалось решить кому проблему?
При использовании программы по умолчанию Mozilla Thunderbird открывается только программа, но не создается новое письмо, в чем может быть проблема?
14. isn 13 22.05.13 10:04 Сейчас в теме
Здравствуйте!
Вы можете в пункте 3 опубликовать всю процедуру которая в итоге должна появится?
15. Администратор 1С 38 22.05.13 19:04 Сейчас в теме
(14) isn,

В моем релизе (10.3.10.14) она с учетом моих правок выглядит так:

Процедура ОтправитьДокументПоЭлектроннойПочте(Документ, ИмяФайлаВложения = "") Экспорт

Если НЕ Константы.ИспользованиеВстроенногоПочтовогоКлиента.Получить() Тогда
//ОбщегоНазначения.СообщитьОбОшибке("Отправлять документы по электронной почте можно только из встроенного почтового клиента.
// |В настоящее время в настройках параметров учета установлено использование основного почтового клиента операционной системы.");
//Предупреждение("Операция не выполнена");
_управлениеПочтой.ОтправитьПечатнуюФормуВнешнимТранспортом (Документ, УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь,"ОсновнойКаталогФайлов"),ИмяФайлаВложения); //изменения программиста
Возврат;
КонецЕсли;

ФормаОтправкиДокумента = ПолучитьОбщуюФорму("НастройкаОтправкиОтчета");
ФормаОтправкиДокумента.Отчет = Документ;
ФормаОтправкиДокумента.ИмяФайлаВложения = СтрЗаменить(ИмяФайлаВложения, ".", " ");
ФормаОтправкиДокумента.ТемаСообщения = ИмяФайлаВложения;
ФормаОтправкиДокумента.ОткрытьМодально();

КонецПроцедуры
17. AHuk 04.09.13 18:22 Сейчас в теме
Спасибо огромное. Но есть вопрос, как передать тему и текст и получателя - это ясно, но можно ли передать текст в HTML коде? и у меня вложения в виде "v8_C56_7a.tmp" формируется, в чём может быть проблема?
Прикрепленные файлы:
19. Программулькин 287 23.03.17 13:38 Сейчас в теме
Сначала хотел плюсануть, НО затем решил попробовать. Захотелось поставить минус, ибо не заработало, НО минусовать не буду. Насколько я понял, смысл статьи показать на примере использования функции глобального контекста: Почта (Mail)
Методы:
Выбрать (Get)
Отключиться (Logoff)
Подключиться (Logon)
Послать (Send)
Конструкторы:
По умолчанию
Описание:
Предназначен для доступа к почтовой системе, установленной на компьютере. Используется технология MAPI.
Доступность:
Тонкий клиент, толстый клиент.
Пример:
Почта = Новый Почта;


Как показывает практика не всегда работает.


Лучше использовать код ниже, НО естественно переделать по своим примочкам и условиям, ибо он вообще не универсальный. А вот сделать симбиоз этих 2х методов, тогда может что то и получиться хорошее.

ИмяФайла = "файл.XLS";
	
	// Попытка инициализации Outlook
	Попытка
		Outlook = Новый COMОбъект("Outlook.Application");
	Исключение
		Предупреждение("Не получилось создать объект Outlook.Application!");
		Возврат;
	КонецПопытки;
	
	// Попытка сохранения отчета
	Попытка
		ЭлементыФормы.ПолеТабДок.Записать(КаталогВременныхФайлов() + ИмяФайла, ТипФайлаТабличногоДокумента.XLS);
	Исключение
		Предупреждение("Не удалось создать файл " + ИмяФайла + "!");
		Возврат;
	КонецПопытки;
	
	// Заполнение реквизитов письма
	Письмо = Outlook.CreateItem(0);
	Письмо.Subject = "Какая то тема";                       // Тема
	Письмо.Body    = "Какойто текст"; // Текст письма
	//Письмо.to      = "";                // Адрес получателя
	Письмо.Attachments.Add(КаталогВременныхФайлов() + ИмяФайла); // Вложение
	
	// Попытка открытия подготовленного письма
	Попытка
		Письмо.Display();
	Исключение
	КонецПопытки;
Показать
Оставьте свое сообщение

См. также

Механизм "Отложенная отправка писем", при записи документа 7

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Email

Иногда требуется отправлять письма при записи документа. Чтобы избежать проблем с производительностью, сделал механизм "Отложенная отправка писем".

14.10.2019    767    John_d    6       

Полезняшки по СКД и построителям. Просто код 40

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Универсальные функции

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    2675    Yashazz    43       

Полезные процедуры и функции для программиста 115

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Универсальные функции

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

07.10.2019    6239    HostHost    22       

Реализация отправки Email через SendPulse API 12

Статья Программист Нет файла v8 УТ11 Россия Бесплатно (free) Email

Описана реализация отправки Email с использованием API и применением очереди отправки как пример для программистов (вариант компоновка блоков в контексте конкретного сервиса).

06.10.2019    930    malikov_pro    5       

Отслеживание выполнения фонового задания 134

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    8478    ids79    14       

Сохранение запроса со всеми параметрами и временными таблицами 20

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Универсальные функции

Функция сохранения запроса со всеми параметрами и временными таблицами в формате *.q1c для открытия в консоли запросов с диска ИТС.

13.05.2019    2447    Serge R    5       

Иерархия справочника Сверху Вниз. Получаем произвольное количество родителей "верхнего" уровня 7

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Иерархия справочника Сверху Вниз. Функция для получения произвольного количества родителей "верхнего" уровня. На примере справочника "Номенклатура".

28.03.2019    2037    obsfromekb    11       

Об отправке электронных писем средствами платформы "Бухгалтерия предприятия КОРП" 4

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) Email

Взаимодействие между пользователями посредством пересылки сообщений электронной почты на сегодняшний день является естественной необходимостью, такой, к примеру, как пересылка сообщений в социальных сетях и чатах. Современные системы автоматизации, такие как платформа 1С, способны удовлетворить потребность пользователей в отправке документации средствами взаимодействия платформы с почтовыми сервисами. Но для осуществления такого взаимодействия необходимо произвести настройки системы, об этом и пойдёт речь.

28.03.2019    1914    VKuser13475183    0       

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4 101

Статья Программист Нет файла v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free) Практика программирования Универсальные функции Разработка

Различные варианты корректировки типовых механизмов проведения документов, без корректировки основной конфигурации. Использование расширений, подписок на событие и механизма локализации типовых документов.

22.03.2019    8794    ids79    14       

Добавление отчетов в типовые конфигурации 1С 201

Статья Программист Нет файла v8::УФ v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Описание различных способов добавления общих и контекстных отчетов в конфигурации 1С, построенные на базе БСП. Основные моменты и нюансы.

07.03.2019    23439    ids79    32       

Работа со строками: от простого к сложному 25

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Простые примеры работы со строками, в конце более читаемый разбор сложных текстов.

14.01.2019    7583    Evg-Lylyk    17       

Нумерация колонок субконто при выгрузке набора записей регистра бухгалтерии в таблицу значений 6

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Решение проблемы несовпадения номеров колонок с номерами субконто на счете при выгрузке в таблицу значений.

14.01.2019    2304    The Ded    3       

Вдохнем вторую жизнь во встроенный почтовый клиент из 1С:Управление торговлей 10.3 13

Статья Программист Нет файла v8 УТ10 УУ Управление взаимоотношениями с клиентами (СRM) Бесплатно (free) Email

Хотели было воспользоваться почтовым клиентом из Управление торговлей 10.3, да не тут-то было. К сожалению, фирма "1С" почти совсем ее забросила и если Ваш респондент отправляет Вам письма, содержащие HTML, то Вас ждут матюки... Ну что же, как говорится: "Спасение утопающих - дело рук самих утопающих".

25.12.2018    4415    1c.pro.fun    8       

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке 469

Статья Программист Нет файла v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Управление персоналом (HRM) Бесплатно (free) Универсальные функции

В статье размещен список стандартных процедур и функций с примерами, которые могут помочь при разработке (доработке) конфигураций Зарплата и управление персоналом ред. 3.1 и Зарплата и кадры государственного учреждения 3.1. Иногда бывает довольно сложно правильно получить данные или долго, поэтому лучшим вариантом будет использование стандартных процедур. Буду очень признателен, если Вы поделитесь своим опытом и предложите свои варианты стандартных процедур которые помогают в работе. Или предложите, как дополнить имеющиеся процедуры.

14.11.2018    32133    GeterX    93       

Кадровые данные сотрудников в ЗУП 3.1 в отчетах 39

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Россия Управление персоналом (HRM) Бесплатно (free) Универсальные функции

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

07.11.2018    13103    fromlion    14       

Добавление расшифровки в стандартные и добавленные внешние отчеты со стандартной формой отчета на СКД 72

Статья Программист Нет файла v8::УФ v8::СКД ERP2 УТ11 Россия Бесплатно (free) Универсальные функции

Описан способ добавления расшифровки отчета на СКД как встроенного в систему, так и добавленного внешнего отчета.

27.09.2018    6567    bmk74    2       

Функция НайтиФайлы() в каталоге netshare на Linux - обход ошибки работы 6

Статья Программист Нет файла v8 Linux Бесплатно (free) Практика программирования Универсальные функции

Решение проблемы применения функции НайтиФайлы() в каталоге с netshare на Linux-сервере - не работает поиск файлов по указанной маске (шаблону)

19.09.2018    3275    drmaxart    1       

Простой способ программно открыть заполненную форму нового (незаписанного) документа в тонком клиенте 15

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

В этой публикации я поделюсь своим способом открывать программно новый незаписанный документ в тонком клиенте. Для использования этого способа потребуется немного модифицировать конфигурацию. Добавив универсальные процедуру и функцию, можно будет использовать их для любых документов/справочников.

09.06.2018    7422    Serge R    12       

Генерация временного ряда запросом 7

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Универсальные функции

Способ генерации последовательности дат средствами языка запроса 1С.

07.05.2018    5900    dim_zal    6       

Минимализмы 3 352

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35724    ildarovich    44       

Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок 83

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции

Если вам нужно быстро получить таблицу значений в виде строкового типа 1С в формате HTML, вам поможет эта функция, включена возможность автоматического вывода столбца пункт по порядку.

22.12.2017    18913    rpgshnik    21       

Пример преобразования двоичных данных в строку 26

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Доброго всем времени суток. Хочу поделиться маленьким решением маленькой проблемы. Думаю, будет интересно новичкам. Я не раз встречал на форумах вопрос: как преобразовать двоичные данные в строку? В частности, к примеру, частенько нужно получить хэш файла MD5 в текстовом виде, но как мы знаем 1С возвращает его в виде двоичных данных.

08.12.2017    12454    frkbvfnjh    19       

Функция сохранения картинок из книги Excel в каталог с определением координат на листе 8

Статья Программист Нет файла v8 Бесплатно (free) Загрузка и выгрузка в Excel Универсальные функции

Разбор файла *.xlsx как Web-архива, выгрузка изображений без потери качества, с определением положения изображений.

12.11.2017    7161    user634820_zergemoth    1       

Определяем контекст сеанса 1С программно (Тонкий/Толстый клиенты/HTTP-Сервис/Фоновое задание и т.д.) 31

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции

Иногда возникает необходимость программно определить контекст сеанса в 1С. Скажем вам надо понять что этот сеанс запущен и используется HTTP-Сервисом и не регламентным заданием или толстым клиентом. Порывшись в интернете я нашел только два способа которые не позволяли отличить регламентное задание от HTTP-Сервиса, стандартная функция ТекущийРежимЗапуска() тоже не позволяет определить запуск HTTP-Сервиса. Но в 1С есть стандартные средства которые позволяют решить эту задачу.

08.11.2017    15472    azubar    9       

Правила округления 5

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Универсальные функции

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

30.10.2017    7731    dakork    4       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Математика и алгоритмы Универсальные функции

Зачастую почти любой модуль в 1С содержит от одного до несметного множества вызовов других модулей. Как с этим бороться, чтобы было проще куда-то что-то переносить - в этом посте.

12.10.2017    14489    for_sale    58       

Получение даты, зная день недели и его порядок в месяце 10

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Иногда бывает необходимость получить "Первый понедельник месяца" или "Вторую пятницу месяца". Есть несколько способов решения вопроса. Опишу один из них.

12.09.2017    8151    987ww765    10       

Разность дат 21

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Иногда требуется получить разность дат в виде типа: 5 дней 6 месяцев 4 года. Это можно сделать с помощью запроса, получив на выходе сразу 3 нужных числа, без последующих вычислений.

11.08.2017    9774    jun-ko    24       

Простой способ преобразовать UNICODE в строку или в структуру 23

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) Практика программирования Универсальные функции

Первая функция получает Строку, которая содержит строчки вида «Ключ=Значение». Вторая функция получает Структуру.

07.07.2017    7193    dimasts    5       

Код для кнопки "Отправить почтовым сообщением" любого табличного документа, используя механизмы УТ 11.2 11

Статья Программист Нет файла v8 УТ11 Бесплатно (free) Практика программирования Email

Это не автономный код процедуры отправки, это приписка к уже существующему механизму почтовых сообщений, реализованному в УТ 11.2, когда ваша учетная запись уже создана, и вам остается лишь "навесить" код на кнопку. Этот механизм может быть использован для любой управляемой формы, на которой также присутствует Табличный документ.

23.01.2017    10388    RockLeeSan    0       

"Распределение в запросе" или "избавляемся от перебора" 184

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Математика и алгоритмы Универсальные функции

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    27901    alexandersh    45       

Пример работы с шаблоном Word через ole (клиент - сервер, тонкий клиент) - установка значений и заполнение таблицы 17

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

В примере показывается заполнение строк готовой таблицы, добавление новой таблицы, объединение ячеек, установка значений в "параметр".

09.11.2016    10038    gortrex    8       

Парсер JSON (Штатные средства 1С 8.3.6) 59

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Хочу поделиться функцией чтения json, реализованной с помощью штатных средств платформы.

29.09.2016    46575    dour-dead    21       

Программное создание графических схем (v.2): API для ГрафическойСхемы 73

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Работа с интерфейсом Универсальные функции

Пример динамического создания графических схем, добавления элементов любых видов. Любые схемы без бизнес-процессов. Программная работа со схемой. Отличие от существующей статьи в том, что здесь используется объектная модель. Исправил и упростил некоторые моменты - результат соответствует схеме, созданной руками. Добавил возможность рисования произвольных форм для существующих фигур.

27.09.2016    16930    serg_infostart    15       

Вычитание рабочих дней от текущей даты 7

Статья Программист Нет файла v8 Россия Бесплатно (free) Практика программирования Универсальные функции

Функция возвращает дату, которая меньше указанной даты на количество рабочих дней по выбранному графику

08.09.2016    9626    semenich_b    7       

Используем механизмы обмена данными БСП для произвольного обмена 148

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции Внешние источники данных БСП (Библиотека стандартных подсистем)

Механизм БСП заточен на обмен XML по правилам обмена. Чтобы использовать его для любого другого обмена, коих в мире немало, требуются доработки. В статье описан вариант, как из положения выйти.

23.08.2016    27752    Патриот    22       

Склонение числа прописью 26

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Склоняет число прописью до 999999 Пример: до склонения "Не позднее 3 (Три) дней", после - "Не позднее 3 (Трех) дней"

18.08.2016    15902    maxvcb    27       

Отборы в отчётах. Нюансы работы компоновщика настроек. 132

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Открытие отчёта с предустановленным отбором, показанным пользователю. Изменение любых настроек в процессе работы отчёта. Взаимосвязи настроек.

15.08.2016    59366    Yashazz    23       

Автоматическое добавление новых реквизитов на форму (УФ) 38

Статья Программист Нет файла v8 v8::УФ Бесплатно (free) Работа с интерфейсом Универсальные функции

Идея такая: Программист добавил реквизит в объект. В комментарии этого реквизита прописал некое спец. слово (можно не матерное). На форму объекта новый реквизит далее попадает автоматом в спец. группу "Дополнительно".

03.08.2016    16268    Патриот    23       

HOWTO: создание и отладка HTTP-сервиса в 1С:Предприятие 123

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) WEB Практика программирования Универсальные функции

Статья о том, как можно быстро создать HTTP-сервис в 1С:Предприятие и как выполнять его отладку.

25.07.2016    39561    serg_infostart    19       

Цикл ввода данных, пример решения 42

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции Практика программирования

Отказ от модальности создает проблему организации последовательного ввода данных в рамках одной пользовательской операции. Цепочки процедур, обрабатывающих введенные данные и вызывающие следующий диалог - головная боль даже для самостоятельной поддержки или изменения логики ввода, не говоря о том уже, чтобы разбираться в чужом коде. Предлагаемое решение является некой заготовкой и может быть любым образом улучшено.

12.07.2016    11215    botokash    7       

Поиск несериализуемых значений при помещении в хранилище 12

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Универсальные функции

В статье разобран пример, как найти несериализуемые значения в случае помещения в хранилище коллекций, содержащих вложенные элементы. В качестве хранилищ рассмотрены временное хранилище значений и переменные типа ХранилищеЗначения.

02.03.2016    20139    balanton    2       

Универсальные функции с примерами использования 241

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

14 универсальных функций, с примерами использования - для обычного и управляемого интерфейса

26.02.2016    35452    unichkin    36       

Преобразование числа в строку в запросе 1С 8.x 21

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Универсальные функции

В запросах 1С предприятие 8.x есть ограничение: нельзя преобразовывать число в строку.

23.02.2016    33091    lastcontra    19       

Как отправить по почте НЕтиповой документ, используя стандартные средства БП 3.0 20

Статья Системный администратор Программист Нет файла v8 БП3.0 Россия Windows Бесплатно (free) Email Практика программирования

После работы с отладчиком в 23-х Общих модулях в поисках того, как же формируется тема, отправитель и тело письма, было принято решение поделиться найденными строчками кода с коллегами в надежде на то, что это поможет сократить их время при работе с похожей задачей.

08.02.2016    14506    config    3