Узнать место на диске в 1С 8.3
👉@DevLab1C
Функция ПолучитьМестоНаДиске(Диск) Экспорт // Диск - строка - "d:\"
СистемнаяИнфо = Новый СистемнаяИнформация;
ТипПлатформы = СистемнаяИнфо.ТипПлатформы;
Если ТипПлатформы = ТипПлатформы.Windows_x86
Или ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
СкриптФСО = Новый COMОбъект("Scripting.FileSystemObject");
МестоНаДиске = Окр(Число(СкриптФСО.getDrive(СкриптФСО.GetDriveName(Диск)).freeSpace())/1024/1024, 2);
Возврат МестоНаДиске;
Иначе
//Сообщить("Данная функция поддерживается только в ОС Windows");
Возврат Неопределено;
КонецЕсли;
КонецФункции
👉@DevLab1C
🔥2👍1
Получить каталог информационной базы данных в 1С 8.3
👉@DevLab1C
&НаКлиенте
Функция ПолучитьКаталогИБ()// аналог предопределенной КаталогИБ() в 1C 7.7
СтрокаИБ = СтрокаСоединенияИнформационнойБазы(); //File="D:\Base".
//Возвращает Строка соединения информационной базы, которую, например,
//можно использовать для запуска 1С:Предприятия средствами встроенного языка
ПутьИБ = Найти(Врег(СтрокаИБ), "FILE=");
Если ПутьИБ = 1 тогда // Файловая информационная база 1С:Предприятия 8 (.1CD)
Возврат Сред(СтрокаИБ,7,СтрДлина(СтрокаИБ)-8)+"\"; // Получим D:\Base
Иначе// Серверная - Используем КаталогВременныхФайлов()
ПозицияПоиска = Найти(Врег(СтрокаИБ), "SRVR=");
Если ПозицияПоиска <> 1 Тогда
Возврат Неопределено;
КонецЕсли;
ПозицияТЧК_ЗПТ = Найти(СтрокаИБ, ";");
ПозСтарт = 6 + 1;
ПозФиниш = ПозицияТЧК_ЗПТ - 2; //
ИмяСервера = Сред(СтрокаИБ, ПозСтарт, ПозФиниш - ПозСтарт + 1);
СтрокаИБ = Сред(СтрокаИБ, ПозицияТЧК_ЗПТ + 1);
ПутьИБ = Найти(Врег(СтрокаИБ), "REF=");// позиция имени сервера
Если ПутьИБ <> 1 Тогда
Возврат Неопределено;
КонецЕсли;
ПозСтарт = 6;
ПозицияТЧК_ЗПТ = Найти(СтрокаИБ, ";");
ПозФиниш = ПозицияТЧК_ЗПТ - 2;
ИмяИБНаСервере = Сред(СтрокаИБ, ПозСтарт, ПозФиниш - ПозСтарт + 1);
ПутьКБД = ИмяСервера + "/ " + ИмяИБНаСервере; //ServerName: Server1C / information_base_name: Buh3
Сообщить("ИБ в серверном режиме: "+ПутьКБД);
Сообщить("Серверная база данных! Используем каталог временных файлов ("+СокрЛП(КаталогВременныхФайлов())+") !");
Возврат КаталогВременныхФайлов();
КонецЕсли;
КонецФункции
👉@DevLab1C
🔥2👍1
Узнать размер папки в 1С 8.3
👉@DevLab1C
&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьРазмерКаталога(ПутьККаталогу)
СистемнаяИнфо = Новый СистемнаяИнформация;
ТипПлатформы = СистемнаяИнфо.ТипПлатформы;
Если ТипПлатформы = ТипПлатформы.Windows_x86
Или ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
СкриптФСО = Новый COMОбъект("Scripting.FileSystemObject");
СвойстваКаталога = СкриптФСО.GetFolder(ПутьККаталогу);
Возврат СвойстваКаталога.Size;
Иначе
//Сообщить("Данная функция поддерживается только в ОС Windows");
Возврат Неопределено;
КонецЕсли;
КонецФункции
👉@DevLab1C
👍4
Копирование всех файлов из одного каталога в другой в 1С 8.3
👉@DevLab1C
Процедура СкопироватьФайлы(Знач КаталогИсточник, Знач КаталогПриемник)
Попытка
//Проверим и поправим окончания пути каталогов
Если Прав(КаталогИсточник, 1) <> "\" Тогда
КаталогИсточник = КаталогИсточник + "\";
КонецЕсли;
Если Прав(КаталогПриемник, 1) <> "\" Тогда
КаталогПриемник = КаталогПриемник + "\";
КонецЕсли;
//Создадим каталог приемник
СоздатьКаталог(КаталогПриемник);
МассивФайлов = НайтиФайлы(КаталогИсточник, "*.*", Истина);
Для Каждого Файл Из МассивФайлов Цикл
ПолноеИмяИсточник = Файл.ПолноеИмя;
ПолноеИмяПриемник = КаталогПриемник + СтрЗаменить(Файл.ПолноеИмя, КаталогИсточник, "");
Если ПустаяСтрока(Файл.Расширение) Тогда
СоздатьКаталог(ПолноеИмяПриемник);
Иначе
КопироватьФайл(ПолноеИмяИсточник, ПолноеИмяПриемник);
КонецЕсли;
КонецЦикла;
Исключение
ИнфоОбОшибке = "Ошибка при копировании: " + ОписаниеОшибки()
+ " (из каталога: " + КаталогИсточник
+ "; в каталог: " + КаталогПриемник + ")";
Если ВыдаватьСообщения Тогда
Сообщить(ИнфоОбОшибке);
Иначе
Предупреждение(ИнфоОбОшибке);
КонецЕсли;
КонецПопытки;
КонецПроцедуры
👉@DevLab1C
🔥2❤1👍1
Асинхронное копирование всех файлов из одного каталога в другой в 1С 8.3
👉@DevLab1C
Асинх Процедура СкопироватьФайлыАсинх(Знач КаталогИсточник, Знач КаталогПриемник)
КаталогПриемник = Новый Файл(КаталогПриемник);
Если Не Ждать КаталогПриемник.СуществуетАсинх() Тогда
Ждать СоздатьКаталогАсинх(КаталогПриемник.ПолноеИмя);
КонецЕсли;
МассивФайлов = Ждать НайтиФайлыАсинх(КаталогИсточник, "*.*", Ложь);
Для Каждого Файл Из МассивФайлов Цикл
ПолноеИмяПриемника = КаталогПриемник.ПолноеИмя + "\" + Файл.Имя;
Если Файл.ЭтоКаталог() Тогда
СкопироватьФайлы(Файл.ПолноеИмя, ПолноеИмяПриемника);
Иначе
Ждать КопироватьФайлАсинх(Файл.ПолноеИмя, ПолноеИмяПриемника);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
👉@DevLab1C
🔥3👍1
Пример копирования (перемещения) файлов из одного каталога в другой в 1С 8.3
👉@DevLab1C
Процедура СкопироватьПереместитьКаталог(ИмяФайлаИсточник, ИмяФайлаПриемник, Переместить = Ложь)
Если Прав(ИмяФайлаИсточник, 1) <> "\" Тогда
ИмяФайлаИсточник = ИмяФайлаИсточник + "\";
КонецЕсли;
Файл = Новый Файл(ИмяФайлаПриемник);
ИмяФайлаИсточник = ИмяФайлаИсточник + Файл.Имя;
СоздатьКаталог(ИмяФайлаИсточник);
Если Прав(ИмяФайлаИсточник, 1) <> "\" Тогда
ИмяФайлаИсточник = ИмяФайлаИсточник + "\";
КонецЕсли;
Для Каждого Файлы Из НайтиФайлы(ИмяФайлаПриемник, "*.*", Истина) Цикл
Если Файлы.ЭтоКаталог() Тогда
СоздатьКаталог(СтрЗаменить(Файлы.ПолноеИмя, ИмяФайлаПриемник, ИмяФайлаИсточник));
Продолжить;
Иначе
КаталогПереносимогоФайла = Новый Файл(СтрЗаменить(Файлы.Путь, ИмяФайлаПриемник, ИмяФайлаИсточник));
Если НЕ КаталогПереносимогоФайла.Существует() Тогда
СоздатьКаталог(КаталогПереносимогоФайла.ПолноеИмя);
КонецЕсли;
Если Переместить Тогда
ПереместитьФайл(Файлы.ПолноеИмя, СтрЗаменить(Файлы.ПолноеИмя, ИмяФайлаПриемник, ИмяФайлаИсточник));
Иначе
КопироватьФайл(Файлы.ПолноеИмя, СтрЗаменить(Файлы.ПолноеИмя, ИмяФайлаПриемник, ИмяФайлаИсточник));
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если Переместить Тогда
УдалитьФайлы(ИмяФайлаПриемник);
КонецЕсли;
КонецПроцедуры
👉@DevLab1C
🔥2👍1
Видео для подготовки к Аттестации 1С:Специалист-Консультант по производству и ремонтам в 1С:ERP 2.5
Ключевые изменения в 1С:ERP 2.5.7 по производственному учету – за 15 минут
За что получают двойки на Аттестации по производству и ремонтам в 1C:ERP 2.5?
Как правильно реагировать на ошибки системы – на примере Аттестации Специалист-консультант по 1С:ERP
Ремонт оборудования заказчика в 1С:ERP 2.5 – схема учета для Аттестации и проектов за 20 минут
Объекты возникновения затрат (ОВЗ) в 1С:ERP 2.5.7 – разбираем новый функционал на практике
источник
👉@DevLab1C
Ключевые изменения в 1С:ERP 2.5.7 по производственному учету – за 15 минут
За что получают двойки на Аттестации по производству и ремонтам в 1C:ERP 2.5?
Как правильно реагировать на ошибки системы – на примере Аттестации Специалист-консультант по 1С:ERP
Ремонт оборудования заказчика в 1С:ERP 2.5 – схема учета для Аттестации и проектов за 20 минут
Объекты возникновения затрат (ОВЗ) в 1С:ERP 2.5.7 – разбираем новый функционал на практике
источник
👉@DevLab1C
👍3🔥2
Ускорение и оптимизация 1С
5 примеров ошибок в коде, которые приводят к замедлению работы 1С
Почему документ с одной строкой проводится 7,5 секунд
Как исправить ошибку при запуске после внедрения подсистемы Оценка производительности из БСП
Как ускорить процесс реструктуризации и обновления 1С в разы
3 принципа работы блокировок, о которых стоит знать каждому программисту 1С
Как «поймать» медленные запросы
источник
👉@DevLab1C
5 примеров ошибок в коде, которые приводят к замедлению работы 1С
Почему документ с одной строкой проводится 7,5 секунд
Как исправить ошибку при запуске после внедрения подсистемы Оценка производительности из БСП
Как ускорить процесс реструктуризации и обновления 1С в разы
3 принципа работы блокировок, о которых стоит знать каждому программисту 1С
Как «поймать» медленные запросы
источник
👉@DevLab1C
🔥4👍1
Быстрое объединение двух таблиц значений
Соединяет две разные таблицы значений с одинаковыми колонками в одну целую таблицу значений.
Способ интересен тем, что он вставляет одну таблицу в начало другой таблицы, а не добавляет строки из одной таблицы в конец другой.
Такой способ работает намного быстрее чем стандартный.
автор nytlenc
👉@DevLab1C
Соединяет две разные таблицы значений с одинаковыми колонками в одну целую таблицу значений.
Способ интересен тем, что он вставляет одну таблицу в начало другой таблицы, а не добавляет строки из одной таблицы в конец другой.
Такой способ работает намного быстрее чем стандартный.
// Добавляет в начало первой ТЗ, значения из второй ТЗ, колонки обоих ТЗ должны совпадать
// Данный способ работает быстрее чем стандартный с добавлением в конец строк из другой ТЗ
// Подробности см. http://www.gilev.ru/простой-трюк-для-быстрого-объединени/
//
// Параметры:
// Таблица1 - ТаблицаЗначений - в эту таблицу, в начало (а не в конец) будут добавлены строки из Таблица2
// Таблица2 - ТаблицаЗначений - таблица, строками которой требуется дополнить значение из параметра Таблица1
//
Процедура ДополнитьТаблицуЗначениямиИзВторой(Таблица1, Таблица2) Экспорт
Для Индекс = 1 По Таблица2.Количество() Цикл
Таблица1.Вставить(0);
КонецЦикла;
Для Индекс = 0 По Таблица2.Колонки.Количество() - 1 Цикл
Таблица1.ЗагрузитьКолонку(Таблица2.ВыгрузитьКолонку(Индекс), Индекс);
КонецЦикла;
КонецПроцедуры
автор nytlenc
👉@DevLab1C
👍2🔥2
Forwarded from 1С Работа
#IT #1C #вакансия #СанктПетербург #офис #Техподдержка #Руководитель #SAP #нефтегаз
Начальник управления технической поддержки ИУС
В крупнейший российский холдинг (нефтегазовая отрасль) требуется Руководитель Техподдержки ИУС
Формат Аутстафф проект , далее перезод в компанию.
Зарплата
💰 До 500 000 руб. (полностью белое оформление).
Гражданство: РФ
Локация: Санкт-Петербург
Формат работы: строго Офис
Санкт-Петербург
Описание проекта:
Технологии: 1С (УХ, ЗУП), SAP, Naumen, Контур.Диадок, системы электронного документооборота.
- Клиентоориентированность: Активное взаимодействие с пользователями, сбор и обработка обратной связи, устранение претензий.
- Техническая экспертиза: Знания в области ITSM, CRM, ERP, инструментария мониторинга и аналитики.
- Финансовый менеджмент: Планирование бюджета, обоснование инвестиций, представление отчетности руководству.
Используемый технологический стек:
- CRM-системы: Битрикс24, AmoCRM (отечественного производства).
- Сервисы Help Desk: Jira Service Management
- Инструменты мониторинга: Zabbix
- Документооборот: Confluence, система ЭДО
- ERP-система: SAP ERP.
Задачи на проекте:
- Руководит разработкой и реализацией стратегии технической поддержки. - Формирует структуру команды, управляет подбором и развитием персонала. - Организует и контролирует деятельность службы технической поддержки. - Совершенствует процессы оказания помощи пользователям и повышает качество услуг. - Интегрирует службу поддержки в общий цикл разработки и поддержки ИТ-продуктов компании. - Координирует финансовые вопросы и составляет планы расходов подразделения.
Условия:
Полностью белое оформление;
Комфортный офис класса А,
Крутая команда;
Интересные задачи;
Релокация при необходимости в г. Санкт-Петербург (оплата съемного жилья/квартиры для сотрудников и членов семьи).
КОНТАКТЫ для вопросов и резюме:
ТГ @katebudrina
Почта: hr-complex@yandex.ru
Екатерина 🤗
Начальник управления технической поддержки ИУС
В крупнейший российский холдинг (нефтегазовая отрасль) требуется Руководитель Техподдержки ИУС
Формат Аутстафф проект , далее перезод в компанию.
Зарплата
💰 До 500 000 руб. (полностью белое оформление).
Гражданство: РФ
Локация: Санкт-Петербург
Формат работы: строго Офис
Санкт-Петербург
Описание проекта:
Технологии: 1С (УХ, ЗУП), SAP, Naumen, Контур.Диадок, системы электронного документооборота.
- Клиентоориентированность: Активное взаимодействие с пользователями, сбор и обработка обратной связи, устранение претензий.
- Техническая экспертиза: Знания в области ITSM, CRM, ERP, инструментария мониторинга и аналитики.
- Финансовый менеджмент: Планирование бюджета, обоснование инвестиций, представление отчетности руководству.
Используемый технологический стек:
- CRM-системы: Битрикс24, AmoCRM (отечественного производства).
- Сервисы Help Desk: Jira Service Management
- Инструменты мониторинга: Zabbix
- Документооборот: Confluence, система ЭДО
- ERP-система: SAP ERP.
Задачи на проекте:
- Руководит разработкой и реализацией стратегии технической поддержки. - Формирует структуру команды, управляет подбором и развитием персонала. - Организует и контролирует деятельность службы технической поддержки. - Совершенствует процессы оказания помощи пользователям и повышает качество услуг. - Интегрирует службу поддержки в общий цикл разработки и поддержки ИТ-продуктов компании. - Координирует финансовые вопросы и составляет планы расходов подразделения.
Условия:
Полностью белое оформление;
Комфортный офис класса А,
Крутая команда;
Интересные задачи;
Релокация при необходимости в г. Санкт-Петербург (оплата съемного жилья/квартиры для сотрудников и членов семьи).
КОНТАКТЫ для вопросов и резюме:
ТГ @katebudrina
Почта: hr-complex@yandex.ru
Екатерина 🤗
Колонка сжато
Суть задачи в том, что в колонке табличной части находятся целые числа. Необходимо "сжать" ряд чисел, заменив подряд идущие числа их диапазоном.
Например: 1, 3, 4, 5, 7, 10, 11, 12, 16 должно превратиться в 1, 3-5, 7, 10-12, 16.
👉@DevLab1C
Суть задачи в том, что в колонке табличной части находятся целые числа. Необходимо "сжать" ряд чисел, заменив подряд идущие числа их диапазоном.
Например: 1, 3, 4, 5, 7, 10, 11, 12, 16 должно превратиться в 1, 3-5, 7, 10-12, 16.
Функция КолонкаСжато(ДокументСсылка, ИмяТабличнойЧасти, ИмяКолонки, Слэш = ",", Тире = "-")
Запрос = Новый Запрос("ВЫБРАТЬ Различные " + ИмяКолонки + " ИЗ Документ." + ДокументСсылка.Метаданные().Имя + "." + ИмяТабличнойЧасти + " ГДЕ Ссылка = &Ссылка Упорядочить ПО " + ИмяКолонки);
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Ряд = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(ИмяКолонки);
Если Ряд.Количество() = 0 Тогда Возврат ""
КонецЕсли;
Ряд.Добавить(0); Ряд.Добавить(0);
Сжато = Строка(Ряд[0]);
Для ё = 1 По Ряд.Количество() - 3 Цикл
Если Число(Ряд[ё + 1]) - Число(Ряд[ё - 1]) <> 2 Тогда
Сжато = Сжато + Слэш + Строка(Ряд[ё])
ИначеЕсли Число(Ряд[ё + 2]) - Число(Ряд[ё]) <> 2 Тогда
Сжато = Сжато + Тире
КонецЕсли
КонецЦикла;
Возврат СтрЗаменить(Сжато, Тире + Слэш, Тире)
КонецФункции
👉@DevLab1C
🔥2👍1