Вар Ден

53
Рейтинг

vardo
Ден Вар



  •   Регистрация: 21.05.2009 (14 лет назад)

  •   Был(а) на сайте: 26.04.2024

Друзья
  • boris nuraliev
Подписчики 2

Группы

Профессиональный разработчик

Рейтинг 53

Skype для 1С. Обмен сообщениями (корпоративный чат)

Инструменты и обработки Для всех Платформа 1С v8.3 Windows Абонемент ($m) Конфигурация (md, cf) Мессенджеры и боты

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

10 стартмани

06.11.2015    17483    45    vardo    19       

30

Комментарии

DevSkype для 1С. Обмен сообщениями (корпоративный чат)#11 07.09.16 17:54
(10) Vladimir_Konyrev, планировал.. но пока руки не доходят
ОбменТехнология проведения миграции данных в крупных проектах#17 20.05.16 16:27
Люди любят изобретать велосипеды и не любят изучать стандартные механизмы конвертации
DevSkype для 1С. Обмен сообщениями (корпоративный чат)#7 21.01.16 12:49
(6) pyrkin_vanya, (5) Alexsisit,
Модуль закрыт случайно, никто бы не сказал я и не заметил бы. Чтобы не качать снова текст модуля вот:
Код
    Перем СписокКонтактов Экспорт;
   Функция ПолучитьСписокКонтактов() Экспорт
      
      УстановитьПривилегированныйРежим(Истина);

       КС = Новый КвалификаторыСтроки(200);
      Массив = Новый Массив;
      Массив.Добавить(Тип("Строка"));
      ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
      СоединенияИнформационнойБазы = ПолучитьСоединенияИнформационнойБазы();
      АктивныеПользователиТЗ = Новый ТаблицаЗначений;

      АктивныеПользователиТЗ.Колонки.Добавить("ИмяПользователя",ОписаниеТиповС);
      Для каждого Соединение Из СоединенияИнформационнойБазы Цикл
         Если НЕ Соединение.ИмяПриложения="1CV8" Тогда
            Продолжить;
         КонецЕсли; 
         АктивныйПользователь=АктивныеПользователиТЗ.Добавить();                                     
         АктивныйПользователь.ИмяПользователя=Соединение.Пользователь.Имя;                            
      КонецЦикла; 
      АктивныеПользователиТЗ.Свернуть("ИмяПользователя");
      МассивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
      ТЗПользователи = Новый ТаблицаЗначений;
       ТЗПользователи.Колонки.Добавить("Имя",ОписаниеТиповС);
       ТЗПользователи.Колонки.Добавить("Наименование",ОписаниеТиповС);
       ТЗПользователи.Колонки.Добавить("ИдентификаторПользователяИБ",ОписаниеТиповС);
      Для каждого СтрокаМассива Из МассивПользователей Цикл
          СтрокаПользователь = ТЗПользователи.Добавить();
         СтрокаПользователь.Имя = СтрокаМассива.Имя;
         СтрокаПользователь.Наименование = СтрокаМассива.ПолноеИмя;
         СтрокаПользователь.ИдентификаторПользователяИБ = СтрокаМассива.УникальныйИдентификатор;
      КонецЦикла;  

       Запрос = Новый Запрос;
      Запрос.Текст = 
         "ВЫБРАТЬ
         |   АктивныеПользователи.ИмяПользователя,
         |   ""Активный"" КАК Статус
         |ПОМЕСТИТЬ ВТАктивныеПользователи
         |ИЗ
         |   &ТЗАктивныеПользователи КАК АктивныеПользователи
         |;
         |
         |////////////////////////////////////////////////////////////////////////////////
         |ВЫБРАТЬ
         |   Пользователи.Имя,
         |   Пользователи.Наименование,
         |   Пользователи.ИдентификаторПользователяИБ
         |ПОМЕСТИТЬ ВТПользователи
         |ИЗ
         |   &МассивПользователи КАК Пользователи
         |;
         |
         |////////////////////////////////////////////////////////////////////////////////
         |ВЫБРАТЬ
         |   Пользователи.Имя КАК Наименование,
         |   Пользователи.Наименование КАК ПолноеНаименование,
         |   ЕСТЬNULL(АктивныеПользователи.Статус, ""Неактивный"") КАК Статус,
         |   Пользователи.ИдентификаторПользователяИБ КАК id
         |ИЗ
         |   ВТПользователи КАК Пользователи
         |      ЛЕВОЕ СОЕДИНЕНИЕ ВТАктивныеПользователи КАК АктивныеПользователи
         |      ПО Пользователи.Имя = АктивныеПользователи.ИмяПользователя
         |ГДЕ
         |   НЕ Пользователи.Имя = &ТекущийПользователь
         |
         |СГРУППИРОВАТЬ ПО
         |   Пользователи.Имя,
         |   Пользователи.Наименование,
         |   Пользователи.ИдентификаторПользователяИБ,
         |   ЕСТЬNULL(АктивныеПользователи.Статус, ""Неактивный"")
         |
         |УПОРЯДОЧИТЬ ПО
         |   Статус,
         |   Наименование";
         Запрос.УстановитьПараметр("ТЗАктивныеПользователи",АктивныеПользователиТЗ);
         Запрос.УстановитьПараметр("МассивПользователи",ТЗПользователи);
            Запрос.УстановитьПараметр("ТекущийПользователь",ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
      СписокКонтактов = Запрос.Выполнить().Выгрузить();

      Возврат СписокКонтактов;   
   КонецФункции
   УстановитьПривилегированныйРежим(Истина);
   КВФ = КаталогВременныхФайлов();
   ИмяАрхива = ПолучитьИмяВременногоФайла();
   ПолучитьМакет("messenger").Записать(ИмяАрхива);
   Zip_file = Новый ЧтениеZipФайла(ИмяАрхива);
   Zip_file.ИзвлечьВсе(КВФ); 
    СписокКонтактов = ПолучитьСписокКонтактов();
DevSkype для 1С. Обмен сообщениями (корпоративный чат)#4 21.01.16 6:55
(3) pyrkin_vanya, на данный момент- нет
УчетMom and Dad`s Misery#20 11.11.15 18:07
(19) Любая система оперирует сущностями объектов НСИ как уникальными единицами, квантами информации. В типовых конфигурациях уникальность определяется строкой записи объекта, если этого не достаточно в конкретном прикладном решении то разрабатывается свои правила уникальности объекта. Иногда на словах иногда кодом. По этому не увидел особой проблемы на такое количество строк текста. Хотя написано красиво.
Возможно тут ключевая фраза: "Мои слова легко понять и легко осуществить. Но люди не могут понять и не могут осуществлять."
УчетMom and Dad`s Misery#18 11.11.15 17:03
Но за труды и подход плюс
УчетMom and Dad`s Misery#17 11.11.15 17:01
Этож надо так растечься мыслею по древу! По мне так не надо умножать сущностей сверх необходимого. Используйте бритву Оккама коллега.
DevSkype для 1С. Обмен сообщениями (корпоративный чат)#0 06.11.15 11:00
Конфигурация обмена сообщениями, пригодная для встраивания в любую конфигурацию 1С 8.2 на обычных формах.
DevНазначение задач и контроль над их выполнением#0 24.10.15 12:35
Конфигурация-пример для простого контроля выполнения задач (обычные формы).