1С:Предприятие 8
781 subscribers
47 photos
160 videos
51 links
🔥 Разработка в 1С — просто и понятно! 🔥

Полезные фишки и лайфхаки для разработчиков
Объяснение сложных тем простыми словами
Готовые решения, сниппеты и примеры кода
Разбор ошибок и способов их устранения
Новости и тренды в мире 1С
Download Telegram
Основы 1С 8.3 для начинающих (Управляемые формы). Основы программирования и конфигурирования.

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

источник

👉@DevLab1C
🔥6👍1
Создание регламентного задания из внешней обработки


Работа с 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
🔥3👍1
1С. Как открыть форму ещё не записанного документа


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

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

&НаКлиенте
Процедура ЗапросЦен(Команда)

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

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


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

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

// В этой серверной процедуре заполняем объект.
ДанныеФормы.Организация = Объект.Организация;

//... заполняем все необходимые реквизиты.

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


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

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

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

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

//... заполняем все необходимые реквизиты.

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

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


👉@DevLab1C
🔥3👍2👎1
Media is too big
VIEW IN TELEGRAM
Как вывести штрихкод в печатную форму 1С

Материалы из видео добавили в комментарии👇

источник

👉@DevLab1C
👍5🔥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
👍7🔥3
Media is too big
VIEW IN TELEGRAM
Основы использования таблиц значений

В ролике рассматриваются темы:
Создание ТЗ с помощью кода
Создание ТЗ запросом
ТЗ как параметр запроса. Что можно и что нельзя в запросе, где ТЗ является параметром.
ТЗ и построитель запросов
ТЗ и построитель отчетов
ТЗ и СКД - использование в отчетах и обработках, управляемых и обычных формах.

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

источник

👉@DevLab1C
🔥3👍1
Media is too big
VIEW IN TELEGRAM
Асинх/Ждать в 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
🔥3👍1
Media is too big
VIEW IN TELEGRAM
Как «поймать» медленные запросы

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

👉@DevLab1C
👍3🔥2
Проверки объекта на изменения


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

Ссылка = Объект.Ссылка;
Метаданное = Ссылка.Метаданные();

Для каждого Реквизит из Метаданное.Реквизиты Цикл
Если Объект[Реквизит.Имя] <> Ссылка[Реквизит.Имя] Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;

Если ПроверятьСтандартные Тогда
Для каждого Реквизит из Метаданное.СтандартныеРеквизиты Цикл
Если Объект[Реквизит.Имя] <> Ссылка[Реквизит.Имя] Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;


Если ПроверятьТабличныеЧасти Тогда
Для каждого ТЧ из Метаданное.ТабличныеЧасти Цикл

Если Объект[ТЧ.Имя].Количество() <> Ссылка[ТЧ.Имя].Количество() Тогда
Возврат Истина;
КонецЕсли;

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

КонецЦикла;
КонецЕсли;

Возврат Ложь;

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


👉@DevLab1C
👍32😱1
Разработка мобильного приложения 1С

Синхронизация данных на мобильной платформе 1С (Http сервис)
Синхронизация данных на мобильной платформе 1С (Web-сервис)
Установка мобильной платформы на устройство и настройка отладки
Установка веб-сервера и публикация базы на 1С

источник

👉@DevLab1C
👍2🔥2
Media is too big
VIEW IN TELEGRAM
Как прочитать JSON в 1С

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

источник

👉@DevLab1C
👍4🔥1
Media is too big
VIEW IN TELEGRAM
Случай "Добавка 1С функций в JS синтаксис"

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

источник

👉@DevLab1C
🔥2👍1