Skip to content

Пакетная обработка табличной части сервер

ОбработатьСтрокуТЧВЦикле

Описание, пример вызова
// Выполняет обработку строк коллекции в соответствии с операциями, перечисленными в структуре действий.
// При выполнении метода происходит предварительное получение данных, необходимых для обработки одним запросом.
// Вызов метода должен производиться в цикле обхода коллекции, предварительно нужно определить КэшированныеЗначения.
//
// Параметры:
// ТекущаяСтрока - Структура, ДанныеФормыКоллекция - Приемник действий обработки строки.
// Действия - Структура - Действия, которые нужно произвести над строкой. В ключах хранится наименование действия,
// в значениях - произвольные данные, необходимые для обработки.
// КэшированныеЗначения - см. ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения
// КоллекцияСтрок - ДанныеФормыКоллекция, Массив из Структура, ТаблицаЗначений - Коллекция, которая обходится в цикле
// и является источником данных для обработки, на основании этой коллекция сформируется временная
// таблица втИсточникДанных. Данные полученной временной таблицы следует использовать, для описания
// текстов запроса получения данных, необходимых для обработки всех обрабатываемых строк в методе
// ДополнитьТекстыЗапросовИсточниковДанных.
// ТекущаяСтрокаВКоллекции - ДанныеФормыЭлементКоллекции, СтрокаТаблицыЗначений, Структура - Итератор обхода коллекции
// КоллекцияСтрок, этот параметр требуется для получения данных через метод ДанныеДляОбработкиСтроки.
// ТекущаяСтрокаВКоллекции может не совпадать с параметром ТекущаяСтрока, например в тех случаях, когда
// обходится массив добавляемых номенклатур в ТЧ Товары, в этом примере ТекущаяСтрока это новая строка
// табличной части, а ТекущаяСтрокаВКоллекции это элемент массива из элементов справочника Номенклатура.
//
// Пример:
//
// 1. Для обработки всех строк табличной части с дополнительной обработкой прикладным кодом без создания промежуточной
// структуры:
//
// КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
//
// СтруктураДействий = Новый Структура();
// СтруктураДействий.Вставить("ЗаполнитьКодТНВЭД", Объект.НалогообложениеНДС);
//
// Для Каждого СтрокаТЧ Из Объект.Товары Цикл
//
// ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧВЦикле(
// СтрокаТЧ,
// СтруктураДействий,
// КэшированныеЗначения,
// Объект.Товары,
// СтрокаТЧ);
// //Доп обработка строки
// СтрокаТЧ.ЗаполнятьВозвратнуюТару = Истина;
//
// КонецЕсли;
//
// 2. Для обработки всех строк табличной части с созданием промежуточной структуры:
//
// КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
//
// СтруктураДействий = Новый Структура();
// СтруктураДействий.Вставить("ЗаполнитьКоэффициентПоНоменклатуре");
//
// Для Каждого СтрокаТЧ Из Объект.Товары Цикл
//
// ДанныеДляОбработки = Новый Структура();
// ДанныеДляОбработки.Вставить("Номенклатура", СтрокаТЧ.Номенклатура);
// ДанныеДляОбработки.Вставить("Коэффициент", Объект.Коэффициент);
//
// ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧВЦикле(
// ДанныеДляОбработки,
// СтруктураДействий,
// КэшированныеЗначения,
// Объект.Товары,
// СтрокаТЧ);
//
// ЗаполнитьЗначенияСвойств(СтрокаТЧ, ДанныеДляОбработки);
//
// КонецЕсли;
//
// 3. Для дополнения табличной части по входящей коллекции, примером может служить подбор товаров:
//
// ТаблицаТоваров = ПолучитьИзВременногоХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);
//
// КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
//
// СтруктураДействий = Новый Структура();
// СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС");
//
// Для Каждого ПодобранныйТовар Из ТаблицаТоваров Цикл
//
// НоваяСтрокаТЧ = Объект.Товары.Добавить();
// ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧВЦикле(
// НоваяСтрокаТЧ,
// СтруктураДействий,
// КэшированныеЗначения,
// ТаблицаТоваров,
// ПодобранныйТовар);
//
// КонецЕсли;
//
// Случаи некорректного использования:
// 1. Для обработки одной строки табличной части, например при изменения номенклатуры в строке, следует использовать ОбработатьСтрокуТЧ
// 2. При наличии в структуре действий зависимых обработчиков, см . ПриОписанииЗависимостейОбработчиков, следует
// использовать метод ОбработатьСтрокиТЧ. Если требуется обработать не все строки, то требуется сформировать массив
// строк табличной части, подлежащих обработки и передать его в параметр КоллекцияСтрок.
//
Процедура ОбработатьСтрокуТЧВЦикле(ТекущаяСтрока, Действия, КэшированныеЗначения, КоллекцияСтрок, ТекущаяСтрокаВКоллекции) Экспорт

Пример вызова

ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧВЦикле(ТекущаяСтрока, Действия, КэшированныеЗначения, КоллекцияСтрок, ТекущаяСтрокаВКоллекции)

ОбработатьСтрокиТЧ

Описание, пример вызова
// Выполняет обработку нескольких строк коллекции в соответствии с операциями, перечисленными в структуре действий.
// При выполнении метода происходит предварительное получение данных, необходимых для обработки одним запросом.
// Следует использовать когда требуется обработать некоторые строки табличной части, предварительно сформировать массив
// строк табличной части и передавать его в параметр КоллекцияСтрок,
// указав в параметре ТабЧасть табличную часть, к которой относятся элементы этого массива.
// Так же метод следует использовать, когда в структуре действий присутствуют зависимые обработчики.
//
// Параметры:
// КоллекцияСтрок - см. ОбработатьСтрокуТЧВЦикле.КоллекцияСтрок.
// СтруктураДействий - см. ОбработатьСтрокуТЧВЦикле.Действия.
// КэшированныеЗначения - см. ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения.
// ТабЧасть - ДанныеФормыКоллекция - Табличная часть, приемник действий над строками.
//
Процедура ОбработатьСтрокиТЧ(КоллекцияСтрок, СтруктураДействий, КэшированныеЗначения = Неопределено, ТабЧасть = Неопределено) Экспорт

Пример вызова

ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(КоллекцияСтрок, СтруктураДействий, КэшированныеЗначения, ТабЧасть);

ОбработатьСтрокуТЧ

Описание, пример вызова
// Выполняет обработку одной строки коллекции в соответствии с операциями, перечисленными в структуре действий.
// При выполнении метода происходит предварительное получение данных, необходимых для обработки одним запросом.
// Следует применять в тех случаях, когда обработка происходит не в цикле, например при заполнении Ставки НДС при
// изменении номенклатуры в табличной части.
//
// Параметры:
// СтрокаКоллекции - см. ОбработатьСтрокуТЧВЦикле.ТекущаяСтрока.
// СтруктураДействий - см. ОбработатьСтрокуТЧВЦикле.Действия.
// КэшированныеЗначения - см. ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения.
// Коллекция -см. ОбработатьСтрокиТЧ.ТабЧасть.
//
Процедура ОбработатьСтрокуТЧ(СтрокаКоллекции, СтруктураДействий, КэшированныеЗначения, Коллекция = Неопределено) Экспорт

Пример вызова

ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(СтрокаКоллекции, СтруктураДействий, КэшированныеЗначения, Коллекция);

ОбработатьТЧ

Описание, пример вызова
// Выполняет обработку всей коллекции в соответствии с операциями, перечисленными в структуре действий.
// При выполнении метода происходит предварительное получение данных, необходимых для обработки одним запросом.
//
// Параметры:
// ТабличнаяЧасть - см. ОбработатьСтрокуТЧВЦикле.КоллекцияСтрок.
// СтруктураДействий - см. ОбработатьСтрокуТЧВЦикле.Действия.
// КэшированныеЗначения - см. ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения.
//
Процедура ОбработатьТЧ(ТабличнаяЧасть, СтруктураДействий, КэшированныеЗначения = Неопределено) Экспорт

Пример вызова

ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьТЧ(ТабличнаяЧасть, СтруктураДействий, КэшированныеЗначения);

ДобавитьИсточникДанных

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

Пример вызова

ПакетнаяОбработкаТабличнойЧастиСервер.ДобавитьИсточникДанных(ОписаниеЗапроса, КэшированныеЗначения)

ЕстьКолонкаВИсточникеДанных

Описание, пример вызова
// Проверяет наличие колонки в обрабатываемой коллекции.
//
// Параметры:
// ИмяКолонки - Строка - Имя колонки, наличие которой требуется проверить.
// КэшированныеЗначения - см. ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения
//
// Возвращаемое значение:
// Булево - Признак наличия колонки в обрабатываемой коллекции.
//
Функция ЕстьКолонкаВИсточникеДанных(ИмяКолонки, КэшированныеЗначения) Экспорт

Пример вызова

Результат = ПакетнаяОбработкаТабличнойЧастиСервер.ЕстьКолонкаВИсточникеДанных(ИмяКолонки, КэшированныеЗначения)

ТипКолонкиВИсточникеДанных

Описание, пример вызова
// Возвращает тип колонки в обрабатываемой коллекции.
//
// Параметры:
// ИмяКолонки - Строка - Имя колонки, которая будет добавлена в временную таблицу, построенную на основании всей коллекции.
// ОписаниеЗапроса - см. ОписаниеЗапроса
//
// Возвращаемое значение:
// ОписаниеТипов - ОписаниеТипов - Тип колонки в обрабатываемой коллекции.
//
Функция ТипКолонкиВИсточникеДанных(ИмяКолонки, ОписаниеЗапроса) Экспорт

Пример вызова

Результат = ПакетнаяОбработкаТабличнойЧастиСервер.ТипКолонкиВИсточникеДанных(ИмяКолонки, ОписаниеЗапроса)

ОписаниеЗапроса

Описание, пример вызова
// Возвращает описание запроса, необходимое для получения необходимых данных для обработки строк коллекции.
//
// Возвращаемое значение:
// Структура:
// * ТекстыЗапросов - СписокЗначений из Строка - Тексты запросов, результат выполнения которых вернет
// все необходимые данные для обработки строк. В значении следует поместить текст запроса.
// В представлении наименование запроса, его следует передавать в параметр ИмяИсточника при использовании
// метода ДанныеДляОбработкиСтроки.
// * ПараметрыЗапроса - Структура - Параметры пакета запросов. В ключах структуры содержатся имена параметров,
// которое используется в запросе, в значениях значения параметров, передаваемых в запрос.
// * ИсточникДанных - ТаблицаЗначений - Обрабатываемая коллекция, преобразованная в таблицу значений.
// * ДопКолонки - Структура - Описание дополнительных колонок.
// * ПривилегированныйРежим - Булево - Признак необходимости установки привилегированного режима перед выполнением запроса.
//
Функция ОписаниеЗапроса() Экспорт

Пример вызова

Результат = ПакетнаяОбработкаТабличнойЧастиСервер.ОписаниеЗапроса()

ДанныеДляОбработкиСтроки

Описание, пример вызова
// Возвращает данные, необходимые для обработки текущей строки табличной части.
//
// Параметры:
// ИмяИсточника - Строка - Имя таблицы в запросе, которая описана в методе ДополнитьТекстыЗапросовИсточниковДанных
// КэшированныеЗначения - см. ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения.
//
// Возвращаемое значение:
// ТаблицаЗначений, Неопределено - Результат запроса с отбором по имени запроса и текущей обрабатываемой строке:
//
Функция ДанныеДляОбработкиСтроки(ИмяИсточника, КэшированныеЗначения) Экспорт

Пример вызова

Результат = ПакетнаяОбработкаТабличнойЧастиСервер.ДанныеДляОбработкиСтроки(ИмяИсточника, КэшированныеЗначения)

ТребуетсяВыполнитьДействие

Описание, пример вызова
// Проверяет необходимость выполнения действия со строкой, исходя из наличия действия в структуре действий и зависимости
// обработчиков. Устанавливает значения переданных параметров из действия в переменную Параметр.
//
// Параметры:
// ИмяДействия - Строка - Имя действия, которое требуется выполнить над строкой, например "ЗаполнитьСтавкуНДС".
// СтруктураДействий - см. ОбработатьСтрокуТЧВЦикле.Действия.
// КэшированныеЗначения - см. ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения.
// Параметры - Произвольный - Дополнительные параметры, необходимые для обработки строки текущим действием.
//
// Возвращаемое значение:
// Булево - Признак необходимости выполнения действия.
//
Функция ТребуетсяВыполнитьДействие(ИмяДействия, СтруктураДействий, КэшированныеЗначения, Параметры = Неопределено) Экспорт

Пример вызова

Результат = ПакетнаяОбработкаТабличнойЧастиСервер.ТребуетсяВыполнитьДействие(ИмяДействия, СтруктураДействий, КэшированныеЗначения, Параметры);

ДополнитьКолонкиИсточникаДанных

Описание, пример вызова
// Описание дополнительных колонок, которые будут заполнены программно. Данные в колонках требуется для более удобной
// обработки строк, нежели переноса логики на сторону СУБД.
//
// Параметры:
// ОписаниеЗапроса - см. ОписаниеЗапроса
// ИмяКолонки - Строка - Имя колонки, которую требуется добавить в временную таблицу с обрабатываемой коллекцией.
// ОписаниеТипа - ОписаниеТипов - Тип добавляемой колонки.
//
Процедура ДополнитьКолонкиИсточникаДанных(ОписаниеЗапроса, ИмяКолонки, ОписаниеТипа) Экспорт

Пример вызова

ПакетнаяОбработкаТабличнойЧастиСервер.ДополнитьКолонкиИсточникаДанных(ОписаниеЗапроса, ИмяКолонки, ОписаниеТипа)

© 2024, ООО 1С-Софт
Все права защищены. Эта программа и сопроводительные материалы предоставляются
в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0).