Технические вопросы
Разработка

Добрый день!

Может кто-то сталкивался, при рассылке появилась ошибка (сохраняю исходный текст сообщения):
Возникла ошибка обработки события приложения Microsoft Office: . DispID: 64181

Что это за ошибка и как ее идентифицировать в msdn?

Нравится

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

Здравствуйте.
Данная ситуация обусловлена сбоем в самом OutLook. Конфигурация Terrasoft подключается к Outlook посредством его COM-объекта.
При выполнении каких либо действий с сообщениями, приложение Outllok передает в конфигурацию ошибки при их возникновении.
Это событие обрабатывается функцией function OnOutlookExplorerEventInvoke(Explorer, DispID, Explorer) в сервисе Common\Tools\Integration\MS Office\MS Outlook\scr_MSOutlookLibrary
Ошибке с кодом 64181 соответствует ветка обработчика:

case 0x0000f008: // OnClose
DoCloseExplorer(MSOutlookLibrary.Explorer);
MSOutlookLibrary.Explorer = null;
break;

64181 в 16-ричном отображении = 0x0000f008
Ошибка возникает при закрытии активного окна Outlook или его сообщения.

В случае возникновения ошибки, попробуйте перезапустить MS Outlook.
В случае если ошибка имеет массовый характер (проявляется у многих пользователей) и закономерна (ее можно повторить при определенных действиях пользователя) – сообщите дополнительно об этом.

P.S.: хотя думаю, что на других машинах ситуация, с большой долей вероятности, будет иная.

"Котенко Александр" написал:

64181 в 16-ричном отображении = 0x0000f008

Ошибка возникает при закрытии активного окна Outlook или его сообщения.

В случае возникновения ошибки, попробуйте перезапустить MS Outlook.

В случае если ошибка имеет массовый характер (проявляется у многих пользователей) и закономерна (ее можно повторить при определенных действиях пользователя) – сообщите дополнительно об этом.

С уважением, Котенко Александр.


Александр, большое спасибо за развернутый ответ. Ошибка повторяется примерно в 0,01% случаев проведения рассылки и повторить ее вряд ли представляется возможным.

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

Показать все комментарии
Технические вопросы
Разработка

Написал хранимую процедуру, которая должна вставлять в таблицу БД данные из excel файла. Для этого был установлен поставщик Microsof.ACE.OLEDB.12.0 и создан связанный сервер.

Пытался вызвать ее сначала так:

var Params = System.CreateObject('TSObjectLibrary.Parameters');  
AddParameter(Params, pdtGUID, ID).Name = 'FileID';
AddParameter(Params, pdtGUID, Connector.CurrentUser.ContactID).Name = 'ContactID';      
var SQL = "exec spChangeTariffsMagistral :FileID, :ContactID";
Connector.DBEngine.ExecuteCustomSQL(SQL, Params);

Потом так:

var sqChangeTariffsMagistral = Services.GetNewItemByUSI('sq_ChangeTariffsMagistral');
sqChangeTariffsMagistral.Parameters.ItemsByName('FileID').Value = ID;
sqChangeTariffsMagistral.Parameters.ItemsByName('ContactID').Value = Connector.CurrentUser.ContactID;
var DatasetResult = sqChangeTariffsMagistral.Open();

Оба метода приводят к ошибке -
в первом случае:
TSMSSQLEngineLibrary.MSSQLEngine: Не удалось начать транзакцию для поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "LS_EXCEL".
Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "LS_EXCEL" вернул сообщение "Уровень изолированности, а также его усиление не поддерживаются."

во втором случае:
"TSObjectLibrary.SelectQuery: Ошибка открытия источника данных "".
Оригинальное сообщение об ошибке: Не удалось начать транзакцию для поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "LS_EXCEL".
Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "LS_EXCEL" вернул сообщение "Уровень изолированности, а также его усиление не поддерживаются.""

У меня много процедур, которые запрашивают данные из БД Oracle с помощью связанных серверов, и никогда никаких проблем не было.
Может что-то на своем сервере нужно подкрутить? Как заставить работать процедуру? В Менеджмент Студии работает без проблем.

Версия 3.0.2.244
Сервер MS SQL 2014

Нравится

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

Я вот так делал, всё ок:

var SQL  = 'UPDATE tbl_Opportunity set ImportMark = null where ImportMark is not null and TypeID = ';
SQL += "'{A6CD76D6-E61F-4755-B223-AC33C68F870F}'";
var Parameters = System.CreateObject('TSObjectLibrary.Parameters');	
CreateSPParameter(Parameters, 'SQLText', pdtString, SQL);
var SQLCommand = 'execute [dbo].[tsp_UpdateWorkspaceRecords] :SQLText';
Connector.DBEngine.ExecuteCustomSQL(SQLCommand, Parameters);

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

select * FROM [LS_EXCEL]...[Магистрали$]

При этом в студии всё работает.

Нашел что нужно изменить тип транзакции для ADO соединения:

AdoLoadUdl.IsolationLevel:=ilChaos

но это в Delphi. Есть ли возможность управлять этим из TSAdmin даже не знаю.

Можно попробовать в хранимке использовать

SET TRANSACTION ISOLATION LEVEL

https://technet.microsoft.com/en-us/library/ms189542(v=sql.105).aspx

не помогает...

мне кажется собака зарыта тут:

"MSDN" написал:
Если инструкция SET TRANSACTION ISOLATION LEVEL использовалась в хранимой процедуре или триггере, то при возврате управления из них уровень изоляции будет изменен на тот, который действовал на момент их вызова. Например, если уровень изоляции REPEATABLE READ устанавливается в пакете, а пакет затем вызывает хранимую процедуру, которая меняет уровень изоляции на SERIALIZABLE, при возвращении хранимой процедурой управления пакету, настройки уровня изоляции меняются назад на REPEATABLE READ.

SSV, мой совет - пишите на support@terrasoft.ru. Тут надо уточнять у спецов с ядра как быть.

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

Здравствуйте.

Приложите листинг хранимой процедуры, пожалуйста.

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

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spChangeMagistral]
	@FileID uniqueidentifier,
	@ContactID uniqueidentifier
AS
DECLARE @BufLen int
DECLARE @BufPos int
DECLARE @Buffer varbinary(4096)
DECLARE @Stream int
DECLARE @HR int
DECLARE @Filename varchar(max)
declare @CurrentDate datetime
BEGIN
 
	SELECT @BufPos = 1, @BufLen = DATALENGTH(DataFile) FROM [dbo].tbl_FileTariffs WHERE ID = @FileID
	set @Filename = 'E:\TariffXLS\magistral.xlsx'
 
    EXEC @HR = sp_OACreate 'ADODB.Stream',@Stream OUT
    EXEC @HR = sp_OASetProperty @Stream,'Type',1
	EXEC @HR = sp_OASetProperty @Stream,'Mode',3
    EXEC @HR = sp_OAMethod @Stream,'Open'
 
    WHILE @BufLen > 0 BEGIN
        SELECT @Buffer = SUBSTRING(DataFile,@BufPos,4096) FROM [dbo].tbl_FileTariffs WHERE id = @FileID
        EXEC @HR = sp_OAMethod @Stream,'Write',null,@Buffer
        SELECT @BufLen = @BufLen - 4096, @BufPos = @BufPos + 4096
    END
 
    EXEC @HR = sp_OAMethod @Stream, 'SaveToFile',Null, @Filename, 2
	exec @Filename = sp_OAGetErrorInfo @HR
    EXEC @HR = sp_OAMethod @Stream, 'Close'
    EXEC @HR = sp_OADestroy @Stream
 
	set @CurrentDate = GETDATE()
 
        --select * FROM [Link_EXCE]...[Магистрали$]
 
	--select * from openquery(Link_EXCEL,' select * from [Магистрали$]')
 
	--select f1, f2, f3, f4*1000, f5, f26, cast(f27 as decimal(18,2)), f28, f29, f30, f31, f32, f33 FROM [Link_EXCEL]...[Магистрали$] where f1 is not null and f2 is not null and f1 <> 'Название';
 
	--SELECT * FROM OpenrowSet('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=E:\TariffXLS\magistral.xlsx;','SELECT * FROM [Магистрали$]') 
 
	--SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','E:\TariffXLS\magistral.xlsx;Extended Properties=EXCEL 12.0')...[Магистрали$]
 
	/*
	insert into tbl_LineFiberTariffs_TEST (id,CreatedOn, CreatedByID, ModifiedOn, ModifiedByID,
	Name,Address1,Address2,LengthLine,ProjectNumber,CountFiberID,SaleLine,ServiceLine,RentOneTime10year,RentMonth10year,RentOneTimeOperator,
	RentMonthOperator,RentOneTimeCorp,RentMonthCorp,BeginDate,EndDate, FileID)
	SELECT newid(),@CurrentDate,@ContactID,@CurrentDate,@ContactID, f1, f2, f3, f4*1000, f5, fc.ID, f26, 
	cast(f27 as decimal(18,2)), f28, f29, f30, f31, f32, f33, @CurrentDate, null, @FileID
	FROM [Link_EXCEL]...[Магистрали$] ls
	left outer join tbl_FiberCount fc on fc.CountValue = cast(ls.f6 as varchar(20))
	where f1 is not null and f2 is not null and f4 is not null
	*/
END

а вы не пробовали первую часть (с редактированием файла) вынести в отдельную процедуру от второй части (с чтением и инсертом)?
другими словами не блокирует ли ADODB.Stream файл при работе через него? все-таки у вас разные библиотеки используются в разных частях процедуры (во второй - OLEDB)

"Андросов Дмитрий" написал:

а вы не пробовали первую часть (с редактированием файла) вынести в отдельную процедуру от второй части (с чтением и инсертом)?

другими словами не блокирует ли ADODB.Stream файл при работе через него? все-таки у вас разные библиотеки используются в разных частях процедуры (во второй - OLEDB)


я оставлял в процедуре только один запрос, в смысле в процедуре был вообще только это запрос, без выгрузки файла из БД:

select * FROM [Link_EXCE]...[Магистрали$]

т.е. файл уже лежал на диске, но ошибки всё те же...

SSV, предлагаю искать другие пути. Воспользоваться стандартным импортом с екселя, например, либо написать свою функцию по парсингу Excel определенного формата.

я вынес часть процедуры, которая инсёртит данные, в JOB, который запускается из процедуры с помощью sp_start_job...

Да, хорошая идея!

Показать все комментарии
операции
РКО
синхронизация
Интеграция и импорт данных
Разработка

Добрый день.
Делаю настройку экспорта Операций из Террасофта 3.3.2 в РКО в 1С8.
Учитывая, что РКО это документ + табличная часть , то делаю двухуровневую структуру. Отдельно указываю синхронизацию полей документа, отдельно табличной части.
Документ создается. При попытке его открыть в 1С8 выдается ошибка

{Документ.РасходныйКассовыйОрдер.Форма.ФормаДокумента.Форма(569)}: Индекс находится за границами массива
ЭлементыФормы.РасшифровкаПлатежа.ТекущаяСтрока = РасшифровкаПлатежа[0];

В реестре 1С8 визуально видно что такие реквизиты как дата, организация, номер (те, которые первого уровня) заполняются.
Те, которые второго уровня (сумма, курс, сумма взаиморасчетов) пустые. Из-за этого документ в 1С8 и выдает ошибку.

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

Теперь вопросы. Для того, чтобы не перебирать все варианты поиска ошибок самой вручную.
Как правильно писать значения по умолчанию: 'Истина' или без кавычек, '1' или без кавычек ?
Как правильно перенести отрицательную сумму расходной операции в Сумму в РКО 1С, которая там с плюсом ?
Надо ли указывать все поля для синхронизации, даже те, где пустые поля?
Какие еще нюансы надо учесть?

Нравится

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

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

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

NewOffering = Select1C.Товары.Добавить();
NewOffering.Товар = Offering1CLink;
NewOffering.КодТовара = Dataset('Code');
NewOffering.ЕдИзм = Unit1CLink;
NewOffering.Коэффициент = Dataset('Koof');

Как получить ссылку на запись для заполнения ссылочных реквизитов:

 
var Offering1CLink = Param.Obj1C.Справочники.Номенклатура.
	ПолучитьСсылку(UID1C);

где UID1C - это значение колонки UID1C (ID записи 1с) преобразован следующим образом:

UID1C = UID1C.replace('{', '');
UID1C = UID1C.replace('}', '');
UID1C = Param.Obj1C.NewObject('УникальныйИдентификатор', UID1C);
return UID1C;

Подчиненную часть я связала так, как на картинке. Я считала, что это - стандартная функция , именно для этого предусмотренная.

Показать все комментарии
1C 8.3
невозможно создание объекта сервером программирования объектов
ошибка
Интеграция и импорт данных
Разработка

Всем привет.

При попытке подключения к базе 1С возникает ошибка "Невозможно создание объекта сервером программирования объектов" при попытке создать объект ActiveX (скрипт scr_Dataflow1CUtils_V81 строка #627 Param.Con1C = new ActiveXObject(Param.Version + '.ComConnector'); ).

Синхронизация стандартная.
1С - 8.3
Terrasoft - 3.4

Нравится

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

Максим, необходимо
а) установить утилиту: http://www.community.terrasoft.ua/system/files/1c_230512.zip
Внутри также есть инструкцию по установке.

б) глобальным поиском найти строку
Param.Con1C = new ActiveXObject(Param.Version + '.ComConnector');

и заменить на

//Param.Con1C = new ActiveXObject(Param.Version + '.ComConnector');
Param.Con1C = new ActiveXObject('V83.ComConnector');

Это если быстро.
А вообще желательно добавить в перечисление enm_1CVersion новый элемент, затем в скрипте scr_DataflowUtils подправить функцию GetScriptObjectByVersion:

function GetScriptObjectByVersion(Param) {
	switch (Param.Version) {
	case 'V82': return scr_Dataflow1CUtils_V80V81V82;
		break;	
	case 'V81': return scr_Dataflow1CUtils_V80V81V82;
		break;
	case 'V8': return scr_Dataflow1CUtils_V80V81V82;
		break;
	case 'V77': return scr_Dataflow1CUtils_V77;
		break;
	default: return scr_Dataflow1CUtils_V80V81V82;
		break;		
	}
}

Дмитрий, спасибо за ответ.

"А вообще желательно добавить в перечисление enm_1CVersion новый элемент"

Какой именно элемент?

"затем в скрипте scr_DataflowUtils подправить функцию GetScriptObjectByVersion"

Это нормально, что в этом скрипте нет такой функции?

Максим, нет, не нормально :)
Вы ставили утилиту с комьюнити? Ставьте :)

Какой именно элемент?

элемент 8.3 - свойства такие же как и в 8.2, только наименование 8.3 :) Это для того, что бы в выпадающем списке появилась версия 8.3. А вот в функции уже будет прописано, что если выбрано 8.3. то создавать COM-объект с именем V83.ComConnector, а не V82 (или V81 и т.д.).
Если что не понятно - спрашивайте.

> Вы ставили утилиту с комьюнити? Ставьте :)

Я поставил. Этой функции нет ни в ней, ни в оригинале. Вот их дифф (оригинальный - слева): https://www.diffchecker.com/8scqezvu . Простым поиском можно убедиться, что функции нет.

> элемент 8.3 - свойства такие же как и в 8.2, только наименование 8.3 :) Это для того, что бы в выпадающем списке появилась версия 8.3. А вот в функции уже будет прописано, что если выбрано 8.3. то создавать COM-объект с именем V83.ComConnector, а не V82 (или V81 и т.д.).

Как-то вы противоречите сами себе. Разве это не предполагает, что Param.Version должен быть V83 ? Тогда, учитывая что свойства такие же, как у 8.2, откуда оно возникнет?

Опытным путём установил, что файл не scr_DataflowUtils, а scr_Dataflow1CUtils. Функция в нём такая же, что и у вас в сноске.

В общем, после всех изменений, ошибка та же.

Максим, поставьте отладчик перед строкой:

Param.Con1C = new ActiveXObject(Param.Version + '.ComConnector');

и посмотрите что у вас за значение в переменной Param.Version. Если V82 - значит что-то сделали не так (должно быть V83).
В крайнем случае замените эту строку на

Param.Con1C = new ActiveXObject('V83.ComConnector');

Если и далее будет воспроизводится ошибка, значит у вас в Windows не зарегистрирован COM - объект 1С. Запустите файл Comcntr.dll в папке bin с установленной 1с от имени regsrv32.exe

Да, заработало, спасибо.

Добрый день.
Возник вопрос: Для чего нужна утилита 1С, добавленная выше, и обязательно ли ее устанавливать при переходе на 8.3?

Добрый.
Утилита необходима для интеграции с 1с 8.2. А в этом топике мы обсуждали те мелкие моменты, которые необходимо выполнить чтобы её доработать для интеграции с 1с 8.3.

Показать все комментарии
FastReport List index out of bounds (-1)
Технические вопросы
Разработка

Добрый день,

В версии CRM 3.1.1.65 при экспорте FastReport отчёта в pdf формат появляется ошибка „List index out of bounds (-1)” на системе Windows 7 (64-bit). Данная ошибка появляется если у пользователя поставлена тема окон Windows Aero, если поставить тему Windows Basic, то ошибка не появляется.

Возможно, кто то сможет помочь советом?

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

Нравится

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

Это у вас именно от библиотек fastreport ошибка...
А как экспорт в pdf делаете - кодом или штатной кнопкой в форме отчета?

Кодом:
var Report = Services.GetSingleItemByUSI('fr_ReportName');
var ReportPreviewer = Services.GetNewItemByUSI('wnd_BaseFastReportPreview');
var ReportPreviewerComponent = ReportPreviewer.Attributes('ReportPreviewer');
SetAttribute(ReportPreviewer, 'Report', Report);
//debugger
ReportPreviewer.Build();
ReportPreviewer.Prepare();
ReportPreviewer.Close();

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

Здравствуйте!

Хотел отписаться, что решение с задержкой перед экспортом файла помогло.

Спасибо!

Показать все комментарии
Отчёты
Разработка

Добрый день
Подскажите почему когда в документе Word создаю отчет и в таблицу вставляю поле из Детали Запроса
при формировании отчета вместо числовых данных выходит значение
#Деталь 3.Номинальная ставка вознаграждения, %>

Нравится

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

уберите % из названия поля

"Андросов Дмитрий" написал:

уберите % из названия поля

не помогает

<#Деталь 3.Номинальная ставка вознаграждения>

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

сделать это надо как в шаблоне, так и в настройке запроса для отчета (см скриншоты)

увы.. и это не помогает
убрал пробелы

<#Деталь 3.Номинальная_ставка_вознаграждения>

что о совсем ничего не могу понять
таблица из двух ячеек
если первой стоит
название ячейки Ставка то выводиться <#Деталь 3.Номинальная_ставка_вознаграждения>
а если в первой стоит другое поле
<#Деталь 3.Сумма кредита> то выводиться нормальное значение 0,00

все примеры документации просмотрел все делаю по описаниям.
что не так???

главное что в этом же отчете чуть выше таблицы заполняются аналогично и никаких проблем

у вас что-то не так с именно этим полем (Номинальная_ставка_вознаграждения), попробуйте его "вытащить" в настройках заново, покажите скрины вашего шаблона и настроек запроса

уже пробовал и заново и все удалил.
может быть какие то тонкости есть в рисовании таблицы и вставки полей?

скрины прилагаю

вы правы, тонкость есть - поля детали должны быть в одной таблице, а, как я вижу по скрину, две нижних ячейки - это другая таблица. Добавьте строку в таблицу выше и вставьте поля туда

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

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

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

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

Добрый день
вот пробовал шаманить в итоге поле "Сроком на" перестало работать а "Ставка" отображается
посмотрите в прикрепленном файле настройки шаблона и результат

Добрый день, Евгений!

Если вопрос актуален, вышлите данные на support@terrasoft.ru

Показать все комментарии
1с интеграция
сервер
Интеграция и импорт данных
Разработка

Никак не могу присоединится к 1с.
Изменила scr_Dataflow1CUtils как описано в статье https://community.terrasoft.ua/forum/topic/5359
Заполнила свойства интеграции, но тест соединения заканчивается ошибкой:
"Невозможно создание объекта сервером программирования объектов"
Нужно узнать где происходит сбой,на сервере, в 1с или в Terrasoft
Версия 1с 8.2, Terrasoft XRM Distribution+Service Desk 3.4

Нравится

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

Если у вас в списке не было 8.2 - необходимо сперва установить утилиту интеграции. Скачать её можно по ссылке: http://www.community.terrasoft.ua/system/files/1c_230512.zip
Внутри также есть инструкцию по установке.

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

Добрый день!
Создаю запрос для отчета Word
Добавил Деталь1 перетащил на нее нужные поля,
теперь добавляю Деталь 2 и при попытке перетащить туда поля из таблицы списка Обратные связи
выдается ошибка Поле __ID__ не активно (файл прилагаю )

В запросе галочка поля ID "Всегда выбирать в запросе" установлена

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

Нравится

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

Добрый день, Евгений!

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

ошибка не устранилась, при попытке перенести колjнку ID
выдается та же ошибка
версия 3.3.2.294

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

может быть удобнее будет предоставить доступ онлайн?

Евгений, пожалуйста, напишите на адрес support@terrasoft.ru название Вашей компании, контактный телефон и при возможности Ваш Customer ID.

Показать все комментарии
файлы контрагент
Скрипты
Разработка

Доброго времени суток, коллеги!

Есть инциденты, к которым могут быть привязаны файлы.
Есть контрагенты, к которым могут быть привязаны файлы.
Надо. На контрагенте видеть файлы, привязанные к его инцидентам. Лучше в общей куче с файлами, привязанными непосредственно к контрагенту, но это не критично.
Как сделать?

Нравится

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

Можно попробовать создать sq_FileInAccount добавив в нём UNION ALL tbl_FileInIncident через tbl_Incident.AccountID = tbl_FileInAccount.AccountID -> tbl_FileInIncident.IncidentID = tbl_Incident.ID

Кол-во колонок и их названия должны совпадать (используйте псевдонимы в unione).
При этом необходимо будет создать новый датасет ds_FileInAccount и перепривязать для раздела контрагенты в общем окне реестра "Файл в ..." компоненту dl_Data датасет ds_FileInItem на ds_FileInAccount

sq_FileInAccount создал по образу и подобию tbl_FileInAccount. По остальному вопрос. Какие поля втыкать в ds_FileInAccount? Хотел посмотреть по вроде аналогичному ds_FileInIncident, но там в sq_FileInIncident толпа полей, которые в sq_FileInAccount отсутствуют. И где делается перепривязка dl_Data?

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

В ds_FileInAccount, необходимо добавлять те поля которые Вы будете использовать, например ID, Link и т.д. Привязка dl_Data, происходит в не визуальных компонентах сервиса окна реестра.

Показать все комментарии
импорт данных
миграция
Интеграция и импорт данных
Разработка

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

Что нужно от заказчика:
- данные исходной БД (либо доступ к исходной БД)
- доступ к интерфейсу CRUD операций в БД назначения
- возможность ПЛОТНОГО удаленного общения со специалистами, ответственными за разработку БД назначения
- возможность ПЛОТНОГО удаленного общения со специалистами, работающими с исходной БД (теми, кто потом будет работать на новой системе)
- возможность внесения в БД назначения изменений, требуемых для осуществления контролируемой миграции (нужно не всегда, но порой бывает необходимо)

Что обеспечиваю я:
- анализ исходных данных
- план миграции данных
- осуществить тестовую миграцию (множество тестовых этапов)
- предоставить рекомендации по исправлению исходой БД для осуществления качественного переноса данных
- перенести данные из исходной БД в БД назначения с минимальными потерями качества.

Перечень конечно базовый, моментов очень много. Самое главное - это общение со специалистами.

Нравится

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