1С:Предприятие 8
783 subscribers
49 photos
161 videos
52 links
🔥 Разработка в 1С — просто и понятно! 🔥

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


&НаСервере
Процедура ПолучениеЗапросомВсехСтрокСоЗначениямиВсехСтолбцовИзТаблицы()

// Звездочка используется, когда нужно выбрать все столбцы из таблицы
Запрос = Новый Запрос("ВЫБРАТЬ
| *
|ИЗ
| Справочник.Материалы");

РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда // Такая проверка рекомендуется фирмой 1С
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
// Обход результата запроса по каждой записи в полученной выборке
КонецЦикла;
Иначе // Например: Сообщить("Данные отсутствуют!");
КонецЕсли;

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


👉@DevLab1C
🔥3👍2🤡2
Получение запросом всех строк со значениями определенных столбцов в 1С 8.3


&НаСервере
Процедура ПолучениеЗапросомВсехСтрокСоЗначениямиОпределенныхСтолбцов()

// У каждого столбца в таблице есть своё соответствующее имя
Запрос = Новый Запрос("ВЫБРАТЬ
| Наименование,
| Производитель,
| СрокИспользования
|ИЗ
| Справочник.Материалы");

РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда // Такая проверка рекомендуется фирмой 1С
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
// Обход результата запроса по каждой записи в полученной выборке
КонецЦикла;
Иначе // Сообщить("Данные отсутствуют!");
КонецЕсли;

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


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

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

источник

👉@DevLab1C
👍4🔥2
Media is too big
VIEW IN TELEGRAM
Настройка работы 1С Предприятия 8.3 с использованием PostgreSQL в среде Linux

👉@DevLab1C
👍2🔥1
Выборка записей запроса только на которые имеются пользовательские права в 1С 8.3


&НаСервере
Процедура ВыборкаЗаписейЗапросаТолькоНаКоторыеИмеютсяПользовательскиеПрава()

// Необходимо только для баз, в которых ограничение прав доступа работает на уровне записей (RLS)
// Данная реализация кода дает возможность выполнить запрос без ошибки
// и выбрать только те данные, на которые у пользователя есть права
Запрос = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Ссылка
|ИЗ
| Документ.ПоступлениеМатериалов");

РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда // Такая проверка рекомендуется фирмой 1С
Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл
// Обход результата запроса по каждой записи в полученной выборке
КонецЦикла;
Иначе // Сообщить("Данные отсутствуют!");
КонецЕсли;

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


👉@DevLab1C
🔥2👍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
🔥4👍3
Выбор Excel файла в 1С 8.3


&НаКлиенте
Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) //необходимо в событии "НачалоВыбора" поля ввода вызвать ДиалогВыбораФайла

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл Excel";
Диалог.ПредварительныйПросмотр = Ложь;
Диалог.Фильтр = "(*.xls,*.xlsx)|*.xls;*.xlsx;|Microsoft Excel 97/2000/XP/2003 (*.xls)|*.xls|Microsoft Excel 2007/2010 (*.xlsx)|*.xlsx";

Если ЗначениеЗаполнено(Объект.Файл) Тогда
Диалог.ПолноеИмяФайла= Объект.Файл;
КонецЕсли;

Если Диалог.Выбрать() Тогда
Объект.Файл = Диалог.ПолноеИмяФайла;
КонецЕсли;

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


👉@DevLab1C
🔥3👍1
Загрузка из Excel файла (через ADODB.Connection) в 1С 8.3


&НаСервере
Процедура ЗагрузитьИзXLS_ADODB()

// Создание COM-объекта для соединения
ADODB_conn = Новый COMОбъект("ADODB.Connection");

// Установка строки соединения
ADODB_conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;
|Data Source="+ИмяФайла+";
|Extended Properties=""Excel 12.0 XML;HDR=YES"";";
ADODB_conn.Open(); // Открытие соединения

// Создание COM-объекта для получения выборки
ADODB_rec = Новый COMОбъект("ADODB.Recordset");
ТекстЗапроса = "SELECT * FROM [ЛистN1$]";

// Выборка (запрос)
ADODB_rec.Open(ТекстЗапроса, ADODB_conn);

// Обход результата выборки
Пока НЕ ADODB_rec.EOF() Цикл
ЗначениеКолонки1 = ADODB_rec.Fields.Item("КолонкаN1").Value; // Обращение по имени колонки
ЗначениеКолонки2 = ADODB_rec.Fields.Item(0).Value; // Обращение по индексу колонки
ADODB_rec.MoveNext();
КонецЦикла;

ADODB_rec.Close();
ADODB_rec = Неопределено;
ADODB_conn.Close();
ADODB_conn = Неопределено;

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


👉@DevLab1C
🔥2👍1