Общий модуль АСП_Функции

Содержит процедуры и функции общего пользования.

// функция подготавливает табличную часть товаров для сертификата
// на вход подаётся запрос, полученный любой функции типа ЗапросТаблицы* из модуля АСП_Общие,
// а также ссылка на документ основание
Функция ТоварыЗапроса(Запрос, Ссылка) Экспорт

// поиск шаблона сертификата для документа, указанного ссылкой и виду документа
Функция НайтиШаблон(Ссылка, ВидДокумента=Неопределено, ЧастичныйВозврат=Ложь) Экспорт

// функция возвращает список сертификатов по указанному основанию-ссылке
// Ссылка - ссылка на документ учетной базы
// ВидДокумента - ссылка на элемент справочника АСП_ВидыДокументов1С, указывает какой именно вид
// сертификата мы хотим получить (по-умолчанию - все)
// Разрез - фильтр по полю "Разрез" сертификата (поле принадлежности сертификата к категории или товару)
// Глубина - рекурсивный обход подчинённых сертификатов
Функция ПолучитьСписокВетДокументов(Ссылка, ВидДокумента = Неопределено, Разрез = Неопределено, Глубина = Ложь) Экспорт

// добавить или вычесть срок годности к указанной дате
// срок годности определяется по доп. реквизитам товара
Функция ДобавитьСрокГодности(Дата, Товар) Экспорт
Функция ВычестьСрокГодности(Дата, Товар) Экспорт

// получает запрос для отбора остатков по указанной организации (поднадзорному)
// для выполнения запроса необходимо установить параметры:
// Номенклатура (указать ссылку или Неопределено)
// Категория
// ДатаВыработки (возможна пустая дата (1,1,1))
// Упаковка (указать ссылки или пустую ссылку)
Функция ПолучитьЗапросПоОстаткам(Организация, НаДату, Граница) Экспорт
Функция ПолучитьЗапросПоОстаткамДинамики(Организация, НаДату, Граница) Экспорт

// трансформирует таблицу значений в дерево значений по одному полю, которое выносится на верхний уровень
Функция СвернутьВДерево(Таблица, Поле) Экспорт

// разбивает строку по разделителю и возвращает массив кусков, универсальный аналог СтрРазделить
Функция СтрРазбить(Стр, Разделитель=",") Экспорт

// проверяет дату на пустоту (1,1,1)
Функция ПустаяДата(Дата) Экспорт

//**** функции для работы со справочниками
// возвращает массив типов справочников
// Раздел: 0 - хозяйствующие, 1 - поднадзорные, 2 - товары
Функция НаборТипов(Раздел) Экспорт

// получает запись регистра сведений, связанную со ссылкой справочника
// Вариант: 0 - хозяйтсвующие, 1 - поднадзорные, 2 - товары
Функция ПолучитьЗапись(Ссылка, Вариант) Экспорт

// поиск элемента справочника по ГУИДу Меркурия
Функция НайтиСсылку(ГУИД, Вариант) Экспорт

// очищает массив приемник и заполняет из массива источника
Процедура ЗаместитьМассив(Приемник, Источник) Экспорт

#Если ТолстыйКлиентОбычноеПриложение Тогда
// **** для обычных форм

// Универсальная форма выбора
// ЭтаФорма - вызывающая форма
// Таб - таблица с данными для выбора
// Заголовок
// МестоВызова - строковое описание места вызова для передачи в обработчик при выборе
// Данные - любой набор данных для передачи в обработчик
// обработчиком является событие "ОбработкаВыбора" на вызывающей форме
// Процедура ОбработкаВыбора(ЗначениеВыбора, Источник),
// где МестоВызова и Данные можно получить через Источник
Процедура ОткрытьФормуВыбора(ЭтаФорма, Таб, Заголовок = "", МестоВызова = "", Данные = Неопределено) Экспорт

// Программное добавление колонки в таблицу формы
// Таб - таблица значений
// ТабФормы - элемент формы таблицы значений
// Позиция - индекс позиции добавляемой колонки
// Имя - имя колонки
// Тип - тип колонки
Процедура ДобавитьКолонку(Таб, ТабФормы, Позиция, Имя, Тип)

// открывает общую форму "АСП_ПакетныйВвод" для указанной ссылки на документ
// форма помогает быстро создавать и регистрировать сертификаты
Процедура ОткрытьФормуПакетногоВвода(Ссылка) Экспорт

// скопировать поле типа "Отбор"
// полезно для универсальных отборов
Процедура СкопироватьОтбор(Источник, Приемник, ТолькоСтруктуру = Ложь) Экспорт
// очистить поле типа "Отбор"
Процедура ОчиститьОтбор(Отбор) Экспорт

#Иначе
//**** для управляемых форм
// функция для трансформации таблицы значений в массив структур
// полезно при передачи данных с сервера на клиент
Функция ПолучитьМассивИзТаблицы(ТЗ) Экспорт

// стандартный баян УФ
Функция ПолучитьРеквизит(Ссылка, Реквизит) Экспорт

// инициализирует компоновщик настроек компоновки данных всеми полями по указанным метаданным
// нужно для универсальных отборов на УФ
Процедура ИнициализироватьКНКД(Мета, КомпоновщикНастроек) Экспорт

// загружает настройки отбора в указанный компоновщик
Процедура ЗагрузитьОтбор(Отбор, КомпоновщикНастроек) Экспорт

// возвращает массив ссылок в результате выполнения запроса на базе компоновщика настроек
Функция ВыполнитьОтбор(КомпоновщикНастроек, Мета=Неопределено) Экспорт
#КонецЕсли

// объединяет массив строк в одну строку с разделителями
Функция СтрОбъединить(Массив, Разделитель=",") Экспорт