Невозможно сохранить настройки фильтров, не активна кнопка "сохранить" (а так же кнопка "сохранить и применить")
кнопка
По каким причинам она может быть не активна?
terrasoft XRM+SD 3.40.143.0
Спасибо.

Нравится

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

Добрый день! Скорее всего вы пытаетесь сохранить настройки фильтров в статической группе, а не в динамической

Настройки фильтров сохраняются в динамических группах

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

Приветствую!
Не пойму, что за фокус, добавил данные в базу, все ок, все отображается.
Если я захожу в terrasoft под админом, то данные тоже отображаются новые, а вот, если зайду под пользователем, то видны только старые данные, права все есть, в чем беда?

Нравится

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

Скорее всего на новые данные у пользователя, который не обладает правами администратора, нет прав доступа. Проверить доступ можно на детали [Доступ] в каждом разделе.

Это вы имеете в виду здесь:

Я говорю о детали [Доступ] раздела, в котором вы не видите новые данные:
1

у меня к сожалению нет такой детали.(

В таком случае, вам нужно проверить администрируется ли таблица вашего раздела по записям.
Нужно в TSAdmin найти таблицу этого раздела и проверить, установлен ли признак 'Администрируется по записям'. Пример во вложении.
Если данная таблица администрируется по записям, то, во-первых, вам нужно настроить раздачу прав доступа по умолчанию, чтобы у пользователей был доступ на записи раздела, которые будут созданы. Во-вторых, для существующих можно раздать доступ, написав sql-запрос и применив его на вашей базе данных.
И для удобства работы с данным разделом всё-таки рекоммендую добавить в ваш раздел деталь [Доступ] - она является стандартной для большинства базовых разделов, так что пример реализации можно посмотреть в любом разделе, например, [Контрагенты] или [Контакты].

sql запрос какого плана?
Я уже пробовал и схемы переназначать и роли...ниче не берет

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

sql запрос такого вида:

insert into <название таблицы прав доступа> (
ID, RecordID, AdminUnitID, CanRead, CanWrite, CanDelete, CanChangeAccess)
values (newid(), значения полей через запятую)

RecordID - ID записи раздела
AdminUnitID - ID пользователя из tbl_AdminUnit
CanRead - право на чтение
CanWrite - право на запись
CanDelete - право на удаление
CanChangeAccess - право на изменение прав

Для полей CanRead, CanWrite, CanDelete, CanChangeAccess - возможные варианты 0 или 1.

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

Все получилось, СПасибо!

Отличная новость.
Рада, что смогла Вам помочь :wink:

P.S. RecordID - это ID записи в основной таблице.

Да, я уже понял:)
Еще раз спасибо!

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

Приветствую!
Такая задача:
необходимо при нажатии на печать из той или иной формы выводить данный не по дефолту, как все данные разбиты по колонкам, а например, есть данные повторяющиеся и чтобы они не повторялись в отдельной колонке 100 раз, надо вывести их в шапку печатной формы.

Нравится

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

Для этого нужно внести изменения в печатную форму. Перейдите в дизайнер отчета и над MasterData добавьте GroupHeader. В него добавьте поле, по которому вам нужна группировка - в данном случае это поле 'Комментарий'.

вы имеете в виду здесь:

Да, абсолютно верно.

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

Ругается, потому что нужно выбрать не только название датасета, но и поля, по которому нужно группировать (см. файл во вложении).
Чтобы выбрать название поля нужно связать датасет FastReport с датасетом в конфигурации Terrasoft.


эта ошибка из-за этого - "Чтобы выбрать название поля нужно связать датасет FastReport с датасетом в конфигурации Terrasoft."? как их связать?

Ругается, потому что нужно выбрать не только название датасета, но и поля, по которому нужно группировать - это сделал
Спасибо за помощь!

Если вам удалось выбрать значение поля, тогда датасет FastReport связан с датасетом конфигурации.
На GroupHeader добавьте Memo, в котором также укажите датасет и название поля (см. прикрепленный файл).

Также можете посмотреть пример группировки на конкретном примере: http://www.community.terrasoft.ru/forum/topic/8512

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

О какой кнопке принт идет речь?

Если Вам нужно вызывать отчет из конфигурации Terrasoft, то на обработчик OnClick кнопки вызываете приблизительно такой код (где ReportID - это уникальный идентификатор вашего отчета FastReport, ID записи в разделе 'Отчеты'):

var ReportDataset = GetSingleItemByCode('ds_Report', 'SingleReport');
var Columns = ReportDataset.SelectQuery.Items(0).Columns;
DisableAllColumns(Columns);
var FieldNames = new Array('Code', 'FilteredDatasetCode', 'FilterFormCode');
EnableColumnsByArray(Columns, true, FieldNames);
ApplyDatasetIDFilter(ReportDataset, ReportID, true);
ReportDataset.Open();
if (IsDatasetEmpty(ReportDataset)) {
return;
}
var ReportUSICode = ReportDataset.Values('Code');
var FilteredDatasetCode = ReportDataset.Values('FilteredDatasetCode');
var FilterFormCode = ReportDataset.Values('FilterFormCode');
var Report = Services.GetNewItemByUSI(ReportUSICode);
if (FilterFormCode) {
var FilterForm = Services.GetNewItemByUSI(FilterFormCode);
}
ShowReport(Report, FilterForm);


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

По нажатию на кнопку 'Печать' отчеты формируются автоматически по записям реестра. Это является базовой функциональностью.

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

а где посмотреть Report ID, в админке это можно посмотреть?
(где ReportID - это уникальный идентификатор вашего отчета FastReport, ID записи в разделе 'Отчеты') - не могу найти...

В TSAdmin вы этой информации не увидите.

Для этого нужно написать sql-запрос вида:

select ID
from tbl_Report
where Name = 'Отчет1'

Отчет1 - это название Вашего отчета

и выполнить его на сервере базы данных.

Спасибо, это самое простое для меня)
а куда этот ID в вашем коде вставлять?
то есть я сейчас сделал следующее:
в нужном окне добавил кнопку OK и при нажатии на нее хочу вывести данные из окна в нужный fr_
в скрипте к данному окну пишу ваш экземпляр:

function btnOKOnClick(Control) {
   var ReportDataset = GetSingleItemByCode('ds_VisesInDetailPD', 'fr_FastReport');
var Columns = ReportDataset.SelectQuery.Items(0).Columns;
DisableAllColumns(Columns);
var FieldNames = new Array('Code', 'FilteredDatasetCode', 'FilterFormCode');
EnableColumnsByArray(Columns, true, FieldNames);
ApplyDatasetIDFilter(ReportDataset, ReportID, true);
ReportDataset.Open();
if (IsDatasetEmpty(ReportDataset)) {
return;
}
var ReportUSICode = ReportDataset.Values('Code');
var FilteredDatasetCode = ReportDataset.Values('FilteredDatasetCode');
var FilterFormCode = ReportDataset.Values('FilterFormCode');
var Report = Services.GetNewItemByUSI(ReportUSICode);
if (FilterFormCode) {
var FilterForm = Services.GetNewItemByUSI(FilterFormCode);
}
ShowReport(Report, FilterForm);	
}
 
 

Вместо ReportID в эту строку:
ApplyDatasetIDFilter(ReportDataset, ReportID, true);

Также у вас ошибка в строке:
var ReportDataset = GetSingleItemByCode('ds_VisesInDetailPD', 'fr_FastReport');

Название датасета должно быть 'ds_Report'!

function btnOKOnClick(Control) {
 
 var ReportDataset = GetSingleItemByCode('ds_Report', 'fr_FastReport');
var Columns = ReportDataset.SelectQuery.Items(0).Columns;
DisableAllColumns(Columns);
var FieldNames = new Array('Code', 'FilteredDatasetCode', 'FilterFormCode');
EnableColumnsByArray(Columns, true, FieldNames);
ApplyDatasetIDFilter(ReportDataset, '6D4B6990-859E-4A04-AE7B-F2B283FF6572', true);
ReportDataset.Open();
if (IsDatasetEmpty(ReportDataset)) {
return;
}
var ReportUSICode = ReportDataset.Values('Code');
var FilteredDatasetCode = ReportDataset.Values('FilteredDatasetCode');
var FilterFormCode = ReportDataset.Values('FilterFormCode');
var Report = Services.GetNewItemByUSI(ReportUSICode);
if (FilterFormCode) {
var FilterForm = Services.GetNewItemByUSI(FilterFormCode);
}
ShowReport(Report, FilterForm);	
}   

ошибка при выполнении, что только не пробовал...(

бросил фаст репорт, пытаюсь выгрузить данные из окна в excel, как выгрузить именно данные из определенного окна?
делаю так:

function btnOKOnClick(Control) {
    var StartRow = 4;
    var sq = Services.GetNewItemByUSI('sq_VisesInDetailPD');
 
    //var sq = Services.GetNewItemByUSI('wnd_VisesInDetailPDGridArea');
    var ds = sq.Open();
 
    var Excel = new ActiveXObject('Excel.Application');           
	var Excel_wb = Excel.Workbooks.Add();
	while(Excel_wb.Sheets.Count > 1)	{
		Excel.Sheets(1).Delete();
	}
	var Sheet = Excel.Sheets(1);
    Sheet.Name = 'Лист согласования';
    Sheet.Cells(StartRow,2).Value = 'Роль';
    Sheet.Cells(StartRow,3).Value = 'Сотрудник';
    Sheet.Cells(StartRow,4).Value = 'Дата';
    Sheet.Cells(StartRow,5).Value = 'Виза';
    Sheet.Cells(StartRow,6).Value = 'Комментарий';
    Sheet.Cells(StartRow,7).Value = '123';
    Sheet.Cells.VerticalAlignment = xlCenter;
    Sheet.Cells.HorizontalAlignment = xlCenter;
    Sheet.Cells.Font.Size = 10;
    Sheet.Columns(1).HorizontalAlignment = xlLeft
    Sheet.Cells(StartRow,1).ColumnWidth = 47.5;
    Sheet.Cells(StartRow,2).ColumnWidth = 17;
    Sheet.Cells(StartRow,3).ColumnWidth = 17;
    Sheet.Cells(StartRow,4).ColumnWidth = 17;
    Sheet.Cells(StartRow,5).ColumnWidth = 17;
    Sheet.Cells(StartRow,6).ColumnWidth = 17;
    Sheet.Cells(StartRow,7).ColumnWidth = 17;
 
    Sheet.Cells(StartRow,1).RowHeight = 38.25; 
    Sheet.Range(Sheet.Cells(StartRow,1),Sheet.Cells(StartRow,7)).Font.Bold = true;
    Sheet.Range(Sheet.Cells(StartRow,1),Sheet.Cells(StartRow,7)).WrapText = true;
    Sheet.Range(Sheet.Cells(StartRow,2),Sheet.Cells(StartRow,7)).Interior.Color = 13949932;
 
          var Line = StartRow+1;
   		Sheet.Cells(Line,2).Font.Bold = true;
   		Sheet.Cells(Line,2).HorizontalAlignment = xlCenter;
   		Sheet.Cells(Line,2).Interior.Color = 13949932;
 
	Sheet.Cells(Line,1).Value = ds('RoleName'); -- тут он мне выгружает данные из sq а не из wnd.. как выгрузить из wnd?
		Sheet.Cells(Line,2).Value = '';
		Sheet.Cells(Line,4).Value = '';
		Sheet.Cells(Line,5).Value = '';
 
 
 
          	ds.Close();	
    Excel.Visible = true;
  }

Здравствуйте!
По вашему последнему вопросу по Fast Report. Ошибка возникает потому, что в ваш скрипт нужно подключить скрипт, в котором реализована одна из используемых функций в вашем обработчике. Предполагаю, что это функция ShowReport(Report, FilterForm) она реализована scr_ReportUtils. Попробуйте подключить его в ваш скрипт.

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

Спасибо! FastReport стал открываться, но не так, как хотелось бы, поколдую..

Алла, о мой Бог, выручайте:)
ну никак не хочет отображать данные именно того окна, где кнопку сделал, фастрепорт открывается, но выводит мне все данные из этого раздела, а не именно из этого окна.

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

при нажатии на это:

открывается сразу fr_FastReport1 с десятками страниц данных, а должно быть только по 3 строкам соответственно, которые отображаются в окне над кнопкой.
вот по всей видимости неправильный fr_:

fastreport неправильный, да?

Проблема, как я и писала выше, заключается в том, что в отчете Fast Report вы используете датасет без фильтрации.
Если вам нужно в отчет выводить фильтуемые данные, тогда вместо функции ShowReport используйте ShowSelectedRecordsReport(ReportCode, FilteredDatasetCode, GridDatasetIDs), где
FilteredDatasetCode - это название вашего датасета ('ds_VisesInDetailPD')
GridDatasetIDs - это массив ID записей, которые должны отображаться в отчете.

а ReportCode что такое, сейчас ругается, что он не определен?

ReportCode - это код сервиса Вашего отчета (fr_FastReport1)

GridDatasetIDs - вставил для теста 1 ID из базы

 var ReportDataset = GetSingleItemByCode('ds_Report', 'fr_FastReport1');
var Columns = ReportDataset.SelectQuery.Items(0).Columns;
DisableAllColumns(Columns);
var FieldNames = new Array('Code', 'FilteredDatasetCode', 'FilterFormCode');
EnableColumnsByArray(Columns, true, FieldNames);
ApplyDatasetIDFilter(ReportDataset,'DEA4D1B1-6161-451B-8A32-FBB1248CD256',  true);
ReportDataset.Open();
if (IsDatasetEmpty(ReportDataset)) {
return;
}
var ReportUSICode = ReportDataset.Values('Code');
var FilteredDatasetCode = ReportDataset.Values('FilteredDatasetCode');
var FilterFormCode = ReportDataset.Values('FilterFormCode');
var Report = Services.GetNewItemByUSI(ReportUSICode);
if (FilterFormCode) {
var FilterForm = Services.GetNewItemByUSI(FilterFormCode);
}
ShowSelectedRecordsReport('fr_FastReport1', 'ds_VisesInDetailPD', '60E6526D-89EA-463C-869C-9016A20A767D');
} 

Вместе всего вышеописанного кода нужно написать:
ShowSelectedRecordsReport('fr_FastReport1', 'ds_VisesInDetailPD', ['60E6526D-89EA-463C-869C-9016A20A767D']);

последний рывок, о простите меня далекого...
как мне теперь нужный массив ID задать из открытого окна?

var GridDatasetIDs = GetArrayByCollection(DataGrid.SelectedIDs);
DataGrid - это название DataGrid'а в вашей карточке для грида [Согласование].

вы просто фея кодинга%)
Спасибище!
последний вопрос, сейчас открывает только 1 строчку данных, что отоброжается в окне , а не все, что есть в окне.
Надо цикл написать на проход колличества записей?
можно пример, если не трудно!
или как-то по другому?

все, СПАСИБО!!!!!ОГРОМНОЕ!!!!!!!!!!
Осталось только group header сделать, но это надеюсь разберусь уже!

Все получилось!
И это только благодаря вам, нет слов, СпасибО!

Отличная новость.
Спасибо за положительный фидбек! :smile:

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

Пытаюсь добавить пользователя в разделе Администрирование.
Проверяю, что такого нет (фильтр)
выбираю из ActiveDirectory, привязываю из Контактов.
Получаю ошибку "Такой есть".
Где копать?

Нравится

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

Попробовал воспроизвести, сообщение такое же, но лишний пользователь при этом есть.
Может, там в имени буква не в том алфавите используется? Скриншот слишком мутный, не видно.

Если ничего не выяснится, можно провести отладку в функции GetIsMemberNameExists в scr_Access.

Спасибо за ответ.
Буква в алфавите - исключено, выбор пользователя осуществялется диалогом AD, данные от туда. Да и глазами я весь список посмотрел - нету его там.
скрин https://yadi.sk/i/2JWrZxfjmKYVz
Отладку попробую.

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

Добрый день.

Используем в организации terrasoft 3.3.2.145, постепенно переводим наших сотрудников на 2013 офисный пакет и столкнулись с проблемой, что при попытке отправить претензию через Outlook 2013, он (Outlook) вылетает с ошибкой, хотя письмо все же уходит. Проблема не повторяется только в безопасном режиме, но что именно отключается в безопасном режиме и не мешает работе terrasoft пока не пойму.

При закрытии почты, terrasoft выдает такое сообщение:

Класс исключения: EOleException
Сообщение об ошибке: Компьютер удаленного сервера не существует или недоступен



СТЕК ВЫЗОВА
TSScript.TScript.ExecuteMethod (Line 1045, "TSScript.pas") ()
System.@CheckAutoResult ()
TSScriptableService.TScriptableService.ExecuteScriptMethod (Line 466, "..\..\ObjectLibraries\TSObjectLibrary\TSScriptableService.pas") ()
TSWindow.TWindow.ExecuteScriptMethod (Line 2273, "..\..\ObjectLibraries\TSWindowLibrary\TSWindow.pas") ()
TSObjectEventsDispatcher.TObjectEventsDispatcher.AttemptToExecuteScriptMethod (Line 355, "TSObjectEventsDispatcher.pas") ()
TSObjectEventsDispatcher.TObjectEventsDispatcher.Invoke (Line 671, "TSObjectEventsDispatcher.pas") ()
TSConnectionPoints.TConnectionPointDispatcher.Invoke (Line 577, "TSConnectionPoints.pas") ()
Comobj.DispatchInvokeError ()
Comobj.DispatchInvokeError ()
TSWindow.TWindow.DoClose (Line 2196, "..\..\ObjectLibraries\TSWindowLibrary\TSWindow.pas") ()
TSDskWindow.TDskWindow.DoClose (Line 899, "TSDskWindow.pas") ()
TSDskWindow.TInternalWindow.DoClose (Line 536, "TSDskWindow.pas") ()
Controls.TControl.WndProc ()
Controls.TWinControl.WndProc ()
TSDskWindow.TInternalWindow.WndProc (Line 426, "TSDskWindow.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.Win32Proc (Line 557, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.DefWin32Proc (Line 609, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
Controls.TWinControl.DefaultHandler ()
Forms.TCustomForm.WMSysCommand ()
Controls.TWinControl.WndProc ()
TSDskWindow.TInternalWindow.WndProc (Line 426, "TSDskWindow.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.Win32Proc (Line 557, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.DefWin32Proc (Line 609, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
Controls.TWinControl.DefaultHandler ()
Controls.TWinControl.WndProc ()
TSDskWindow.TInternalWindow.WndProc (Line 426, "TSDskWindow.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.Win32Proc (Line 557, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
Forms.TApplication.ProcessMessage ()
TSClient.TSClient (Line 131, "d:\Projects\TerrasoftCRM30\TerrasoftCRM\Src\Desktop\TSCRM\TSClient.dpr") ()

АКТИВНЫЕ ЭЛЕМЕНТЫ УПРАВЛЕНИЯ
tvMain (TTSCStringTree)
grdData (TfrmDataGrid)
wnd_AccountClaimsGridArea (TInternalWindow)
pgClaims (TInternalPage)
pcDetails (TInternalPages)
fmClient (TTSCPanel)
wnd_AccountsWorkspaceTInternalFrameSetC7680CC9F1624A9BB84C5CE4BAFEBDC5 (TInternalFrameSet)
wnd_AccountsWorkspace (TInternalWindow)
wnd_Main (TInternalWindow)

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

Через дебаг проверил, что почта вылетает на этом моменте:

function SendMailMessageToResponsibleDeparment(Dataset)
{
        var compName = Dataset.ValAsStr('AccountName');
        var todayDate = DateToStr(GetLocalDate());
    var claimsMaxDate=DateToStr(Dataset.ValAsDateTime('MaxEndingDate'));
        var claimsNumber =  Dataset.ValAsInt('Number');
        var cretedEmployeName =  GetContactNameByID(Connector.CurrentUser.ContactID);
        EmailDescriptionRichDataControl.DatasetLink.Dataset.Open();
        debugger;
        var cliemsTest = System.RTFToText(EmailDescriptionRichDataControl.DataField);
        if(cliemsTest == '' || cliemsTest == null) cliemsTest = dlData.Dataset.ValAsStr('ProblemDescription');
        var bodyMess = FormatStr('текст сообщения',todayDate,compName,claimsNumber,cretedEmployeName,claimsMaxDate,cliemsTest);
    var mailAdres = GetDepartmentManagersEmail(Dataset.ValAsGUID('ResponsibleDivision'));
    mailAdres.Mail[mailAdres.Mail.length] = "mail address";
    debugger;
   
    SendEmail({Address: mailAdres.Mail,
                Subject: FormatStr("Тема письма",compName),Body: bodyMess,AutoSend: true,SendImmediately: true,
                BodyFormat: 1});
}

А именно при попытке отправки письма:

  SendEmail({Address: mailAdres.Mail,
                Subject: FormatStr("Тема письма",compName),Body: bodyMess,AutoSend: true,SendImmediately: true,
                BodyFormat: 1});

Или же вызове следующей функции:

function GetContactMailForID(ContactID)
{    
        return GetContactMail(GetContactInfo(ContactID));      
}

function GetContactTitle(ContactDataset)
{
debugger;
   if(ContactDataset.State == dstInactive)
                    ContactDataset.Open();
        if(ContactDataset.ValIsNull('JobID'))
                return '';
        var jobID = ContactDataset.ValAsGUID('JobID');
        var jobDS = Services.GetNewItemByUSI('Contacts\\Dictionaries\\Job\\ds_Job');
        ApplyDatasetFilter(jobDS, 'ID', jobID, true);
        jobDS.Open();
        var res = jobDS.ValAsStr('Name');
        jobDS.Close();
        return res;
}

После того, как скрипт отработает, почта закрывается и создается новое сообщение.

Нравится

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

Попробовал еще запускать Outlook в разных безопасных режимах:

/safe

Starts Outlook without the Reading Pane or toolbar customizations. Both native and managed Component Object Model (COM) add-ins are turned off.

/safe:3

Both native and managed Component Object Model (COM) add-ins are turned off.

Я так и не понял, как Outlook отключает add-ins, если после запуска почты они все равно работают. Возможно он отключает какие-то записи отдельные в реестре.

Добрый день!
Трудно сказать в чем может быть причина, ведь Outlook 2013 гораздо старше 3.3.2. Вопрос с Office 2013 полностью решен в 3.4.1. Можете попробовать продебажить метод SendEMail (находится в scr_MailUtils) и определить в какой момент происходит свал

"Артем Гура" написал:

Добрый день!

Трудно сказать в чем может быть причина, ведь Outlook 2013 гораздо старше 3.3.2. Вопрос с Office 2013 полностью решен в 3.4.1. Можете попробовать продебажить метод SendEMail (находится в scr_MailUtils) и определить в какой момент происходит свал

Прошу прощения за долгий ответ.

А нет ли возможности скачать версию 3.4.1? Найти ее к сожалению не смог. Или она только под заказ доступна? И нужно ли будет переделывать что-то со стороны серверной части?

Добрый день!

По вопросам приобретения продукта Вам необходимо обращаться к ответственному менеджеру.

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

работаю с комплектацией. Достаточно интересный подход. Непонятно только откуда берутся данные по цене и сумме. Подскажите как с ней (комплектацией) работать

Нравится

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

Об этом можно почитать в инструкции на стр 196.

посібник не дає відповіді на питання. Для коректного формування вартості продукту має сумуватись сума всіх матеріалів і запчастин, з яких він складається. Чому сума продутів в розділі комплектація на прикріплених фото є нульовою . Робився прихід по цим продуктам, суму не витягуєі відповідно я не можу перерахувати вартість самого продукта

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

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

Добрый день!

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

с ошибкой

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

Работа востановилась довольно быстро, после перезагрузги программы.

Хотелось бы выяснить, была ли это внутренняя ошибка террасофт (тогда, что могло стать причиной)?
Или например ошибка была на сервере, а террасофт на нее так среагировал?

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

Нравится

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

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

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

Пожалуйста, помогите решить проблему!
Кнопка "Отложить напоминания" перестает работать в разделах Контакты\Контрагенты если делаешь переход в какой-либо другой раздел и потом возвращаешься обратно в этот раздел (Контакты или Контрагенты). Т.е. , например, если сделаешь переход из раздела Контрагенты в Контакты и возвращаешься обратно то уже невозможно отложить время напоминания для какого-либо контрагента.
Сколько кнопку не жми и какие интервалы не выставляй время напоминания остается тем же.

Если после загрузки приложения работать только в одном разделе (Контакты или Контрагенты) без переходов в другие разделы и возвращений в раздел,
то кнопка Отложить работает прекрасно.
Кстати, иногда, кнопка вообще становится неактивной. Это также связано с переходами.

[Используем Консультанты и Тренеры 3.2.0.87 (Лабитек).]
C уважением,
Станислав

Нравится

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

Добрый день.
Пробовали обращаться в поддержку Лабитек, ведь это ихнее отраслевое решение, а не базовый продукт Terrasoft.

Да, но разве в базовом продукте не было напоминаний? Лабитек ведь не с нуля его делал.

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

Лабитек ответил что больше не работает с компанией Terrasoft.

В таком случае я бы Вам рекомендовал обратиться к менеджеру Terrasoft, если не знаете своего менеджера, то с этим вопросом можете обратиться в службу поддержки Terrasoft по e-mail: support@terrasoft.ru.
В данном случае тяжело сказать в чем причина такого поведения приложения, ведь в базовой линейки продуктов Terrasoft, такой проблемы не наблюдалось.
Для решения подобных проблем необходим доступ к конфигурации

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

Добрый день.

Можно ли сделать так, чтобы в Terrasoft загрузилась копия письма, раннее уже интегрированного в него?

Наша версия 3.4.0.х

Нравится

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

Да, можно.
Вам необходимо будет подкорректировать функцию SaveMailItem в сервисе scr_MSOutlookLibrary

Спасибо, посмотрим))

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

Подскажите, пожалуйста, как можно избавиться от пустых строк, повторений оглавления и разрыва страниц при выгрузки отчета из FastReport в Excel?

Нравится

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