Всем добрый день!

Столкнулся с следующей проблемой перестали выгружаться пакеты в ФС, пишет. что изменений не обнаружено. Редис чистил, пересоздавал приложение в IIS, удалял пакеты из папки Pkg в конфигурации - не помогает.

Кто нибудь сталкивался с такой проблемой?

Нравится

1 комментарий

Скорее всего включена разработка в файловой системе, когда она включена то при разратобке используется локальный статический контент (к примеру C# файлы)

Показать все комментарии

Доброго дня, имеется bpm которая при GET запросе 0/ServiceModel/EntityDataService.svc/ContactColletion возвращает xml с контактами, можно ли GET запросом возвращать JSON и если да, то где про это написанно? Если нельзя, то как вернуть JSON для oData 3?

Нравится

3 комментария

Добавьте header к запросу

Accept: application/json;odata=verbose

я смог сделать это в постмане, но все же не понятно, мб подскажете возможно ли в террасофте возвращать json по обращению к uri, если можно сделать это не переписывая сервис, буду благодарен за подсказку)
условно я иду по адресу /0/ServiceModel/EntityDataService.svc/ContactCollection и мне падает 
 

{

    "d": {

        "results": [

            {

                "__metadata": {

                    "id": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…",

                    "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…",

                    "type": "Terrasoft.Configuration.Contact"

                },

                "Photo": {

                    "__deferred": {

                        "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…"

                    }

                },

                "Owner": {

                    "__deferred": {

                        "uri": "http://localhost:85/0/ServiceModel/EntityDataService.svc/ContactCollect…"

                    }
...и т.д.

Насколько понял, только заголовком. Такой формат здесь не поддерживается: «ContactCollection?$format=json». А в OData 4 по умолчанию идёт JSON.

Показать все комментарии

Всем доброго времени суток!

Столкнулся с такой проблемой.

Устанавливаю пакет через CLIO - выдает ошибки - https://prnt.sc/tqkuyw

В чем может быть проблема?

Версия системы 7.16.2.1600 

 

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

Нравится

16 комментариев

так же при выполнении команды clio install-gate -e dev выдает ошибки - https://prnt.sc/tqnh3s

Алексей, по первому скриншоту, похоже, дело в файловой системе Вашего ПК, не может получить доступ к определённой папке.

 

По второму, у Вас как-то получилось вместо названия объекта «7.16.2», что делать нельзя, названия должны быть с латинскими буквами и без точек. Возможно, при оформлении перепутали с версией.

Зверев Александр,

Странно как то получается создаю новый пакет Test и сразу  пушу его в систему и выдает такое - 

https://prnt.sc/tr3etj. Тут ну никак и нигде не задается имя 7.16.

Помимо всего даже когда устанавливаю пакет через интерфейс Creatio такая же ошибка. Из-за чего так получается есть предположение?

Если и через интерфейс такое же, то тем более, дело в самом пакете. Сравните с теми, которые ставятся нормально, может, что-то перепутано в полях? Вы создали пакет командой к clio?

Зверев Александр,

"Вы создали пакет командой к clio?" - пакет Test да. 

 

Просто создали так?

Creating new package

To create new package project, use the next command:

 clio new-pkg <PACKAGE_NAME>

you can set reference on local core assembly with using Creatio file design mode with command in Pkg directory

 clio new-pkg <PACKAGE_NAME> -r bin

Может, что-то делали с версией?

Set package version

Set a specified package version into descriptor.json by specified package path.

clio set-pkg-version <PACKAGE PATH> -v <PACKAGE VERSION>

 

Вообще, не видя создавшегося пакета, сложно  сказать, что в нём не так.

Зверев Александр,

просто clio new-pkg <PACKAGE_NAME>

Значит, смотреть внутрь пакета, где там упоминается «7.16.2». А падает только при установке на конкретный Ваш сайт? А если ставить на демку, то то же самое?

Зверев Александр,

Устанавливал созданный пакет через clio на облачный дев, через интерфейс системы, стал без ошибок.

 

Значит, всё же дело не в пакете, а в сайте, куда его ставили? Может, версии отличаются?

Зверев Александр,

версия сайта 7.16.2.1600, при создании пакета через clio задушить не получается, а вот при выгрузке из системы и конвертации, а потом пишите, то получилось...ещё те танцы с бубном))), но перед этим пришлось переустановить сайт.

Теперь бы разобраться как вызывать классы из данного пакета в других схемах конфигурации)

Здравствуйте, Алексей!

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

Мотков Илья,

Добрый день. Я бы добавил, что есть способы достучаться из схем в функциональность Files. Через тот же ClassFactory

Здравствуйте, Алексей!

 

Ещё дополню, что все классы схем располагаются в неймспейсе Terrasoft.Configuration, если другое не задано.

 

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

 

Если речь о классах во внешних библиотеках – то обращаться так же как и из пакета в котором эта библиотека привязана.

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

Коллеги, разобрался в чем проблема... при создании нового пакета в этих папках - https://prnt.sc/u638lk генерируется текстовый файл placeholder, вот из-за него и вываливается ошибка при деплое пакета в среду, после удаления деплой прошел корректно и ошибка -

"Terrasoft.Common.InvalidNameException: Название объекта "7.16.2" некорректно" не выскакивала

Алексей, разработчики сообщили, что мы поищут способ решения этой проблемы, на текущий момент данную проблему можно обойти, указав в ConnectionStrings.config в секции tempDirectoryPath простой пусть С:\Temp

Проблема заключается в том, что по умолчанию берется Temp директория пользователя, а она имеет очень большую вложенность и Windows формирует сокращение, которое не правильно разбирается регулярным выражением.

Показать все комментарии

Коллеги, кто нибудь вел разработку по принципу пакет-проект, из статьи мало понятно как действовать. Есть вопросы:

  1. При выгрузки пакетов ФС папка Files не создалась(кастомный пакет) - можно добавить вручную?
  2. Можно ли добавлять данное решение в существующий пакет?
  3. В папку Files добавлять ProjectName.dll или весь solution?
  4. Проект создавать как библиотеку классов + подключать в зависимости пакет Terrasoft? 

В общем что то в этом роде.

Заранее благодарен!

Нравится

14 комментариев

Алексей, насколько помню, всё взаимодействие происходит через консольную программу «clio», а в веб-интерфейсе такой пакет выглядит как пустой, вручную туда добавлять ничего не нужно.

 

На странице clio перечислены её команды для создания, загрузки и выгрузки пакетов.

Зверев Александр,

с установкой пакета разобрался, теперь вот вопрос как использовать встроенные классы при разработке в ФС?

Вот пытаюсь определить переменную с данным типом -https://prnt.sc/tqf1ps

Что делаю не так?

Если брать данную dll - https://prnt.sc/tqf4n0 и вставлять во Внешние сборки(https://prnt.sc/tqf4z5) тогда смысл данного решения?

Зверев Александр,

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

Недавно было онлайн-обучение «Ускорение разработки с пакетами-проектами и репозиторием данных», но видео с него не встречалось. Возможно, отправляли только записавшимся.

 

Его автор ответил по поводу того, что Вы спрашивали о смысле этого решения: 

Взаимодействие между проектными-классами, и схемами исходного кода происходит через API-проекты.

Основная польза от такого решения – согласовав API, можно поставлять решение без компиляции основного приложения.

Зверев Александр,

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

Здравствуйте, Алексей!

 

Пакет-проект - это пакет который содержит только файловый контент, который в папке пакета располагается в папке Files.
В файловом контенте расположен обычный проект .
net, а компиляция у него настроена в папку Bin.

В проекте реализованы сервисы, которые имеют доступ к базе данных.

Приложение загружает библиотеки (dll) из папки Files\Bin и ищет в них сервисы, а найденные сервисы активирует.

В проекте не будут видны конфигурационные классы, так же как и классы из данного проекта не будут видны коду в конфигурации, это изолированные сервисы.

 

Ответы на вопросы:

 При выгрузки пакетов ФС папка Files не создалась(кастомный пакет) - можно добавить вручную?

Ее можно создать вручную

   Можно ли добавлять данное решение в существующий пакет?

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

Для ее включения надо в Web.config загрузчика добавить

<add key="Feature-UseCompilationByNecessity" value="true" /> 

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

  В папку Files добавлять ProjectName.dll или весь solution?

Обязательно надо добавить ProjectName.dll в Files\Bin, а solution, на ваше усмотрение, обычно желательно, чтобы вы скачав пакет могли вести в нем разработку.

 Проект создавать как библиотеку классов + подключать в зависимости пакет Terrasoft?

Проект надо создавать как библиотеку классов, которая содержит сервисы. К проекту можно подключить другие библиотеки, как к обычному проекту

Для работы с классами ядра можно к проекту подключить библиотеки из nugget:

 <PackageReference Include="BpmonlineSDK" Version="7.14.4.844-rc" />
 <PackageReference Include="Terrasoft.ServiceModel" Version="1.0.0" />
 <PackageReference Include="Terrasoft.ServiceModel.Primitives" Version="1.0.0">

 

 как использовать встроенные классы при разработке в ФС?

Как и в любом другом проекте .net.

Вот пытаюсь определить переменную с данным типом -https://prnt.sc/tqf1ps

Что делаю не так?

По скриншотам сказать что-то сложно, пришлите пакет, мы тогда объясним что там идет не так.

Если брать данную dll - https://prnt.sc/tqf4n0 и вставлять во Внешние сборки(https://prnt.sc/tqf4z5) тогда смысл данного решения?

В проекте (пакета-проекта), нельзя подключать сборки добавленные во внешние сборки в конфигурации.

 

Мотков Илья,

Можно ли при использовании данного решения как-то избежать конфликт библиотек Google? А то пока не получается...
 

Мотков Илья,

Мотков Илья пишет:
В проекте (

т.е. я не смогу добавить более новые библиотеки Google.Apis, Google.Analytics.V3, Google.Apis.Core (latest stable version) и т.д.? И затем без проблем использовать?

Здравствуйте, Алексей!

 

Рекомендуем прислать пакет, чтобы можно было посмотреть.

По поводу Clio, лучше установить последнюю версию, после чего проинсталировать новую версию cliogate. Если будут ошибки, еще раз прислать лог, который выдала утилита.

Мотков Илья,

здравствуйте, ссылку на скачивания пакета скидывал Вам в личном сообщении

Мотков Илья пишет:

Здравствуйте, Алексей!

Рекомендуем прислать пакет, чтобы можно было посмотреть.

По поводу Clio, лучше установить последнюю версию, после чего проинсталировать новую версию cliogate. Если будут ошибки, еще раз прислать лог, который выдала утилита.

Что касается clio и инсталяции cliogate в результате выполнения команды возникает следующая ошибка - https://prnt.sc/ttvziv 

Алексей, в соседней теме это Ваш же случай?

Зверев Александр,

да, уже и систему переустанавливал, не помогает

 

Алексей, по поводу конфликта версий, всё как обычно с библиотеками: им или залить себе ту же версию, что у «в коробке» (более старую), или аргументировать, чтобы обновили «в коробке» до более новой. Если используется не самая новая версия системы, прежде всего попробовать обновить, возможно, в актуальной библиотеку тоже обновили.

Показать все комментарии

Добрый день! Не могу разобраться почему не работает созданный мною отчет через FastReport. Отчет создавал по примеру из академии, создал схему типа "исходный код" с именем "CHShipmentDataSourceCode". После сохранения указал источник данных, и после смог скачать файл типа *.frx, где в настройках были доступны все созданные ранее поля. Но после того как я выбираю любую погрузку, и нажимаю кнопку "Печать", выбивает ошибка типа "Ошибка:Неполадка сервера". При этом в системе есть ещё 2 отчета, они загружаются без ошибки сервера
Не знаю что я не так сделал, прошу помочь. Скрины прилагаю

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

Нравится

10 комментариев

Илья, а что пишется в самом pdf-файле, который сгенерировался?

Также, если есть доступ к серверу, посмотрите в журнале ошибок, что пишет в момент формирования отчёта.

 

Зверев Александр,

файл открыть нельзя, он не выгружается вообще, в консоли выбивает ошибку поля "ReportTitle", скрин прикрепляю

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

Зверев Александр,

В локализированых строках эта строка заголовка есть, в коде тоже

А в источнике данных?

Зверев Александр,

тоже там указано поле

Возможно, Вы используете значение параметра ReportTitle в логике внутри отчёта, а там нельзя передавать параметр типа «локализируемая строка» таим образом? Сравните, как с ним работают в стандартном отчёте, могут быть отличия.

Зверев Александр,

Писал исходный код по примеру из академии, заменяя своими значениями. Так же пробовал вовсе удалить строку ReportTitle из отчета, ошибка падает так же, ничего не поменялось

Если ReportTitle убрали отовсюду, то падать должно на чём-то другом.

Вопрос решил, проблема была в том, что обьект "Погрузка" находился в разных кастомных пакетах, после перебора Uid каждого из них, отчёт заработал. 

Показать все комментарии

 

День добрый!

Возникла идея нескольких проектов для маркетплейса общая суть которых сводится к получению из вне get\post запроса на опубликованный веб сервис и реакцию в виде запуска процессов и\или изменения данных. Детально рассказывать не буду, но думаю суть понятна.

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

 

Собственно, вопросы следующие:

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

2) если подобное приложение можно разместить на маркетплейсе, то сможет ли пользователь облака попросить саппорт зарегистрировать сторонний анонимный веб сервис или это возможно только при развертывании на мощностях клиента?

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

 

Заранее спасибо!

 

Версия 7.16.0.4461 (в списке версий не нашел)

Нравится

2 комментария
Лучший ответ

1) Да, мы выкладываем. Например, https://marketplace.terrasoft.ru/app/konnektor-k-onlayn-chatu-jivosite

2) Да, сможет. Вы в личном кабинете маркетплейса положите файлик с веб сервисом и инструкцией для саппорта.

3) Нет, вариантов других нет из-за авторизации

1) Да, мы выкладываем. Например, https://marketplace.terrasoft.ru/app/konnektor-k-onlayn-chatu-jivosite

2) Да, сможет. Вы в личном кабинете маркетплейса положите файлик с веб сервисом и инструкцией для саппорта.

3) Нет, вариантов других нет из-за авторизации

Спасибо за оперативный ответ!

Показать все комментарии

Был создан БП с блоком отправки почты. В тело письма передается HTML-текст через параметр процесса. Всё работает корректно.

Но при повторном открытии и сохранении БП, параметр в графе "Тело Письма" сбрасывается, даже если не щелкать на блок отправки почты. Приходится при каждом изменении БП заново указывать параметр в тело письма. Иначе в письме содержится именно текст [#IsOwner....

Подскажите, можно ли как-то избежать повторения этих действий?

 

 

Нравится

1 комментарий

Обратитесь в тех поддрежку Terrasoft (Creatio) не забыв указать номер версии используемой  у вас BpmOnline.

Показать все комментарии

Добрый день!

Необходимо реализовать в разделе Лиды в карточке Лида разделение поля "ФИО контакта" на 3 отдельных поля "Фамилия", "Имя" и "Отчество".

В мастере разделов я добавил 3 новых поля и хочу сделать стандартное поле "ФИО контакта" скрытым, но чтоб не переделывать логику работы карточек, думаю при сохранении Лида записывать значения полей фамиля+имя+отчество в поле "ФИО контакта"

Подскажите, пожалуйста, нормальное будет такое решение? И как можно реализовать автоматическое сохранение?

Я пока только разбираюсь в системе и её документации, нужной информации пока не нашел.

Нравится

5 комментариев
Лучший ответ

Сделать поле ФИО контакта вычисляемым полем. статья https://academy.terrasoft.ru/documents/technic-sdk/7-15/dobavlenie-vychislyaemyh-poley

по аналогии делал для поля Название в разделе конфигурации:

attributes: {
"Name": {
	dataValueType: Terrasoft.DataValueType.STRING,
	dependencies: [
		{
			columns: ["Type", "Model", "EPMManufacturer"],
			methodName: "generateNewName"
		}
	]
}
},
methods: {
onEntityInitialized: function() {
	this.callParent(arguments);
	this.generateNewName();
},
generateNewName: function() {
	var sType = Ext.isEmpty(this.get("Type")) 
				? ""
				: this.get("Type").displayValue ;
	var sModel = Ext.isEmpty(this.get("Model")) 
				? "" 
				: " " + this.get("Model").displayValue;
	var sEPMManufacturer = Ext.isEmpty(this.get("EPMManufacturer")) 
							? "" 
							: " " + this.get("EPMManufacturer").displayValue;
	var result = sType + sEPMManufacturer + sModel;
	this.set("Name", result);
}
}

 

Сделать поле ФИО контакта вычисляемым полем. статья https://academy.terrasoft.ru/documents/technic-sdk/7-15/dobavlenie-vychislyaemyh-poley

по аналогии делал для поля Название в разделе конфигурации:

attributes: {
"Name": {
	dataValueType: Terrasoft.DataValueType.STRING,
	dependencies: [
		{
			columns: ["Type", "Model", "EPMManufacturer"],
			methodName: "generateNewName"
		}
	]
}
},
methods: {
onEntityInitialized: function() {
	this.callParent(arguments);
	this.generateNewName();
},
generateNewName: function() {
	var sType = Ext.isEmpty(this.get("Type")) 
				? ""
				: this.get("Type").displayValue ;
	var sModel = Ext.isEmpty(this.get("Model")) 
				? "" 
				: " " + this.get("Model").displayValue;
	var sEPMManufacturer = Ext.isEmpty(this.get("EPMManufacturer")) 
							? "" 
							: " " + this.get("EPMManufacturer").displayValue;
	var result = sType + sEPMManufacturer + sModel;
	this.set("Name", result);
}
}

 

Алексей Следь,

 Спасибо большое!

В итоге получился вот такой код:

		attributes: {
            "Contact": {
                dataValueType: Terrasoft.DataValueType.TEXT,
                dependencies: [
                    {
                        columns: ["UsrLastName", "UsrFirstName", "UsrMiddleName"],
                        methodName: "calculateContact"
                    }
                ]
            }
		},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {
            onEntityInitialized: function() {
                this.callParent(arguments);
                this.calculateContact();
            },
            calculateContact: function() {
                var sLastname = Ext.isEmpty(this.get("UsrLastName")) 
				? ""
				: this.get("UsrLastName");
 
                var sFirstname = Ext.isEmpty(this.get("UsrFirstName")) 
				? ""
				: this.get("UsrFirstName");
 
				var sMiddlename = Ext.isEmpty(this.get("UsrMiddleName")) 
				? ""
				: this.get("UsrMiddleName");
 
                var result = sLastname + " " + sFirstname + " " + sMiddlename;
                this.set("Contact", result);
			}
		},

DisplayValue убрал, так как с ним подставлялось в строку "не найденное значение".

Теперь не понятно, что делать со старыми Лидами делать, где контакт забит одной строкой, а разделенные поля фамилия, имя, отчество не заполнены.. Я там понимаю, что нужно сделать дополнительную обработку существующих лидов и заполнить значения разделив поле Контакт.. Только как это сделать лучше и в какую сторону копать не знаю. Можете подсказать? Может через БП или напрямую через SQL?

Сергей Бер пишет:
Может через БП или напрямую через SQL?

Без разницы - оба варианта подойдут. Реализуйте тот способ, что для Вас проще.

Если на объекте лида есть какая-то логика во встроенном или отдельном БП, уже завязанная на изменение названия, то при изменении поля при помощи SQL-запроса привязанное событие не запустится, это на всякий случай нужно учитывать. 

Сергей Бер пишет:
DisplayValue убрал, так как с ним подставлялось в строку "не найденное значение".

да, забыл предупредить. У меня это поля справочники. Поэтому я использую displayValue. 

Показать все комментарии

Всем доброго времени суток! 

Столкнулся со следующей проблемой, у нас в системе были кастомные Excel отчеты, выгружались посредствам библиотеки ClosedXml, и все работало, но с версии 7.14 перестало работать. Высыпаются ошибки в зависимостях:

Terrasoft.Web.Common.ServiceModel.ErrorHandler ProvideFault - Метод не найден: "System.IO.Packaging.PackageProperties DocumentFormat.OpenXml.Packaging.OpenXmlPackage.get_PackageProperties()".
System.MissingMethodException: Метод не найден: "System.IO.Packaging.PackageProperties DocumentFormat.OpenXml.Packaging.OpenXmlPackage.get_PackageProperties()

Пробовал устанавливать разные версии библиотеки не помогло.

Кто работал с библиотекой ClosedXml в bpm'online, может знает какую версию использовать?

Текущая версия crm 7.14.4 

заранее благодарен.

Нравится

4 комментария
Лучший ответ

Столкнулся, к сожалению. пришлось все переписывать... В ClosedXML используются библиотеки DocumentFormat.OpenXml, в версии 7.14 видимо обновили версию библиотеки/зависимых библиотек и все. Мучался часа 3 с зависимостями, потом плюнул и переписал на OpenXml генерацию xls

Столкнулся, к сожалению. пришлось все переписывать... В ClosedXML используются библиотеки DocumentFormat.OpenXml, в версии 7.14 видимо обновили версию библиотеки/зависимых библиотек и все. Мучался часа 3 с зависимостями, потом плюнул и переписал на OpenXml генерацию xls

А что говорит по этому вопросу служба поддержки? Что они рекомендуют?

Алла Савельева,

Здравствуйте! Пока ничего. Анализирует предоставленный мною лог.

Нигрескул Алексей,

Поделитесь потом здесь ответом, очень интересует данная тема. Спасибо)

Показать все комментарии

Всем доброго времени суток! Столкнулся со следующей проблемой. Есть БП который запускается после изменения записи, в нем есть скрипт-таск в котором определяется заголовок Origin - System.Web.HttpContext.Current.Request.Headers["Origin"], если изменение производились через карточку записи то заголовок присутствовал и процесс шел по одной ветке, если же изменение произошло кодом через интеграцию, то заголовок был пустой. Это работало до недавнего времени, сейчас же System.Web.HttpContext.Current == null.

Кто нибудь с таким сталкивался?

Нравится

2 комментария

Разобрался, в настройке начального сигнала стояло выполнять след. эл-ты в фоне. Из-за этого не читалось.

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

Показать все комментарии