Получи случайную криптовалюту за регистрацию!

1C программист

Логотип телеграм канала @odin1c_rus — 1C программист 1
Логотип телеграм канала @odin1c_rus — 1C программист
Адрес канала: @odin1c_rus
Категории: Технологии
Язык: Русский
Количество подписчиков: 3.27K
Описание канала:

Cтатьи, курсы, советы, шаблоны кода 1С. По всем вопросам @evgenycarter

Рейтинги и Отзывы

3.00

3 отзыва

Оценить канал odin1c_rus и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

2

1 звезд

0


Последние сообщения

2022-08-31 11:57:34 Вызов процедур или функций модуля объекта из модуля формы

Когда из модуля формы нужно вызвать экспортную процедуру или функцию из его же модуля объекта

&НаСервере
Процедура ПодключитьсяНаСервере()

ТекОбъект = РеквизитФормыВЗначение("Объект");//Для отчета "Отчет"
ТекОбъект.ЭкспортныйВызовИзМодуляОбъекта();

//если содержимое Объект поменялось и нужно обновить его на форме, то делаем:
ЗначениеВРеквизитФормы(ТекОбъект, "Объект");

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

@odin1C_rus
530 views08:57
Открыть/Комментировать
2022-08-30 11:21:05
Как быстро поменять название процедуры, назначенной на событие

Бывает так что имя процедуры слишком длинное или оно устарело. А чтобы его поменять – нужно изменить и название процедуры в коде и исправить её название в обработчике события.

Для быстрого изменения же следует делать это в поле с именем процедуры в событии. При изменении 1С предложит поменять имя процедуры:

И при нажатии «Да» имя процедуры изменится и в коде. Таким образом можно быстро выполнять рефакторинг.

@odin1C_rus
495 views08:21
Открыть/Комментировать
2022-08-29 16:23:18
Быстрый поиск по фразе в коде (CTRL+F3)

Если в коде нужно быстро найти какую-то фразу, можно выделить её и нажать CTRL + F3, тогда она автоматически подставится в поле поиска сверху и нажатием F3 можно будет переходить по всем местам этой фразы в коде.

Таким образом мы экономим время на копирование фразы (кстати, фразу можно быстро выделить, зажав CTRL и щелкнув внутри фразы), а также на перемещение мышью и вставку этого текста в поле поиска.

@odin1C_rus
599 views13:23
Открыть/Комментировать
2022-08-29 10:02:39
Вопрос перед закрытием конфигуратора

Как сделать так, чтобы конфигуратор задавал вопрос перед закрытием?

Древняя проблема конфигуратора.
Если у вас нет никаких несохраненных изменений, то при случайном нажатии "крестика" конфигуратор закрывается без каких либо вопросов.
И закрываются все открытые модулю, где вы, возможно, уже почти докопались до нужной строки кода.

Есть костыльное решение. Как только заходите в конфигуратор, создавайте, к примеру, пустую внешнюю обработку и не сохраняйте её.
Теперь, если вы случайно кликните по крестику конфигуратора, то получите вопрос от него.

@odin1C_rus
627 views07:02
Открыть/Комментировать
2022-08-26 11:03:48 Показать вопрос. Диалог подтверждения действия пользователем.

&НаКлиенте
Процедура КомандаСпроситьУПользователя(Команда)

Оповещение = Новый ОписаниеОповещения("КомандаСпроситьУПользователяЗавершение", ЭтаФорма, Неопределено);
ТекстВопроса = "Будет выполнено некое действие. Продолжить?";
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);

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

&НаКлиенте
Процедура КомандаСпроситьУПользователяЗавершение(Результат, ДополнительныеПараметры = Неопределено) Экспорт

Если Результат = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;

// Сделать что нужно

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

@odin1C_rus
988 views08:03
Открыть/Комментировать
2022-08-25 11:56:45 Проверить что переменная соответствует заданному типу

Порой нужно проверить что переменная имеет именно то описание типа что требуется в документации

чАртикул = 100000000000;
ТипДанныхДолженБыть = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Неотрицательный));

РезультатПриведения = ТипДанныхДолженБыть.ПривестиЗначение(чАртикул);

булПроверка = РезультатПриведения = чАртикул;

@odin1C_rus
1.0K views08:56
Открыть/Комментировать
2022-08-24 11:23:21 Разложить массив по типам объектов
Функция раскладывает массив в структуру

Функция РазложитьМассивПоТипамОбъектов(МассивОбъектов)
СтруктураТипов = Новый Структура;

Для Каждого Объект Из МассивОбъектов Цикл

МетаданныеДокумента = Метаданные.НайтиПоТипу(ТипЗнч(Объект));
Если МетаданныеДокумента <> Неопределено Тогда

ИмяДокумента = МетаданныеДокумента.Имя;
Если НЕ СтруктураТипов.Свойство(ИмяДокумента) Тогда
МассивДокументов = Новый Массив;
СтруктураТипов.Вставить(ИмяДокумента, МассивДокументов);
КонецЕсли;
СтруктураТипов[ИмяДокумента].Добавить(Объект);
КонецЕсли;

КонецЦикла;

Возврат СтруктураТипов;

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

@odin1C_rus
994 viewsedited  08:23
Открыть/Комментировать
2022-08-23 12:00:58 Узнать версию платформы

СисИнфо = Новый СистемнаяИнформация;

Если Лев(СисИнфо.ВерсияПриложения, 3) = "8.2" Тогда
V8Com = Новый COMОбъект("V82.Application");
Иначе
V8Com = Новый COMОбъект("V83.Application");
КонецЕсли;

@odin1C_rus
945 views09:00
Открыть/Комментировать
2022-08-22 09:24:01 Добавить таблицу в менеджер временных таблиц

Процедура добавляет таблицу в менеджер временных таблиц

// Процедура добавляет таблицу в менеджер временных таблиц
//
// Параметры:
// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер, в который нужно добавить таблицу
// ИмяТаблицы - Строка - Имя временной таблицы
// ДанныеТаблицы - ТаблицаЗначений - Данные таблицы
//
Процедура ДобавитьТаблицуВМенеджерВременныхТаблиц(МенеджерВременныхТаблиц, ИмяТаблицы, ДанныеТаблицы) Экспорт

ИменаКолонок = Новый Массив;
Для Каждого Колонка Из ДанныеТаблицы.Колонки Цикл
ИменаКолонок.Добавить(Колонка.Имя);
КонецЦикла;
ИменаКолонок = СтрСоединить(ИменаКолонок, ",");

ТекстЗапроса = "ВЫБРАТЬ %1 ПОМЕСТИТЬ %2 ИЗ &ТЗ КАК ТЗ";
ТекстЗапроса = СтрШаблон(ТекстЗапроса, ИменаКолонок, ИмяТаблицы);

Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("ТЗ", ДанныеТаблицы);
Запрос.Выполнить();

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

@odin1C_rus
1.1K views06:24
Открыть/Комментировать
2022-08-21 12:46:07
Как химику-1С-нику найти работу в Европе с релокацией. Пьеса в четырех действиях

Как 1С-нику найти работу в Европе с релокацией? Примерно таким вопросом я безуспешно пытал гугл примерно полтора года назад, когда мы с женой вдруг поняли, что переедем жить в Европу (не просто хотим переехать, а точно переедем). Ну, то есть, первой это поняла жена, а я уже следом за ней. Уверенность довольно удивительная, с учётом того, что стартовые позиции были весьма посредственными. Итак, действующие лица пьесы: я, жена, ребенок и кошка. Представление начинается.

@odin1C_rus
984 views09:46
Открыть/Комментировать