fa
Feedback
1С:Предприятие 8

1С:Предприятие 8

رفتن به کانال در Telegram

🔥 Разработка в 1С — просто и понятно! 🔥 ✅ Полезные фишки и лайфхаки для разработчиков ✅ Объяснение сложных тем простыми словами ✅ Готовые решения, сниппеты и примеры кода ✅ Разбор ошибок и способов их устранения ✅ Новости и тренды в мире 1С

نمایش بیشتر
879
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
-230 روز
آرشیو پست ها
Конфигурация 1С с нуля за 5 часов. Барбершоп На стриме разработаем с нуля конфигурацию 1С для учета записей в барбершопе или салоне красоты. Скачать конфигурацию, разработанную на стриме. источник 👉@DevLab1C

+9
Обновление нетиповых конфигураций 1С Урок 1. Немного теории Урок 2. Подготовка Урок 3. Начинаем обновлять Урок 4. Расставляем флажки - i Урок 5. Расставляем флажки - ii Урок 6. Неразрешимые ссылки Урок 7. Подготовка ко второму этапу Урок 8. Восстановление доработок - i Урок 9. Восстановление доработок - ii Урок 10. Обновляем рабочую базу источник 👉@DevLab1C

Асинхронные функции в 1С Привет, друзья! Наверняка при решении задач по программированию в 1С вы сталкивались с ошибкой "Использование синхронных методов на клиенте запрещено". Сегодня мы покажем как избежать этой ошибки и писать код правильно, используя асинхронные методы. источник 👉@DevLab1C

+4
Уроки мобильной разработки на 1С Знакомство Подготовка окружения перед началом разработки на мобильной платформе 1С Первые шаги разработчика мобильного приложения 1С Запуск и отладка приложения прямо на смартфоне Урок 4 Разработка уникального мобильного приложения (Часть 1) Урок 4 Разработка уникального мобильногоприложения (Часть 2) Урок 5 Приложение и смартфон (Часть 1) Урок 5 Приложение и смартфон (Часть 2) Урок 6. Веб-сервисы и фоновые задания Урок 7 Сборка приложения для Google Play Market Урок 8 Публикация приложения в Google Play Market Урок 9 Монетизация приложений Урок 9 Монетизация приложений. Подписка Все видео на youtube 👉@DevLab1C

Случай "Добавка 1С функций в JS синтаксис" Добавление строковых функций СокрЛ(),СтрДлина() и остальных в JS синтаксис для обозревателя. Кодим обозреватель 1Сными функциями. источник 👉@DevLab1C

Как прочитать JSON в 1С Из этого видео вы узнаете Как прочитать JSON в 1С. Формат JSON сегодня является одним из основных форматов обмена. В 1С есть несколько способов работы с форматом JSON, о которых и пойдет речь в этом видео. источник 👉@DevLab1C

+3
Разработка мобильного приложения 1С Синхронизация данных на мобильной платформе 1С (Http сервис) Синхронизация данных на мобильной платформе 1С (Web-сервис) Установка мобильной платформы на устройство и настройка отладки Установка веб-сервера и публикация базы на 1С источник 👉@DevLab1C

Проверки объекта на изменения Функция ОбъектМодифицирован(Объект, ПроверятьТабличныеЧасти = Истина, ПроверятьСтандартные = Ис
Проверки объекта на изменения

Функция ОбъектМодифицирован(Объект, ПроверятьТабличныеЧасти = Истина, ПроверятьСтандартные = Истина) 
    
 Ссылка = Объект.Ссылка;
 Метаданное = Ссылка.Метаданные();
    
 Для каждого Реквизит из Метаданное.Реквизиты Цикл
  Если Объект[Реквизит.Имя] <> Ссылка[Реквизит.Имя] Тогда
   Возврат Истина;
  КонецЕсли;
 КонецЦикла;
    
 Если ПроверятьСтандартные Тогда
  Для каждого Реквизит из Метаданное.СтандартныеРеквизиты Цикл
   Если Объект[Реквизит.Имя] <> Ссылка[Реквизит.Имя] Тогда
    Возврат Истина;
   КонецЕсли;
  КонецЦикла;
 КонецЕсли;
    
    
    Если ПроверятьТабличныеЧасти Тогда
        Для каждого ТЧ из Метаданное.ТабличныеЧасти Цикл
            
            Если Объект[ТЧ.Имя].Количество() <> Ссылка[ТЧ.Имя].Количество() Тогда
                Возврат Истина;
            КонецЕсли;
                        
            Для Индекс = 0 по Объект[ТЧ.Имя].Количество()-1 Цикл
                ОбъектСтрокаТЧ = Объект[ТЧ.Имя][Индекс];
                СсылкаСтрокаТЧ = Ссылка[ТЧ.Имя][Индекс];
                Для каждого РеквизитТЧ из ТЧ.Реквизиты Цикл
                    Если ОбъектСтрокаТЧ[РеквизитТЧ.Имя] <> СсылкаСтрокаТЧ[РеквизитТЧ.Имя] Тогда
                        Возврат Истина;
                    КонецЕсли;
                КонецЦикла;
            КонецЦикла;
            
        КонецЦикла;        
    КонецЕсли;
    
    Возврат Ложь;
    
КонецФункции
👉@DevLab1C

Как «поймать» медленные запросы 00:00 — Введение 00:57 — Обзор инструментов поиска медленных запросов 03:02 — Схема установки базы Монитор 05:33 — Создание отдельного кластера и базы для загрузки Монитора 06:45 — Подключение созданной базы и загрузка конфигурации Монитор 07:38 — Настройка мониторинга запросов 19:29 — Пример анализа запроса из медленного отчета 23:01 — Настройка отображения запросов в терминах метаданных 25:03 — Анализ параметров и просмотр плана запроса 26:00 — Пример запроса без контекста 26:45 — Подведение итогов первого занятия 👉@DevLab1C

Асинх/Ждать в 1С для показа вопросов, сообщений и диалогов | Асинхронные методы в платформе 1C 00:00 - Вступление 05:11 - Почему лучше не использовать модальные окна в 1С 11:35 - Как переписать модальные окна 1С на ОписаниеОповещения 22:06 - Почему ОписаниеОповещения усложняет код 1С 31:50 - Как загружать файлы без расширения по работе с файлами (НачатьПомещениеФайлаНаСервер) 44:05 - Асинх и ждать в 1С (Платформа 1С 8.3.18) 53:44 - Как вывести прогресс загрузки файла в 1С 59:15 - Когда типовые 1С конфигурации перейдут на Асинх? 01:00:45 - В чем отличие от ДлительныеОперацииКлиент.ОжидатьЗавершение? 01:02:00 - Почему надо знать все 3 метода взаимодействия с пользователем 01:04:00 - Пример рефакторинга кода 01:06:45 - Книги для программистов, кто был вынужден стать менеджером 01:08:44 - Какие дополнительные компетенции нужно развивать 01:09:50 - Как Матвей попал в 1С разработку 01:12:00 - Планы на будущее 01:14:08 - Зачем преподавать 01:15:40 - Про дефицит кадров в 1С 01:17:00 - Какие качества нужны начинающему 1С разработчику 01:19:10 - Зарплата 1С программистов в регионах, что нужно знать джуну 01:26:56 - Как студенту стать 1С программистом и надо ли 01:37:58 - Как грузчику в 40 лет стать 1С программистом 01:43:33 - Что такое когнитивная и цикломатическая сложность? 01:46:00 - Выбор первого работодателя в 1С сфере 01:49:25 - Предвзятое отношение к 1С программистам 01:52:45 - Про 1С франчайзи 01:56:45 - Про 1С фреш и SQL 01:59:00 - Про 1С запросы, всякое и заключение источник 👉@DevLab1C

Основы использования таблиц значений В ролике рассматриваются темы: Создание ТЗ с помощью кода Создание ТЗ запросом ТЗ как параметр запроса. Что можно и что нельзя в запросе, где ТЗ является параметром. ТЗ и построитель запросов ТЗ и построитель отчетов ТЗ и СКД - использование в отчетах и обработках, управляемых и обычных формах. 00:00 Вступление 00:33 Создание ТЗ с помощью кода. 01:52 Создание ТЗ запросом 04:21 ТЗ как параметр запроса. Что можно и что нельзя в запросе, где ТЗ является параметром. 05:32 ТЗ и построитель запросов 07:34 ТЗ и построитель отчетов 07:58 ТЗ и СКД 13:49 Заключение источник 👉@DevLab1C

+1
Работа с файлами Изучив видео этого плейлиста ты научишься обрабатывать файлы: загружать данные из файла в 1С и выгружать данные из 1С в файл. Диалог выбора файла в 1С и другие диалоги 1. Общая схема работы с файлами в 1С 2. Как правильно загружать данные в 1С из файла 3. Как прочитать текстовый файл (TXT) в 1С 4. Как прочитать файл CSV в 1С 5. Как прочитать файл EXCEL в 1С Как прочитать файл DBF в 1С Как прочитать XML в 1С. Способ № 1 (Линейное чтение) Как прочитать XML в 1С. Способ № 2 (XDTO) Чтение файла в 1С на сервере Загрузка справочника "Контрагенты" в 1С из файла. Часть 1 Загрузка контрагентов в 1С. Часть 2: Работа над ошибками Выгрузка данных из 1С в XML Все видео доступны на youtube 👉@DevLab1C

Как вывести штрихкод в печатную форму 1С Материалы из видео добавили в комментарии👇 источник 👉@DevLab1C

1С. Как открыть форму ещё не записанного документа Постановка задачи: в информационной системе имеется документ "Спецификация
1С. Как открыть форму ещё не записанного документа

Постановка задачи: в информационной системе имеется документ "Спецификация". На форме документа есть кнопка "Запрос цен". По нажатию этой кнопки должен создаться и заполниться документ "Запрос цен". Его заполненная форма должна открыться для редактирования пользователем, при этом документ не должен быть записан.

Итак, реализация задуманного:

&НаКлиенте
Процедура ЗапросЦен(Команда)
 
 ФормаНовогоЗапросаЦен = ПолучитьФорму("Документ.ЗапросЦен.Форма.ФормаДокумента");
 ДанныеФормы = ФормаНовогоЗапросаЦен.Объект;
 ЗаполнитьЗапросЦенНаСервере(ДанныеФормы); // Процедура, в которой на сервере заполняется объект документа. 
 КопироватьДанныеФормы(ДанныеФормы, ФормаНовогоЗапросаЦен.Объект); // Здесь данные заполненного объекта документа копируются в форму.
 ФормаНовогоЗапросаЦен.Открыть(); // Открываем заполненную форму.
 
КонецПроцедуры


Серверная процедура, в которой заполняется объект документа:

&НаСервере
Процедура ЗаполнитьЗапросЦен(ДанныеФормы)
 
 // В этой серверной процедуре заполняем объект. 
 ДанныеФормы.Организация = Объект.Организация;
 
 //... заполняем все необходимые реквизиты.
  
КонецПроцедуры


Для уменьшения объёма передаваемых данных между клиентом и сервером можно организовать серверную процедуру без передачи в неё контекста формы:

&НаСервереБезКонтекста
Процедура ЗаполнитьЗапросЦен(ДанныеФормы)

 // Получаем объект документа из данных формы
 НовыйЗапросЦен = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.ЗапросЦен"));
 // Или создаём новый документ:
 НовыйЗапросЦен = Документы.ЗапросЦен.СоздатьДокумент();

 // Заполняем реквизиты объекта документа
 НовыйЗапросЦен.Организация = Объект.Организация;
 
 //... заполняем все необходимые реквизиты.

 // Данные заполненного документа помещаем в объект формы
 ЗначениеВДанныеФормы(НовыйЗапросЦен,ДанныеФормы);

КонецФункции
👉@DevLab1C

Создание регламентного задания из внешней обработки Работа с CSV. Чтение файла CSV через ADO в ТЗ в 1С 8.3 &НаСервере Функция
Создание регламентного задания из внешней обработки

Работа с CSV. Чтение файла CSV через ADO в ТЗ в 1С 8.3

&НаСервере
Функция ПрочитатьCSVвТЗ_ADO(ИмяФайла, Разделитель=";", ЗаголовкиИзПервойСтроки = Ложь)

   ТЗ = Новый ТаблицаЗначений;
   ФайлCSV = Новый Файл(ИмяФайла);

   ADOConn =Новый COMОбъект("ADODB.Connection");
   ADOConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ФайлCSV.Путь+";Extended Properties=""text;HDR=No;IMEX=1;FMT=Delimited""");

   // Так как FMT=Delimited(;) не работает создадим schema.ini
  // https://docs.microsoft.com/en-us/sql/odbc/microsoft/schema-ini-file-text-file-driver?redirectedfrom=MSDN&view=sql-server-ver15
  // https://docs.microsoft.com/en-us/sql/odbc/microsoft/text-file-format-text-file-driver?redirectedfrom=MSDN&view=sql-server-ver15
   СхемаCSV= СтрШаблон("[%1]
    |ColNameHeader=%2
    |Format=Delimited(%3)", ФайлCSV.Имя, Формат(ЗаголовкиИзПервойСтроки, "БЛ=False; БИ=True"), Разделитель);
   ФайлСхемы = Новый ТекстовыйДокумент;
   ФайлСхемы.УстановитьТекст(СхемаCSV);
   ФайлСхемы.Записать(ФайлCSV.Путь + "Schema.ini", "CESU-8"); // UTF-8 без BOM

   ADORec=Новый COMОбъект("ADODB.Recordset");
   ADORec.ActiveConnection = ADOConn;
   ADORec.Open("select * from "+ФайлCSV.Имя, ADOConn);

   // определим имена колонок
   Для НомКолонки = 0 По ADORec.Fields.Count-1 Цикл
       ТЗ.Колонки.Добавить(ADORec.Fields(НомКолонки).Name);
   КонецЦикла;

   Сч=0;
   Пока НЕ ADORec.EOF() Цикл
       Сч=Сч+1;

       НоваяСтрока = ТЗ.Добавить();
       Для а=0 По ADORec.Fields.Count-1 Цикл
           НоваяСтрока[а] = ADORec.Fields(а).Value;
       КонецЦикла;

       ADORec.MoveNext();
   КонецЦикла;

   ADORec.Close();
   ADOConn.Close();

   Возврат ТЗ;

КонецФункции
👉@DevLab1C

+9
Основы 1С 8.3 для начинающих (Управляемые формы). Основы программирования и конфигурирования. #1. Платформа. Конфигурация. Установка учебной версии. Информационная база #2. Файловые и клиент-серверные информационные базы #3. Режимы запуска. Тонкий клиент. Толстый клиент. Веб-клиент. #4. Конфигурация. Объекты метаданных и их свойства. #5. Сохранение изменений в конфигурации. #6. Справочники и их создание. #7. Выгрузка/Загрузка информационной базы. Сохранение/Загрузка конфигурации. #8. Пользовательский интерфейс. Подсистемы. Корпоративный стиль. #9. Настройка справочников. Иерархия справочников. Владельцы справочников. #10. Реквизиты справочников. Стандартные типы реквизитов. Табличные части. источник 👉@DevLab1C

Работа с CSV. Чтение файла CSV через ADO (без схемы) в 1С 8.3 &НаСервере Процедура ЧтениеФайлаCSV_ADO(); //Для работы с CSV ф
Работа с CSV. Чтение файла CSV через ADO (без схемы) в 1С 8.3

&НаСервере
Процедура ЧтениеФайлаCSV_ADO(); //Для работы с CSV файлами больших размеров (свыше 10Mb)

   ФайлCSV="D:\import_11042025.csv";

   ПутьСоединения  = "Driver={Microsoft Text Driver (*.csv)};";
   ПутьСоединения  = ПутьСоединения + "Dbq=" + ФайлCSV + ";";
   ПутьСоединения  = ПутьСоединения + "Uid=" + "Extensions=csv" + ";";

   ADOConn = Новый COMОбъект("ADODB.Connection");
   ADOConn.ConnectionString = ПутьСоединения;
   ADOConn.Open();

   ADORec = Новый COMОбъект("ADODB.Recordset");
   Попытка
       ADORec.Open("S_elect * from file#txt", ADOConn);
       Пока ADORec.EOF() = 0 Цикл

           ADOСтрока="";
           Для Счетчик = 0 По ADORec.Fields.Count-1 Цикл
               ADOСтрока =  ADOСтрока   + ";" + ADORec.Fields(Счетчик).Value;
           КонецЦикла;
           //Сообщить("Прочитана строка: "+ADOСтрока);
           ADORec.MoveNext();

       КонецЦикла;
   Исключение
       ADORec.Close();
       ADOConn.Close();

       //Предупреждение("При чтении данных в CSV произошла ошибка:"+ОписаниеОшибки());
   КонецПопытки;

КонецПроцедуры
👉@DevLab1C

Асинхронные функции. Обещание и Возвращающие Обещание в 1С 8.3 Процедура ВыполнениеПримераСАсих() Попытка ВыполнениеКода(); И
Асинхронные функции. Обещание и Возвращающие Обещание в 1С 8.3

Процедура ВыполнениеПримераСАсих()

    Попытка
        ВыполнениеКода();
    Исключение
        // Исключение из ВыполнениеКода() не будет перехвачено здесь
    КонецПопытки

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

Асинх Функция ВыполнениеКода() // Всегда возвращает Обещание

    ВызватьИсключение "Выброшено в ВыполнениеКода()";
    //При успешном завершении в Обещание будет завернуто значение, которое было аргументом оператора Возврат.
    //Если при выполнении Асинх функции произошло исключение, то в Обещание будет завернуто это исключение.

КонецФункции
Обещание как аргумент оператора Ждать в 1С 8.3

Асинх Процедура ВыполнениеПримераСАсих()

    Попытка
        // Для того, чтобы узнать как завершилась Асинх функция – это использовать возвращенное ею Обещание как аргумент оператора Ждать.
        Ждать ВыполнениеКода(Null);
    Исключение
        // Исключение из НеNull() будет перехвачено здесь
        Сообщить("Передали Null");
    КонецПопытки

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

Асинх Функция ВыполнениеКода(ПеремП) // Всегда возвращает Обещание

    Если ПеремП = Null Тогда
        ВызватьИсключение "Выброшено в ВыполнениеКода()";
    Иначе
        Возврат ПеремП;
    КонецЕсли;

КонецФункции

// Асинх процедура не возвращает значения. А если при выполнении Асинх процедуры возникнет не перехваченное исключение,
// то это приведет к выдаче сообщения об ошибке.
👉@DevLab1C

+1
5 видео для подготовки к Аттестации 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 – разбираем новый функционал на практике Все видео на youtube 👉@DevLab1C

Работа с CSV. Чтение файла CSV опционально (средствами 1С) в ТЗ в 1С 8.3

&НаСервере
Функция ПрочитатьCSVвТЗ(ИмяФайла, ИспользуемыйРазделитель=";", ЗаголовкиИзПервойСтроки = Ложь)

   Текст = Новый ЧтениеТекста(ИмяФайла);
   ТЗ = Новый ТаблицаЗначений;

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

   Пока ТекСтрока <> Неопределено Цикл // строки читаются до символа перевода строки
       НоваяСтрока = ТЗ.Добавить();

       МассивCSV = СтрРазделить(ТекСтрока, ИспользуемыйРазделитель);
       ИндексКолонки = 0;
       Для Каждого СтрокаНом Из МассивCSV Цикл
           НоваяСтрока[ИндексКолонки] = СтрокаНом;
           ИндексКолонки = ИндексКолонки + 1;
       КонецЦикла;

       ТекСтрока = Текст.ПрочитатьСтроку();
   КонецЦикла;

   Возврат ТЗ;

КонецФункции
👉@DevLab1C