From 96ed28aa1d21e40898b239981b73bd659ac1080d Mon Sep 17 00:00:00 2001 From: silverbook Date: Mon, 16 Jun 2025 09:27:33 +0500 Subject: [PATCH 1/2] add --- .../Работа со связанными файлами/Связанные файлы по владельцу.md | 25 +++++++++ .../Вопрос перед удалением строк табличной части.md | 54 +++++++++++++++++++ .../Управляемые формы/Запрет упорядочивания по колонке дин.списка.md | 12 +++++ 3 files changed, 91 insertions(+) create mode 100644 src/content/docs/knowledge-base/Примеры кода, шаблоны/БСП и типовые/1. Библиотека стандартных подсистем/Работа со связанными файлами/Связанные файлы по владельцу.md create mode 100644 src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md create mode 100644 src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Запрет упорядочивания по колонке дин.списка.md diff --git a/src/content/docs/knowledge-base/Примеры кода, шаблоны/БСП и типовые/1. Библиотека стандартных подсистем/Работа со связанными файлами/Связанные файлы по владельцу.md b/src/content/docs/knowledge-base/Примеры кода, шаблоны/БСП и типовые/1. Библиотека стандартных подсистем/Работа со связанными файлами/Связанные файлы по владельцу.md new file mode 100644 index 0000000..6e94979 --- /dev/null +++ b/src/content/docs/knowledge-base/Примеры кода, шаблоны/БСП и типовые/1. Библиотека стандартных подсистем/Работа со связанными файлами/Связанные файлы по владельцу.md @@ -0,0 +1,25 @@ +--- +title: Получение связанных файлов по владельцу (спр. "Файлы") +--- + +Получение связанных файлов по владельцу, если файлы владельца хранятся в справочнике "Файлы" +# Описание +```bsl +// Возвращает массив структур, описывающих файлы владельца. +// +// Параметры: +// Владелец - ЛюбаяСсылка - объект-владелец связанных файлов +// ДокументID - не заполняется. Используется для унификации ДО и БСП. +// ДокументТип - не заполняется. Используется для унификации ДО и БСП. +// ВключатьПомеченныеНаУдаление - Булево - Истина, если требуется получить и помеченные на удаление. +// +// Возвращаемое значение: +// Массив - структуры, описывающие реквизиты связанных файлов +// +Функция СвязанныеФайлыПоВладельцу(Владелец, ДокументID = "", ДокументТип = "", ВключатьПомеченныеНаУдаление = Ложь) Экспорт +``` + +# Пример вызова +```bsl +СписокФайлов = СвязанныеФайлыВызовСервера.СвязанныеФайлыПоВладельцу(Ссылка); +``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md b/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md new file mode 100644 index 0000000..386094c --- /dev/null +++ b/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md @@ -0,0 +1,54 @@ +--- +title: Вопрос перед удалением строк таблицы формы +--- + +Если нужно удалить какие-нибудь связанные данные при удалении строки из основной таблицы - ниже пример + +```bsl +&НаКлиенте +Процедура ДефектыДвигателяПередУдалением(Элемент, Отказ) + Отказ = Истина; + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("ВыделенныеСтроки", Элементы.ДефектыДвигателя.ВыделенныеСтроки); + + ОписаниеОповещения = Новый ОписаниеОповещения("УдалитьСтрокиТаблицыДефектыДвигателя", ЭтотОбъект, ДополнительныеПараметры); + ТекстВопроса = "Внимание! При удалении строк из этой табличной части также будут удалены связанные данные о виновниках, мероприятиях и причинах"; + + ПоказатьВопрос(ОписаниеОповещения, + ТекстВопроса, + РежимДиалогаВопрос.ДаНет, + 60, + КодВозвратаДиалога.Нет, + "Удалить выделенные строки?", + КодВозвратаДиалога.Нет); +КонецПроцедуры + +&НаКлиенте +Процедура УдалитьСтрокиТаблицыДефектыДвигателя(Результат, ДополнительныеПараметры) Экспорт + + Если Результат <> КодВозвратаДиалога.Да Тогда + Возврат; + КонецЕсли; + + ВыделенныеСтроки = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеПараметры, + "ВыделенныеСтроки", Новый Массив); + + Для Каждого Идентификатор Из ВыделенныеСтроки Цикл + + ДанныеСтроки = Объект.ДефектыДвигателя.НайтиПоИдентификатору(Идентификатор); + + Если ДанныеСтроки = Неопределено Тогда + Сообщение = СтрШаблон("Не удалось удалить строку с идентификатором %1", Идентификатор); + Продолжить; + КонецЕсли; + + УдалитьСвязанныеСтрокиТаблицыВиновники(ДанныеСтроки); + УдалитьСвязанныеСтрокиТаблицыМероприятия(ДанныеСтроки); + УдалитьСвязанныеСтрокиТаблицыПричины(ДанныеСтроки); + + Объект.ДефектыДвигателя.Удалить(ДанныеСтроки); + + КонецЦикла; + +КонецПроцедуры +``` \ No newline at end of file diff --git a/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Запрет упорядочивания по колонке дин.списка.md b/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Запрет упорядочивания по колонке дин.списка.md new file mode 100644 index 0000000..a3f9568 --- /dev/null +++ b/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Запрет упорядочивания по колонке дин.списка.md @@ -0,0 +1,12 @@ +--- +title: Запрет упорядочивания по колонке динамического списка +--- + +```bsl +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + ЗапрещенныеПоля = Новый Массив; + ЗапрещенныеПоля.Добавить("Источник"); + Список.УстановитьОграниченияИспользованияВПорядке(ЗапрещенныеПоля); +КонецПроцедуры +``` \ No newline at end of file From 0d07efbcc7bab76a3b940334df04aa6cb07c238e Mon Sep 17 00:00:00 2001 From: silverbook Date: Mon, 16 Jun 2025 13:40:43 +0500 Subject: [PATCH 2/2] edit --- .../Управляемые формы/Вопрос перед удалением строк табличной части.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md b/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md index 386094c..c39c13d 100644 --- a/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md +++ b/src/content/docs/knowledge-base/Примеры кода, шаблоны/Общее/Управляемые формы/Вопрос перед удалением строк табличной части.md @@ -16,11 +16,7 @@ title: Вопрос перед удалением строк таблицы фо ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, - РежимДиалогаВопрос.ДаНет, - 60, - КодВозвратаДиалога.Нет, - "Удалить выделенные строки?", - КодВозвратаДиалога.Нет); + РежимДиалогаВопрос.ДаНет); КонецПроцедуры &НаКлиенте @@ -33,6 +29,7 @@ title: Вопрос перед удалением строк таблицы фо ВыделенныеСтроки = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеПараметры, "ВыделенныеСтроки", Новый Массив); + СтрокиКУдалению = Новый Массив; Для Каждого Идентификатор Из ВыделенныеСтроки Цикл ДанныеСтроки = Объект.ДефектыДвигателя.НайтиПоИдентификатору(Идентификатор); @@ -46,9 +43,13 @@ title: Вопрос перед удалением строк таблицы фо УдалитьСвязанныеСтрокиТаблицыМероприятия(ДанныеСтроки); УдалитьСвязанныеСтрокиТаблицыПричины(ДанныеСтроки); - Объект.ДефектыДвигателя.Удалить(ДанныеСтроки); + СтрокиКУдалению.Добавить(ДанныеСтроки); КонецЦикла; + + Для Каждого Строка Из СтрокиКУдалению Цикл + Объект.ДефектыДвигателя.Удалить(Строка); + КонецЦикла; КонецПроцедуры ``` \ No newline at end of file