• Какая CRM система подходит для строительного бизнеса?

    ColorCast
    @ColorCast Автор вопроса
    Человек атомоход
    По итогу изысканий понял:
    - из коробки ничего не получится,
    - на доработки и интеграции требуется в среднем полтора миллиона,
    - даже после всех интеграций и доработок придется постоянно интегрироваться в правовое поле,
    - в моем случае система экономила мне меньше чем фактически потребовалось на сопровождение,
    - принято решение отказаться от фронтэнда в пользу локальной системы,
    - прототип буду накидовать в ближайшее время, ориентируясь на + ОФД.
    В перспективе должно стать коммерческим проектом на территории РФ.
    Ответ написан
    Комментировать
  • Как правильно лицензировать 1С на терминальном сервере?

    ColorCast
    @ColorCast
    Человек атомоход
    У нас многопользовательская лицензия и мы решили перенести ее на терминальный сервер. В итоге одновременно может работать только дин пользователь. При попытке запуска «1С:Предприятие» 8.3 выдается следующее сообщение:
    5cce1ea86fb2a797557125.jpeg
    Но в режиме конфигуратора можно открыть несколько экземпляров под каждым пользователем.
    Я написал в ТП и суммарно получил следующий ответ:
    Клиентские лицензии бывают:
    - Однопользовательские — позволяют запускать произвольное количество экземпляров приложения на одном компьютере в рамках одной сессии Windows.
    - Многопользовательские — позволяют запускать не более определенного количества экземпляров программы с произвольных компьютеров. Количество одновременно запущенных клиентских приложений определяется номиналом лицензии – одна лицензия на сессию.
    Для активации доступны оба типа лицензий. При первой активации определяется способ лицензирования поэтому конечный тип активируемых лицензии зависит от типа активации первой лицензии. Если первой активируется однопользовательская лицензия, то в дальнейшем активация многопользовательской лицензии становится невозможной и наоборот.
    При активации на рабочей станции распределением лицензий управляет сервер «1С:Предприятие»; при активации на терминальном сервере распределением лицензий управляет менеджер терминальных подключений из расчета одно подключение – одна лицензия.
    В независимости от типа клиентской лицензии будет одна лицензия на сессию.
    Ответ написан
    Комментировать
  • Какие есть современные альтернативы FoxPro?

    ColorCast
    @ColorCast
    Человек атомоход
    Самый близкий по юзабилити к VPF 9 будет DataFlex (https://www.dataaccess.com). В нем так-же есть конструктор форм и отчетов. MS Access с его средой и языком разработки оставлю для мазахистов. Отладить в нем будет котастрофичный гемор, кастомизировать вид формы тоже.
    Ответ написан
    Комментировать
  • Как полностью удалить следы установки Visual Studio Pro 2013, чтобы установить community?

    ColorCast
    @ColorCast
    Человек атомоход
    Решал аналогичную проблему при переходе с 2012 с помощью точек восстановления, потом снимками реестра.
    Сейчас снимков нет и проблема в следующем:
    e19e0613b32745bb9e8b417195444035.jpg

    Она смотрит в реестр и видит зависимости, поэтому не ставится. Пока ищу решение.
    Ответ написан
    2 комментария
  • Как сделать хитрую выборку из БД?

    ColorCast
    @ColorCast
    Человек атомоход
    У меня была задача связанная с криптозащитой, пришлось писать свой рандом, потому что существующая функция имеет приличную кучность.
    Суть алгоритма основывается на получение списка ID записей и еще оного столбца для хеша фиксированной длинны. Далее генериться случайный хеш и сравнивается по весовому совпадению с хешами контрольных записей. Остаются хеши с одинаковыми весами. Для них снова генерим произвольный хеш и сравниваем. Так до тех пор пока не останется одно значение. Далее получаем запись по ID.
    Ответ написан
    1 комментарий
  • Почему не выводит данные с таблицы?

    ColorCast
    @ColorCast
    Человек атомоход
    Проверьте:
    • Выполняется ли запрос
    • Получите count возвращенной коллекции и выкинте Exception, если он меньше ожидаемого значения
    • Обработайте исключительные ситуации в цикле (на беглый взгляд, дракон прячется там)
    Ответ написан
    Комментировать
  • Как сделать чтобы программа возвращалась в начало?

    ColorCast
    @ColorCast
    Человек атомоход
    1. Определить условия входа и выхода.
    2. Перефразировать задачу.
    3. Использовать рекурсию или циклы.
    4. Отказаться от использования меток.
    Ответ написан
    Комментировать
  • C# Перехват вывода запущенного консольного приложения

    ColorCast
    @ColorCast
    Человек атомоход
    Делается все через переадресацию потока вывода в String
    public  class CommandHelpers
        {
            public CommandHelpers()
            {
                Invisible = true; // При переадресации утилита должна быть скрыта
            }
    
    public bool Invisible { get; set; }
    
    private Process CreateProcess(string commandName, IEnumerable<string> paramsList, bool output = false)
            {
                string paramString = paramsList.Aggregate<string, string>(null,
                    (current, param) => current + " " + param);
                return new Process
                {
                    StartInfo =
                    {
                        FileName = commandName, // полный путь до инстансыруемого приложения
                        Arguments = paramString, // сюда передаются аргументы командной строки
                        UseShellExecute = output ? !output : !Invisible, // Параметр отвечает за фоновое выполнение
                        RedirectStandardOutput = output // Параметр отвечает за переадресацию
                    }
                };
            }
    		/// <summary>
            ///     Returns result of command execution
            /// </summary>
            /// <param name="commandName">Command name only</param>
            /// <param name="paramsList">Params and keys for command</param>
            /// <returns></returns>
            public string GetResult(string commandName, IEnumerable<string> paramsList)
            {
                var bufer = new StringBuilder();
                using (var proc = CreateProcess(commandName, paramsList, true))
                {
                    proc.Start(); // инстансыруемся
                    while (!proc.StandardOutput.EndOfStream)
                    {
                        bufer.AppendLine(proc.StandardOutput.ReadLine()); // пишем в буфер
                    }
                }
                return bufer.ToString();
            }
    	}
    Ответ написан
    Комментировать