Установка 1С на Linux

В последнее время наблюдается всё большее упрощение процесса установки 1С под linux. Тут и готовый пакет СУБД от postgrespro.ru (конечно жи, можно использовать и др. СУБД), и единый установочный файл от фирмы 1С. Всё что ниже, это моя таблетка для памяти, описывающая основные шаги, необходимые для использования 1С под Linux … Далее

Установка сервера 1с 8.3.16.1063 + postgres pro 12 на linux debian 9.5

Установка производилась на чистый свежеустановленный, без графической оболочки debian 9.5. Каталог var вынесен на отдельный рейд (в /var/lib/pgpro/ хранятся базы данных). Далее

Программная настройка СКД и вывод в таблицу или дерево значений

/// Запускается «ПриСоздании на сервере Функция УстановитьНастройкиСервис() СКД = Отчеты.Выработка.ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»); Поле = СКД.ВычисляемыеПоля.Добавить(); Поле.ПутьКДанным = «ЗаказНаряд.payer»; Поле.Заголовок = «payer»; Поле.Выражение = «Выбор | Когда ЗаказНаряд.ВидРемонта.КодВыгрузки = «»КР»» |Тогда «»Клиент»» |Иначе «»»» |Конец»; Поле = СКД.ВычисляемыеПоля.Добавить(); Поле.ПутьКДанным = «ЗаказНаряд.product_type»; Поле.Заголовок = «product_type»; Поле.Выражение = «Выбор | Когда ЗаказНаряд.ВидРемонта.КодВыгрузки = «»КР»» |Тогда … Далее

Динамическое изменение размеров панелей (управление видимостью)

Видимость = НЕ Видимость; Если Видимость Тогда //если нужно показать текущую панель //Привяжем верхнюю границу следующей панели к нижней границе разделителя ЭлементыФормы.ПанельВопроса2.УстановитьПривязку(ГраницаЭлементаУправления.Верх,ЭлементыФормы.Р1, ГраницаЭлементаУправления.Низ); //Развернем текущую панель и разделитель ЭлементыФормы.ПанельВопроса1.Свертка = РежимСверткиЭлементаУправления.Нет; ЭлементыФормы.Р1.Свертка = РежимСверткиЭлементаУправления.Нет; //Привяжем нижнюю границу текущей панели к верхней границе разделителя ЭлементыФормы.ПанельВопроса1.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлементыФормы.Р1,ГраницаЭлементаУправления.Верх); Иначе //если нужно спрятать текущую панель … Далее

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

При выгрузке данных табличных частей бывает необходимо проанализировать некоторое поле табличной части для заполнения другого поля. Для этого в алгоритме можно обратится к переменной ОбъектКоллекции в которой доступны все поля строки. Т = СоздатьОбъект(«ТаблицаЗначений»); Т.НоваяКолонка(«Код»); Т.НоваяКолонка(«Наименование»); Т.НоваяСтрока(); Если ОбъектКоллекции.ВидРасчета = «Оклад» Тогда Т.Код = «00001»; Т.Наименование = «Оклад»; ИначеЕсли ОбъектКоллекции.ВидРасчета … Далее

Перенос данных из базы с поврежденными таблицами

У клиента что то произошло с жестким диском, что потребовало восстановления данных на нем. Базу 1С вроде бы сохранили, и она даже открылась. Однако при попытке доступа к документу «Платежный ордер списание денежных средств» база вылетает с ошибкой. Ошибка СУБД: Ошибка SQL: Таблица не найдена ‘_Document151_VT3126’ по причине: Ошибка SQL: … Далее

Получить менеджер объекта по ссылке

//Функция получает менеджер объект по ссылке на него. Функция МенеджерОбъектаПоСсылке(Ссылка) Экспорт ИмяОбъекта = Ссылка.Метаданные().Имя; ТипСсылки = ТипЗнч(Ссылка); Если Справочники.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда Возврат Справочники[ИмяОбъекта]; ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда Возврат Документы[ИмяОбъекта]; ИначеЕсли БизнесПроцессы.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда Возврат БизнесПроцессы[ИмяОбъекта]; ИначеЕсли ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда Возврат ПланыВидовХарактеристик[ИмяОбъекта]; ИначеЕсли ПланыСчетов.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда Возврат ПланыСчетов[ИмяОбъекта]; ИначеЕсли ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда Возврат ПланыВидовРасчета[ИмяОбъекта]; ИначеЕсли Задачи.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда … Далее

Сервер 1С зависает

При длительной работе сервера 1С рабочие процессы (rphost.exe) начинает зависать, тормозя при этом работу всего сервера. Это связано с различными причинами (большие запросы, оборванные пользовательские сеансы) Для того, что бы «распухшие» сеансы не затрудняли работу необходимо настроить кластер 1С на перезапуска рабочих процессов. Перезапуск осуществляется следующим образом: Создается новый процесс … Далее

Результат запроса в дерево значений на форме обычного приложения

Иногда бывает необходимо просто выгрузить результат запроса на форму без какой либо обработки

Делается это с помощью следующей строки:

ЭлементыФормы.ТабПоле.Значение = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

Однако после этого данные на форме не отобразятся, и для того, что бы их стало видно нужно выполнить следующее:

ЭлементыФормы.ТабПоле.СоздатьКолонки();

Если в запросе есть итоги и выгрузка производится по группировкам, то на форме тип значения поля должен быть «ДеревоЗначений»
В противном случае — «ТаблицаЗначений»