1С:Предприятие 8 – Telegram
1С:Предприятие 8
863 subscribers
91 photos
202 videos
69 links
🔥 Разработка в 1С — просто и понятно! 🔥

Полезные фишки и лайфхаки для разработчиков
Объяснение сложных тем простыми словами
Готовые решения, сниппеты и примеры кода
Разбор ошибок и способов их устранения
Новости и тренды в мире 1С
Download Telegram
Видео для подготовки к Аттестации 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
👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Циклы в 1C

Почему так отработал цикл? Как можно исправить?

источник

👉@DevLab1C
👍3🔥1
Ускорение и оптимизация 1С

5 примеров ошибок в коде, которые приводят к замедлению работы 1С
Почему документ с одной строкой проводится 7,5 секунд
Как исправить ошибку при запуске после внедрения подсистемы Оценка производительности из БСП
Как ускорить процесс реструктуризации и обновления 1С в разы
3 принципа работы блокировок, о которых стоит знать каждому программисту 1С
Как «поймать» медленные запросы

источник

👉@DevLab1C
🔥4👍1
Быстрое объединение двух таблиц значений

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


// Добавляет в начало первой ТЗ, значения из второй ТЗ, колонки обоих ТЗ должны совпадать
// Данный способ работает быстрее чем стандартный с добавлением в конец строк из другой ТЗ
// Подробности см. 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
Екатерина 🤗
Колонка сжато

Суть задачи в том, что в колонке табличной части находятся целые числа. Необходимо "сжать" ряд чисел, заменив подряд идущие числа их диапазоном.

Например: 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
Как защитить паролем создаваемый Word документ


Код 1C v 8.х
МакетНаименование="WodrFile";
ИмяФайла = "t" + МакетНаименование + ".tmp";

ОбъектВорд = Новый COMObject("Word.Application");
ОбъектВорд.Documents.Add(ИмяФайла,,, Истина);
ОбъектВорд.ActiveWindow.Caption = МакетНаименование;
ОбъектВорд.Visible = 0;
//...
// ТУТ ЧТО-ТО ЗАПИСЫВАЕМ В ДОКУМЕНТ
//...
ДокДляСохранения = ОбъектВорд.ActiveDocument();

//УСТАНАВЛИВАЕМ ПАРОЛЬ
ДокДляСохранения.Protect(2, 0, "P@ssW0rd");

ДокДляСохранения.SaveAs(ИмяФайла, 0);
ДокДляСохранения.Close();
ОбъектВорд.Quit();


👉@DevLab1C
👍3🔥2🆒1
Простое добавление колонки в Динамический список


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ЧастиЗапроса = СтрРазделить(Список.ТекстЗапроса, ",");
ЧастиЗапроса.Вставить(1, "СправочникКонтрагенты.ПометкаУдаления");
Список.ТекстЗапроса = СтрСоединить(ЧастиЗапроса, ",");

НовыйЭлемент = Элементы.Добавить("СписокПометкаУдаления", Тип("ПолеФормы"), Элементы.Список);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлемент.ПутьКДанным = "Список.ПометкаУдаления";

КонецПроцедуры


👉@DevLab1C
👍2🔥1
Как осуществить запись в журнал регистрации «1С: Предприятие 8»?


Процедура РегистрСведенийСписокДополнительныеУслугиПередУдалением(Элемент)
ТС = Элемент.ТекущаяСтрока;
Комментарий = "Код: " + ТС.Код +
". Номенклатура: " + ТС.Номенклатура +
". Вид наценки: " + ТС.ВидНаценки;
ЗаписьЖурналаРегистрации("Данные.Удаление",
УровеньЖурналаРегистрации.Информация,
Метаданные.РегистрыСведений.ДополнительныеУслуги,
РежимТранзакцииЗаписиЖурналаРегистрации.Независимая,
Комментарий);
КонецПроцедуры


👉@DevLab1C
👍3🔥2
Как около элемента управления формы открывается выпадающий список?

Необходимо воспользоваться способом формы из меню («Список Значений», «Элемент Формы»):


//выведем пользователю список вариантов,
//для ввода СФ около элемента управления «Кнопка»
СписокДействийВводСФ = Новый СписокЗначений();
СписокДействийВводСФ.Добавить(
"ВвестиНовыйСчетФактуру", "Ввести новый счет-фактуру");
СписокДействийВводСФ.Добавить(
"ДополнитьСуществующийСчетФактуру", "Дополнить существующий счет-фактуру");

// ФормаДокумента.ТекущийЭлемент -
//Элемент, около которого открывается список
ВыбранныйВариантВводаСФ = ФормаДокумента.ВыбратьИзМеню(
СписокДействийВводСФ, ФормаДокумента.ТекущийЭлемент);
Если ВыбранныйВариантВводаСФ = Неопределено Тогда
Возврат;
КонецЕсли;

Если ВыбранныйВариантВводаСФ.Значение = "ВвестиНовыйСчетФактуру" Тогда
...
КонецЕсли;


👉@DevLab1C
🔥2👍1
Как программно на «Панели» переключаются закладки (страницы)?


Панель1 = ЭлементыФормы.Панель1;
Панель1.ТекущаяСтраница = Панель1.Страницы.Страница2;
Панель1.ТекущаяСтраница = Панель1.Страницы["Страница2"];


👉@DevLab1C
🔥2👏1
Как обращаться к странице формы, если на нее не помещен элемент управления формы «Панель»?


Форма обладает свойством «Панель», через которое необходимо обращаться. Например:

ПанельФормы = ЭтаФорма.Панель;
СтраницыФормы = ПанельФормы.Страницы;
Если ПанельФормы.ТекущаяСтраница = СтраницыФормы.Страница1 Тогда
//Мы на первой странице
. . .
ИначеЕсли ПанельФормы.ТекущаяСтраница = СтраницыФормы.Страница2 Тогда
//Мы на второй странице
. . .
Иначе //Мы на последней странице
. . .
КонецЕсли;


👉@DevLab1C
🔥2👍1
Как правильно удаляются строки из текста при помощи встроенного языка системы «1С:8»?


Процедура УдалитьСтрокиТекста()
ТекстДок = Новый ТекстовыйДокумент;
ТекстДок.Прочитать("Текст.txt");
Сч = 1;
Пока Сч < ТекстДок.КоличествоСтрок() Цикл
Строка = ТекстДок.ПолучитьСтроку(Сч);
Если Найти(Строка, "1С") > 0 Тогда
ТекстДок.УдалитьСтроку(Сч);
Иначе // Благодаря этой переменной мы
// не пропускаем строки в тексте
Сч = Сч + 1;
КонецЕсли;
КонецЦикла;
ТекстДок.Записать("Текст.txt");
КонецПроцедуры


👉@DevLab1C
🔥2👍1
Media is too big
VIEW IN TELEGRAM
10 функций БСП, которые должен знать каждый программист 1С

🔴В этом видео мы покажем вам 10 функций из 1С:БСП, которые должен знать каждый программист 1С. Эти функции помогут писать код быстрее и сделают ваш код более компактным.

источник

👉@DevLab1C
🔥4👍3