Вопрос

Добрый день!

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

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

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

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);

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

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

Всем доброго времени суток.
Версия 7.11.

В карточке можно управлять видимостью колонок в зависимости от значения некоторой из колонок объекта. К примеру, в карточке контрагента можно настроить видимость колонок таким образом, что колонки будут отображаться только в случае, если значение колонки Owner равно текущему контакту пользователя, либо текущий пользователь относится к роли системных администраторов. Для этого необходимо добавить bind видимости колонки на значение виртуальной колонки.

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

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

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

Добрый день. А администрирование по полям эту задачу не решают?

Иванов Александр А.,

... ну да, получается, что определённые колонки должен видеть только owner... правами надо заморочиться, чтобы такое сделать... к примеру прицепить событийный процесс "Перед сохранением", в котором пользователю из колонки Owner раздать права на чтение колонок, а остальным как-то запретить. Не доводилось подобных задач решать, но, может, как вариант...

 

Добрый день!

Если я правильно понял вопрос, то можно попробовать вклиниться в формирование грида (onGridDataLoaded в GridUtilitiesV2) и кодом делать соответствующие проверки и не показывать ненужные колонки.

Тёскин Дмитрий Валерьевич,

не помогло, к сожалению. Разобрал onGridDataLoaded и связанные функции, как я понял непосредственно генерация таблицы происходит в

addItemsToGridData, то есть в gridData.loadAll(dataCollection, options);

Для примера перед этим в prepareResponseCollectionItem там, где происходит перебор всей коллекции, добавляю

 if (!item.values.Address){
                    item.values.Address = "test";
                }

Просто ради теста. То есть если у меня колонка Адрес (выведена на страницу) пустая, то должно быть отображена строка "test". Это намного проще даже, чем проверка id пользователей.

И всё равно ничего не происходит - на странице загружаются по прежнему пустые блоки (и адреса, если они заполнены). При этом если вывести console.log(dataCollection); уже внутри addItemsToGridData, то есть непосредственно перед генерацией, там будут мои правки.

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

В рамках конкурса для аналитиков и разработчиков на лучшую бесплатную настройку или расширение для bpm'online хочу предложить решение, которое поможет небольшим компаниям бесплатно закрыть задачи по созданию небольших бизнес-процессов по обслуживанию. А крупным компаниям - оперативно реагировать на появление новых запросов от клиентов по обслуживанию.

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

Ссылка на Marketplace  https://marketplace.terrasoft.ru/template/sozdanie-shablonnogo-nabora-z…

Для оперативного реагирования на развитие и изменение процессов компании создан механизм "Создание шаблонного набора задач".

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

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

 

Рекомендую использовать наше решение для усовершенствования работ по Вашему процессу.

Поделиться

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

Спасибо, отличное решение!

bill gate,

Спасибо, работаем ради интересов Заказчиков. 

Радуем Клиентов качеством услуг и отношением

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