Вопрос

Добрый день!

Как можно быстро убрать всех старых сотрудников из ответственных в записях разных разделов? При попытке удалить пользователя из системы выдает сообщение "Выбранного пользователя удалить невозможно, так как он используется в других объектах." Пробовал процессами переназначать ответственного в различных разделах, но все равно выдает данное сообщение. 

+ При попытке через @ указать сотрудника в сообщении ленты также выдает уволенных сотрудников.

У меня такой же вопрос

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

Пытаюсь соедениться с 1С, вот код:

namespace Terrasoft.Configuration.ImportAllAccountsService
{
    using System;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    using System.ServiceModel.Activation;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Data;
    using Terrasoft.Common;
    using Terrasoft.Core;
    using Terrasoft.Core.DB;
    using Terrasoft.Core.Entities;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System.CodeDom.Compiler;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Web;
    using Terrasoft.Core.Packages;
    using Terrasoft.Core.Factories;
    using V83;
    
    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class ImportAllAccountsService
    {

        [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
        ResponseFormat = WebMessageFormat.Json)]
        public string ImportAllAccounts()
        {
            COMConnector comConnector = new COMConnector();
            return "Import complite1!!!";
            dynamic connection = comConnector.Connect(@"File='D:\1С-Install\FOP NEW';Usr='xxx';Pwd='yyy'");
            return "Import complite2!!!";
            dynamic dataArray1C = connection.Справочники.Контрагенты.Выбрать();
            return "Import complite3!!!";
            while (dataArray1C.Следующий == true)
            {
                return (string)dataArray1C.Наименование;
            }
        }
    }
}

в обычном проэкте в студии - работает, тут вылетает уже на строке  COMConnector comConnector = new COMConnector();

У меня такой же вопрос

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос
var someData = "123"; //Как передать эту переменную в процесс?
 
var args = {
              sysProcessName: "UsrProcess34",
           };
            // Запуск пользовательского бизнес-процесса.
           ProcessModuleUtilities.executeProcess(args);

 

У меня такой же вопрос

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

Роман, привет!

Добавь объект parameters в свой объект args.

                        processArgs = {
                            sysProcessName: "Process1",
                            parameters: {
                                Contact: ContactId
                            }
                        };
                        ProcessModuleUtilities.executeProcess(processArgs);

Спасибо за ответ, все получилось

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

Настроил конфиг файлы Service, Scheduler, Worker.

 

При попытке AddSite получаю ошибку веб приложения Service. не подключилось подключиться к базе SQLLite.

Где настройка этой базы идет? 

 

 

У меня такой же вопрос

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

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

1. Web.config. То, что красным - закомментить, зеленым - раскомментить.

2. ConnectionStrings.config​ <add name="ConnectionDb" connectionString="ПОЛНЫЙ ПУТЬ к БИНАРЯМ\GlobalSearch.db"/>

В IIS нажать browse и бд GlobalSearch​ будет создана автоматом.

 

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

Подскажите как в отчете Word реализовать что бы сумма была прописью

У меня такой же вопрос

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

Реализуйте VIEW, который возвращает сумму и используйте его в отчете

скажите пожалуйста, а как его использовать

1) В базе данных bpm'online есть Scalar-value functions "tsp_nonbox_NumberToCurrency" и "tsp_nonbox_NumberToPhrase" - они конвертируют цифры в слова. Если необходимы другие языки или валюты, можно их модифицировать.
2) Необходимо сделать View с выборкой из таблицы Invoice (или другой, где хранится ваша сумма).

Можно добавить в этот View все данные, которые нужны в отчете

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

CREATE VIEW [dbo].[UsrVwInvoiceAmount]
AS
SELECT [Invoice].[Id] AS [Id],
        [Invoice].[Id] AS [UsrInvoiceId],
        [Invoice].[Number] As [UsrInvoiceName],
        [Invoice].CreatedOn, 
        [Invoice].CreatedById, 
        [Invoice].ModifiedOn,
        [Invoice].ModifiedById,
       [Invoice].[Amount] AS [UsrAmount],
       [Invoice].[PrimaryAmount] AS [UsrPrimaryAmount]               
       dbo.tsp_nonbox_NumberToCurrency([Amount],'EUR','LV',0) AS [UsrAmountText],
       dbo.tsp_nonbox_NumberToCurrency([Amount],'EUR','EN',0) AS [UsrAmountTextEN],
       dbo.tsp_nonbox_NumberToCurrency([PrimaryAmount],'EUR','LV',0) AS [UsrPrimaryAmountText],
       dbo.tsp_nonbox_NumberToCurrency([PrimaryAmount],'EUR','EN',0) AS [UsrPrimaryAmountTextEN]
     
FROM  [Invoice]
 

2) В bpm'online создаете объект на основе этого VIEW:

3) Создать отчет на основе этого объекта или подключить этот объект к отчету на основе Invoice

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

Здравствуйте, подскажите как вытянуть данные из модального окна.
Программно вызываю открытие модального окна(Контрагенты).
Задача: по клику на элемент, вернуть данные(Например "название" или "ID") в вызывающий код.
Вот мой код:
 

//Выводим модальное окно
viewModal:function(){
var config = {
                    entitySchemaName: "Account",
                     multiSelect: false,
                     columns: ["Name","UsrINN"],
                     hideActions: false,//Скрываем кнопку "Добавить"
                     filters: contactFiler
                    };
               this.openLookup(config, this.myCallBack, this);
},
 
//Колбэк
 myCallBack:function(args){
 
                 args.???????????????????????????????(Что должно быть здесь?)
                 this.showInformationDialog("Callback");
  }

 

У меня такой же вопрос

2 комментария
myCallBack:function(args){
   debugger;
   //args.???????????????????????????????(Что должно быть здесь?)
   this.showInformationDialog("Callback");
}

Вы пишете дебаггер, открываете консоль(f12), ресстартите с кешем страницу, открываете ваше модальное окно(консоль всё ещё открыта), нажимате кнопку выбрать и тут выполнение кода должно приотстановиться. и уже через консоль смотрите какие переменные, что в них и т.п
По теме: в args вроде как хранится коллекция selectedRows, её уже перебирать через terrasoft.each

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

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

Вызывая из кода модальное окно (скажем раздела Контрагенты), есть ли возможность в вызывающий код вернуть информацию кол-ве отображенных элементов?

И это делается только запросом к БД?

У меня такой же вопрос

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

sandbox-ом можно попробовать

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

Всем привет, есть ли возможность скрыть контейнер элементов.

Сейчас приходится удалять каждую кнопку по отдельность

Если есть то подскажите как

У меня такой же вопрос

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

а разве проставление контейнеру visible: false не помогает?

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

как программно посчитать общую стоимость из детали продукты по колонке стоимость.

В самой детали программно рассчитала стоимость.

У меня такой же вопрос

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

Добрый день, Алёна!

Детализируйте, пожалуйста, свой запрос, так как из описания не совсем понятна суть. Вы уже сделали пересчет в детали и теперь хотите данное значение видеть в отдельном поле карточки? В таком случае вопрос решаем через бизнес-процесс элементами чтение данных и добавление данных. Если же речь о том, что нужно рассчитать стоимость на основании поля в детали (+ еще др. полей), то в таком случае можно использовать элемент "Формула" или воспользоваться инструкцией по добавлению вычисляемых полей полями https://academy.terrasoft.ua/documents/technic-sdk/7-11/dobavlenie-vych…

Адасюк Валерий Викторович,

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

Никульшина Алёна,

Если я правильно понял, то у вас необходимо отображать общую стоимость всех продуктов, которые привязаны к счету. В этом случае вам надо добавить поле к счету для хранения общей стоимости и обновлять его значение каждый раз, когда происходит изменения по продуктам в детали. И уже значение этого поля отображать в реестре секции по счетам. А вот как "правильно" обновлять такой тотал - это вопрос к бизнес логике. Это может быть в момент изменения перечня продуктов в самой детали и отталкиваться от прайса на момент изменения в самой детали. Либо это может быть некий бизнес процесс, который будет производить перерасчеты и изменять тотал в счетах. Например, когда вы решили изменить прайс по продукту и хотите, чтобы во всех счетах, которые неоплачены в течение трех дней, произвелись перерасчеты стоимости по каждому продукту и соответственно тотал по счету.

Максим Цынгаев,

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

 

Никульшина Алёна,

У вас БП отрабатывает асинхронно и после его выполнения (т.е. в callback) надо кидать событие. На карточке редактирования ловить это событие и применять обновление по общей суммы. Еще, как вариант, в определении детали на странице редактирования сделать подписку на изменения детали и там уже отрабатывать БП, а внутри callback вызова БП обновлять значение общей суммы.

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

Добрый день!
Создала новый раздел с помощью Мастера разделов. При попытки сохранить запись в данном разделе ошибка:
The INSERT statement conflicted with the FOREIGN KEY constraint "FKWhoMIsUKnucr4tSOkBKuS3QHIo". The conflict occurred in database "013442-sales-enterprise", table "dbo.Contact", column 'Id'. The statement has been terminated.

 

Что я сделала не так? где и что требуется исправить? подскажите, пожалуйста!
 

У меня такой же вопрос

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

Добрый день!

Судя по ошибке, у Вас в созданном разделе присутствует справочное поле которое ссылается на объект "Контакт" и в это справочное поле Вы добавляете идентификатор не существующего контакта. 

Для решения этой проблемы, обратитесь в техническую поддержку по адресу support@terrasoft.ru.

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