Ефремов Александр

91
Рейтинг

xnd
Александр Ефремов



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

  •   Был(а) на сайте: вчера в 09:06

Подписчики 8

Группы

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

Рейтинг 91

Анализ изменений в расширении при обновлении основной конфигурации

Статья Программист Платформа 1С v8.3 Бесплатно (free) Нет файла Обновление 1С

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

30.12.2022    5618    xnd    39       

70

Генерация UML диаграмм на основании текстового описания

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Работа с интерфейсом

Обработка, демонстрирующая возможности вывода изображения UML диаграммы, сгенерированной сторонним сервисом на основании текстового описания.

1 стартмани

10.09.2021    8648    11    xnd    15       

22

Комментарии

UpdateCFДопиливаем типовой отчет "Связанные документы" (структура подчиненности) так, чтобы он видел документы из расширения конфигурации#78 24.04.24 16:47
(77) предложу более лаконичный вариант без дублирования кода
Код
Функция txl_ОбъектыПоКритериюОтбора(ЗначениеКритерияОтбора)

   ШаблонЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ПредставлениеТаблицы.Ссылка КАК Ссылка
   |ИЗ
   |   ИмяТаблицы КАК ПредставлениеТаблицы
   |ГДЕ
   |   ПредставлениеТаблицы.ИмяРеквизита = &ЗначениеКритерияОтбора";

   ШаблонЗапросаОбъединения = "ВЫБРАТЬ
   |   ПредставлениеТаблицы.Ссылка КАК Ссылка
   |ИЗ
   |   ИмяТаблицы КАК ПредставлениеТаблицы
   |ГДЕ
   |   ПредставлениеТаблицы.ИмяРеквизита = &ЗначениеКритерияОтбора";

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

      ПутьКДанным = ЭлементСостава.ПолноеИмя();

      Если СтрНайти(ПутьКДанным, "ТабличнаяЧасть") Тогда
         ОбъектМетаданных = ЭлементСостава.Родитель().Родитель();
      Иначе
         ОбъектМетаданных = ЭлементСостава.Родитель();
      КонецЕсли;

      Если НЕ ПравоДоступа("Чтение", ОбъектМетаданных) Тогда
         Продолжить;
      КонецЕсли;

      Точка = СтрНайти(ПутьКДанным, ".", НаправлениеПоиска.СКонца);
      ИмяРеквизита = Сред(ПутьКДанным, Точка + 1);

      ИмяТаблицы = ЭлементСостава.Родитель().ПолноеИмя();
      ИмяТаблицы = СтрЗаменить(ИмяТаблицы, "ТабличнаяЧасть.", "");

      Точка = СтрНайти(ИмяТаблицы, ".", НаправлениеПоиска.СКонца);
      ПредставлениеТаблицы = Сред(ИмяТаблицы, Точка + 1);

      ТекстЧастиЗапроса = ?(ТекстЧастиЗапроса = "", ШаблонЗапроса, ШаблонЗапросаОбъединения);
      ТекстЧастиЗапроса = СтрЗаменить(ТекстЧастиЗапроса, "ИмяТаблицы", ИмяТаблицы);
      ТекстЧастиЗапроса = СтрЗаменить(ТекстЧастиЗапроса, "ПредставлениеТаблицы", ПредставлениеТаблицы);
      ТекстЧастиЗапроса = СтрЗаменить(ТекстЧастиЗапроса, "ИмяРеквизита", ИмяРеквизита);

      ЧастиЗапроса.Добавить(ТекстЧастиЗапроса);

   КонецЦикла;
   #Вставка
   КонецЦикла;
   #КонецВставки

   Если ЧастиЗапроса.Количество() > 0 Тогда
      Запрос = Новый Запрос;
      Разделитель = Символы.ПС + "ОБЪЕДИНИТЬ" + Символы.ПС;
      Запрос.Текст = СтрСоединить(ЧастиЗапроса, Разделитель);
      Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", ЗначениеКритерияОтбора);
      Возврат Запрос.Выполнить().Выгрузить();
   Иначе
      Возврат Новый ТаблицаЗначений;
   КонецЕсли;

КонецФункции
UpdateCFКритерии отбора в расширении. 16+#41 24.04.24 16:45
Ошибся веткой
DevАнализ цепочки документов в 1С:ERP#22 12.03.24 9:30
(21) патенты на что?
DevГенерация UML диаграмм на основании текстового описания#15 12.03.24 9:28
(13) а если про вывод диаграмм в самой 1С, то думаем об отказе от UML и переходе на фреймворк, позволяющий интерактивное изменение полученного результата плюс возможность создавать свои элементы оформления.
Пример возможностей движка:
https://g6.antv.antgroup.com/en/examples
Ниже на скрине пока что примитивнейшая диаграмма в 1С, но зато любой элемент можно подвинуть мышкой

Прикрепленные файлы:

Image 9.png
DevГенерация UML диаграмм на основании текстового описания#14 12.03.24 9:21
(13) Если мы говорим про UML схемы, то в основном используем для базы знаний в obsidian( например автогенерация json, описывающих метаданные с поддержкой гиперссылок)

Прикрепленные файлы:

Image 8.png
DevGUID в 1С 8.3 - как с ними быть#15 12.02.24 14:06
(14) ну я же привел пример когда я два раза стрельнул мимо и в "объекте не найден" разные типы ( оба неверные)
DevGUID в 1С 8.3 - как с ними быть#13 12.02.24 14:02
(12) вот пример - когда гуидом организации стрельнул в номенклатуру и партнера

Ссылки отличаются типом в начале (который внезапно не организация)

Прикрепленные файлы:

Image 4.png
DevGUID в 1С 8.3 - как с ними быть#11 12.02.24 13:56
(8) Не вводите людей в заблуждение - в "объект не найден" будет тип которым стреляли :)
ПубликацииАнализ изменений в расширении при обновлении основной конфигурации#38 02.02.23 20:20
(37) анализируются в том числе и расширения методов форм и элементов, а не только модулей
ПубликацииАнализ изменений в расширении при обновлении основной конфигурации#33 10.01.23 12:36
Выпустил релиз 1.0.1.5

Исправлены ошибки:

- Значение не является значением объектного типа (ТелоМетода)
- Некорректный поиск переопределенных методов в расширении