Skip to content

Instantly share code, notes, and snippets.

@AronMav
AronMav / Использовать метод внешней обработки.bsl
Last active March 22, 2019 12:02
Использовать метод внешней обработки
ВнешниеОбработки.Создать(<ПутьКОбработке/ирПортативный.epf>, Ложь).<ИмяФункции>(<Параметры>)
@AronMav
AronMav / ТЗ из макета через построитель отчетов.bsl
Last active April 18, 2019 07:21
ТЗ из макета через построитель отчетов
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(РегистрыСведений.ПарамПамПам.ПолучитьМакет("Макет").Область());
Построитель.ЗаполнитьНастройки();
Построитель.Выполнить();
ТЗ = Построитель.Результат.Выгрузить();
@AronMav
AronMav / Функции БСП в 1С.md
Last active August 12, 2025 07:51
Функции БСП в 1С

Роли

  1. Контроль доступности ролей
Пользователи.РолиДоступны(ИменаРолей, Пользователь = Неопределено, УчитыватьПривилегированныйРежим = Истина)

Работа с дополнительными свойствами

  1. Получить значение дополнительного свойства объекта
УправлениеСвойствами.ЗначениеСвойства(Объект, Свойство)
@AronMav
AronMav / Контекстный отчет с определенной структурой, отборами, параметрами.md
Last active April 23, 2020 11:50
Контекстный отчет с определенной структурой, отборами, параметрами

Допустим, стоит задача, из документа «Внутренне потребление товаров» формировать отчет «Ведомость по товарам на складах» с отбором по складу и товарам из документа, а также за период — дату документа.

Для этого необходимо доработать:

  1. Модуль менеджера документа ВнутреннееПотреблениеТоваров: процедура ДобавитьКомандыОтчетов():
// Заполняет список команд отчетов.
// 
// Параметры:
//   КомандыОтчетов - ТаблицаЗначений - состав полей см. в функции МенюОтчеты.СоздатьКоллекциюКомандОтчетов
@AronMav
AronMav / Поиск объектов по любым реквизитам(БСП).md
Last active August 18, 2022 09:56
Поиск объектов по любым реквизитам(БСП)

Функция позволяет найти ссылку на объект любого типа в конфигурации ERP2.0 (либо любой другой построенной на БСП). Поиск может выполняться по реквизитам основной таблицы, значениям дополнительных реквизитов по табличной части «Дополнительные реквизиты», значениям доп. сведений (регистр сведений «ДополнительныеСведения»).

Используется объектная модель работы с запросом (СхемаЗапроса). Поддерживается в версиях платформы: 8.3.5 и выше. Параметры:

Имя параметра Тип Описание ИмяТаблицы Строка Имя таблицы, по которой осуществляется поиск. Пример: «Справочник.Номенклатура» СтруктураРеквизитов Структура В качестве ключа передается имя реквизита основной таблицы, в качестве значения — значение реквизита СоответствиеДопРеквизитов Соответствие В качестве ключа передается ссылка на доп. реквизит — элемент плана вида характеристик «ДополнительныеРеквизитыИСведения», в качестве значения — значение реквизита

@AronMav
AronMav / Неадекватное растягивание колонок в управляемых формах.md
Last active September 7, 2025 11:44
Неадекватное растягивание колонок в управляемых формах

Настройки колонок табличной части:

АвтоМаксимальнаяШирина = Ложь;

МаксимальнаяШирина = устанавливаем в зависимости от данных (чтобы вмещались);

РастягиватьПоГоризонтали = Ложь;

При таких настройках будет растягиваться последняя колонка. Если мы не хотим растягивать последнюю колонку, добавляем последней колонкой пустое поле без данных.

@AronMav
AronMav / Универсальная функция чтения данных из dbf файлов и создания таблицы значений.md
Last active February 14, 2019 18:18
Универсальная функция чтения данных из dbf файлов и создания таблицы значений

Функция возвращает таблицу значений с колонками, имена которых заданы в списке колонок. Далее по этой ТЗ легко заполнить, например, табличную часть используя ЗаполнитьЗначенияСвойств().

&НаСервере
// Функция загружает данные из указанного dbf файла в таблицу значений.
// Параметры:
//  ИмяФайла - строка - полный путь к файлу.
//  Кодировка - КодировкаXBase.
//  СписокКолонок - СписокЗначений - список колонок, которые будут прочитаны,
//      СписокКолонок.Значение - имя колонки в dbf файле,
@AronMav
AronMav / Остатки с разбивкой по периодам в запросе 1С.md
Last active January 22, 2022 19:38
Остатки с разбивкой по периодам в запросе 1С

Часто перед программистом 1с возникает следующая задача: в запросе требуется взять остатки регистра бухгалтерии или накопления по периодам.

Пример: Есть определенный временной интервал (полгода к примеру) и на начало каждого месяца нужно получить остатки по дебиторской задолженности с разрезами Организация, Контрагент, Договор контрагента.

Казалось бы сделать это внутри запроса несложно: нужно взять виртуальную таблицу ОстаткиИОбороты, выбрать разбивку на нужные периоды и все. Но такой метод не сработает из-за одной неприятной особенности ОстатковИОборотов, в ней не хранятся остатки по периодам для тех позиций, по которым не было оборотов.

Пример: Контрагент Иванов должен нам 100 рублей на начало года, в январе, феврале и марте его задолженность оставалась неизменной. Берем таблицу Остатки и обороты регистра бухгалтерии Хозрасчетный по счету 62 за первый квартал, в периодичности указываем значение Месяц. Выполняем запрос и получаем следующий результат:

| Месяц | Нач. остаток | Приход | Расход | Кон. остат

@AronMav
AronMav / Интеграция нового документа (БСП).md
Last active December 8, 2022 09:33
Интеграция нового документа (БСП)

Добавление к документу проверки даты запрета в БСП

  1. Добавить документ в подписку «ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента».
  2. В общем модуле «ДатыЗапретаИзмененияУТ» в процедуру «ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения» добавить новый источник данных.
ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных...)
  1. В событие «ПриЧтенииНаСервере» добавить вызов процедуры.
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);