Skip to content

Instantly share code, notes, and snippets.

@a-sitnikov
Last active November 3, 2022 04:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save a-sitnikov/5eded493f1e29c21b8d0ced15c5071d7 to your computer and use it in GitHub Desktop.
Save a-sitnikov/5eded493f1e29c21b8d0ced15c5071d7 to your computer and use it in GitHub Desktop.
запуск в фоновом задании
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Параметры.Свойство("ДополнительнаяОбработкаСсылка", ДополнительнаяОбработкаСсылка);
ВыполнятьвФоне = Истина;
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
ОбработкаОбъект.ЗаполнитьТаблицуОбработок();
ОбработкаМетаданные = ОбработкаОбъект.Метаданные();
АвтоЗаголовок = Ложь;
Заголовок = ОбработкаМетаданные.Представление() + ", версия: " + ОбработкаМетаданные.Комментарий;
ЗначениеВРеквизитФормы(ОбработкаОбъект, "Объект");
КонецПроцедуры
&НаСервере
Процедура ПриСохраненииДанныхВНастройкахНаСервере(Настройки)
Настройки.Вставить("Таблица", Объект.ТаблицаОбработок.Выгрузить());
КонецПроцедуры
&НаСервере
Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки)
Таблица = Настройки["Таблица"];
Если Таблица <> Неопределено Тогда
Для каждого СтрокаТЧ из Объект.ТаблицаОбработок Цикл
НайденнаяСтрока = Таблица.Найти(СтрокаТЧ.Имя, "Имя");
Если НайденнаяСтрока <> Неопределено Тогда
СтрокаТЧ.Пометка = НайденнаяСтрока.Пометка;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Элементы.Индикатор.Видимость = ВыполнятьвФоне;
УстановитьТекстГруппыОтлдадки(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
// Устанавливаем реквизит для вызова обработчика сохранения
РеквизитДляСохранения = ТекущаяУниверсальнаяДатаВМиллисекундах();
КонецПроцедуры
#КонецОбласти
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьТекстГруппыОтлдадки(ЭтаФорма)
МассивСтрок = Новый Массив;
Если ЗначениеЗаполнено(ЭтаФорма.Тест_КоличествоСтрок) Тогда
МассивСтрок.Добавить("колво строк: " + ЭтаФорма.Тест_КоличествоСтрок);
КонецЕсли;
ЭтаФорма.ТекстГруппыОтладки = СтрСоединить(МассивСтрок, ", ");
КонецПроцедуры
#Область ОбработчикиСобытийЭлементовФормы
&НаКлиенте
Процедура КолвоСтрокПриИзменении(Элемент)
УстановитьТекстГруппыОтлдадки(ЭтаФорма);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнятьвФонеПриИзменении(Элемент)
Элементы.Индикатор.Видимость = ВыполнятьвФоне;
КонецПроцедуры
#КонецОбласти
#Область ФоновоеВыполнение
&НаКлиенте
Процедура ПрогрессВыполнения(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Статус = "Выполняется"
ИЛИ Результат.Статус = "Выполнено" Тогда
РезультатЗадания = ПрочитатьПрогрессИСообщения(Результат.ИдентификаторЗадания);
Если РезультатЗадания.Прогресс <> Неопределено Тогда
Индикатор = РезультатЗадания.Прогресс.Процент;
Текст = РезультатЗадания.Прогресс.Текст;
КонецЕсли;
Если РезультатЗадания.Сообщения <> Неопределено Тогда
Для Каждого Сообщение Из РезультатЗадания.Сообщения Цикл
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Сообщение.Текст, Сообщение.КлючДанных, Сообщение.Поле, Сообщение.ПутьКДанным);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПрочитатьПрогрессИСообщения(ИдентификаторЗадания)
Возврат ДлительныеОперации.ОперацияВыполнена(ИдентификаторЗадания, Истина, Истина, Истина);
КонецФункции
&НаКлиенте
Процедура ПослеФоновойОбработкиДанных(Задание, ДополнительныеПараметры) Экспорт
Если Задание = Неопределено Тогда
Возврат;
КонецЕсли;
Если Задание.Статус = "Ошибка" Тогда
ТекстОшибки = Задание.КраткоеПредставлениеОшибки;
ОчиститьСообщения();
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки);
ИначеЕсли Задание.Статус = "Выполнено" Тогда
РезультатЗадания = ПрочитатьПрогрессИСообщения(ИдентификаторЗадания);
Если РезультатЗадания.Сообщения <> Неопределено Тогда
Для Каждого Сообщение Из РезультатЗадания.Сообщения Цикл
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Сообщение.Текст, Сообщение.КлючДанных, Сообщение.Поле, Сообщение.ПутьКДанным);
КонецЦикла;
КонецЕсли;
Состояние("Обработка завершена");
ЗавершениеОбработки(Задание.АдресРезультата);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗавершениеОбработки(АдресРезультата)
Текст = "Обработка завершена";
КонецПроцедуры
#КонецОбласти
#Область ВыполнитьОбработку
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьОбработкуОтвет", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, "Выполнить обработку?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьОбработкуОтвет(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
ОчиститьСообщения();
ОповещениеОПрогрессеВыполнения = Новый ОписаниеОповещения("ПрогрессВыполнения", ЭтотОбъект);
Задание = ВыполнитьОбработкуСервер();
Если Задание <> Неопределено Тогда
НастройкиОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
НастройкиОжидания.ВыводитьОкноОжидания = Ложь;
НастройкиОжидания.ПолучатьРезультат = Истина;
НастройкиОжидания.ВыводитьСообщения = Ложь;
НастройкиОжидания.Интервал = 1;
НастройкиОжидания.ОповещениеОПрогрессеВыполнения = ОповещениеОПрогрессеВыполнения;
НастройкиОжидания.ОповещениеПользователя.Показать = Ложь;
Обработчик = Новый ОписаниеОповещения("ПослеФоновойОбработкиДанных", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(Задание, Обработчик, НастройкиОжидания);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ВыполнитьОбработкуСервер()
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ВыводитьСообщения", ВыводитьСообщения);
СтруктураПараметров.Вставить("Таблица", Объект.ТаблицаОбработок.Выгрузить());
СтруктураПараметров.Вставить("Тест_КоличествоСтрок", Тест_КоличествоСтрок);
СтруктураПараметров.Вставить("ИдентификаторФормы", ЭтаФорма.УникальныйИдентификатор);
СтруктураПараметров.Вставить("ИмяФормы", ЭтаФорма.ИмяФормы);
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Индикатор = 0;
Текст = "";
Если ВыполнятьвФоне Тогда
Если ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
Попытка
ЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
Исключение
ЗаданиеВыполнено = Истина;
КонецПопытки;
Иначе
ЗаданиеВыполнено = Истина;
КонецЕсли;
Если ЗаданиеВыполнено = Ложь Тогда
// Надо ждать
Возврат Неопределено;
КонецЕсли;
ВыполняемыйМетод = "ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки";
ЭтоВнешняяОбработка = Не Метаданные.Обработки.Содержит(ОбработкаОбъект.Метаданные());
НаименованиеЗадания = ОбработкаОбъект.Метаданные().Представление();
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ИмяОбработки", ОбработкаОбъект.ИспользуемоеИмяФайла);
ПараметрыЗадания.Вставить("ИмяМетода", "ВыполнитьОбработку");
ПараметрыЗадания.Вставить("ПараметрыВыполнения", СтруктураПараметров);
ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", ЭтоВнешняяОбработка);
ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка", ДополнительнаяОбработкаСсылка);
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(ЭтаФорма.УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ЗапуститьВФоне = Истина;
РезультатФоновогоЗадания = ДлительныеОперации.ВыполнитьВФоне(ВыполняемыйМетод, ПараметрыЗадания, ПараметрыВыполнения);
ИдентификаторЗадания = РезультатФоновогоЗадания.ИдентификаторЗадания;
Возврат РезультатФоновогоЗадания;
Иначе
АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, ЭтаФорма.УникальныйИдентификатор);
ОбработкаОбъект.ВыполнитьОбработку(СтруктураПараметров, АдресРезультата);
ЗавершениеОбработки(АдресРезультата);
КонецЕсли;
КонецФункции
#КонецОбласти
&НаКлиенте
Процедура ВклВсе(Команда)
Для каждого СтрокаТЗ из Объект.ТаблицаОбработок Цикл
СтрокаТЗ.Пометка = Истина;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОтклВсе(Команда)
Для каждого СтрокаТЗ из Объект.ТаблицаОбработок Цикл
СтрокаТЗ.Пометка = Ложь;
КонецЦикла;
КонецПроцедуры
#Область ОписаниеОбработки
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = Метаданные().Комментарий;
ПараметрыРегистрации.БезопасныйРежим = Истина;
ПараметрыРегистрации.Информация = Метаданные().Представление();
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = Метаданные().Представление() + " - открыть форму";
НоваяКоманда.Идентификатор = Метаданные().Имя + "Форма";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Ложь;
ЗаполнитьТаблицуОбработок();
Для каждого СтрокаТЧ из ТаблицаОбработок Цикл
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = СтрокаТЧ.Представление;
НоваяКоманда.Идентификатор = СтрокаТЧ.Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
КонецЦикла;
Возврат ПараметрыРегистрации;
КонецФункции
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыКоманды = Неопределено) Экспорт
Если РегламентныеЗаданияСервер.РаботаСВнешнимиРесурсамиЗаблокирована() Тогда
Возврат;
КонецЕсли;
Параметры = Новый Структура;
Выполнить(ИдентификаторКоманды + "(Параметры)");
КонецПроцедуры
#КонецОбласти
Процедура ЗаполнитьТаблицуОбработок() Экспорт
ДобавитьСтроку("ОбработатьДокумент", "Обработать документ");
ДобавитьСтроку("ОбработатьДокументСТЧ", "Обработать документ с ТЧ");
ДобавитьСтроку("ОбработатьРегистр", "Обработать регистр");
ДобавитьСтроку("ОбработатьПроводки", "Обработать проводки");
КонецПроцедуры
Процедура ДобавитьСтроку(Имя, Представление = "")
НоваяСтрока = ТаблицаОбработок.Добавить();
НоваяСтрока.Имя = Имя;
НоваяСтрока.Представление = ?(ЗначениеЗаполнено(Представление), Представление, Имя);
КонецПроцедуры
Процедура ВыполнитьОбработку(Параметры, АдресРезультата = Неопределено) Экспорт
Для каждого СтрокаТЧ из Параметры.Таблица Цикл
Если НЕ СтрокаТЧ.Пометка Тогда
Продолжить;
КонецЕсли;
Если СтрокаТЧ.Имя = "ОбработатьДокумент" Тогда
ОбработатьДокумент(Параметры);
КонецЕсли;
Если СтрокаТЧ.Имя = "ОбработатьДокументСТЧ" Тогда
ОбработатьДокументСТЧ(Параметры);
КонецЕсли;
Если СтрокаТЧ.Имя = "ОбработатьРегистр" Тогда
ОбработатьРегистр(Параметры);
КонецЕсли;
Если СтрокаТЧ.Имя = "ОбработатьПроводки" Тогда
ОбработатьПроводки(Параметры);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ОбработатьДокумент(Параметры)
Сообщить("Обработать документ, старт: " + ТекущаяДата());
Тест_КоличествоСтрок = 0;
Параметры.Свойство("Тест_КоличествоСтрок", Тест_КоличествоСтрок);
ТекстЗапроса =
"ВЫБРАТЬ //ПЕРВЫЕ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Док
|ГДЕ
| Док.КратностьВзаиморасчетов = 0
|
|УПОРЯДОЧИТЬ ПО
| Док.Дата УБЫВ";
Если ЗначениеЗаполнено(Тест_КоличествоСтрок) Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ПЕРВЫЕ", "ПЕРВЫЕ " + Формат(Тест_КоличествоСтрок, "ЧГ=0"));
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Выборка = Запрос.Выполнить().Выбрать();
Счетчик = 0;
Всего = Выборка.Количество();
Пока Выборка.Следующий() Цикл
Если Параметры.ВыводитьСообщения Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Строка(Выборка.Ссылка);
Сообщение.КлючДанных = Выборка.Ссылка;
Сообщение.Сообщить();
КонецЕсли;
ДокументОбъект = Выборка.Ссылка.ПолучитьОбъект();
//ДокументОбъект.КратностьВзаиморасчетов = 1;
ДокументОбъект.ОбменДанными.Загрузка = Истина;
Попытка
ДокументОбъект.Записать();
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ОписаниеОшибки();
Сообщение.КлючДанных = Выборка.Ссылка;
Сообщение.Сообщить();
КонецПопытки;
Счетчик = Счетчик + 1;
ПроцентВыполнения = Окр(100 * Счетчик / Всего, 2);
ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения, "Реализация товаров и услуг " + Счетчик + " из " + Всего);
КонецЦикла;
КонецПроцедуры
Процедура ОбработатьДокументСТЧ(Параметры)
Тест_КоличествоСтрок = 0;
Параметры.Свойство("Тест_КоличествоСтрок", Тест_КоличествоСтрок);
ТекстЗапроса =
"ВЫБРАТЬ //ПЕРВЫЕ
| Док.НомерСтроки КАК НомерСтроки,
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК Док
|ГДЕ
| Док.Коэффициент = 0
|
|УПОРЯДОЧИТЬ ПО
| Док.Ссылка.Дата УБЫВ
|ИТОГИ ПО
| Док.Ссылка";
Если ЗначениеЗаполнено(Тест_КоличествоСтрок) Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ПЕРВЫЕ", "ПЕРВЫЕ " + Формат(Тест_КоличествоСтрок, "ЧГ=0"));
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Счетчик = 0;
Всего = Выборка.Количество();
Пока Выборка.Следующий() Цикл
Если Параметры.ВыводитьСообщения Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Строка(Выборка.Ссылка);
Сообщение.КлючДанных = Выборка.Ссылка;
Сообщение.Сообщить();
КонецЕсли;
ДокументОбъект = Выборка.Ссылка.ПолучитьОбъект();
ВыборкаСтроки = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСтроки.Следующий() Цикл
СтрокаТЧ = ДокументОбъект.Продажи[ВыборкаСтроки.НомерСтроки - 1];
// СтрокаТЧ.Коэффициент = 1;
КонецЦикла;
ДокументОбъект.ОбменДанными.Загрузка = Истина;
ДокументОбъект.Записать();
Счетчик = Счетчик + 1;
ПроцентВыполнения = Окр(100 * Счетчик / Всего, 2);
ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения, "РеализацияТоваровУслуг - Товары " + Счетчик + " из " + Всего);
КонецЦикла;
КонецПроцедуры
Процедура ОбработатьРегистр(Параметры)
Тест_КоличествоСтрок = 0;
Параметры.Свойство("Тест_КоличествоСтрок", Тест_КоличествоСтрок);
ТекстЗапроса =
"ВЫБРАТЬ //ПЕРВЫЕ
| Рег.НомерСтроки КАК НомерСтроки,
| Рег.Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления.НДСНачисленный КАК Рег
|ГДЕ
| Рег.СчетУчетаНДС = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
|
|УПОРЯДОЧИТЬ ПО
| Рег.Период УБЫВ
|ИТОГИ ПО
| Рег.Регистратор";
Если ЗначениеЗаполнено(Тест_КоличествоСтрок) Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ПЕРВЫЕ", "ПЕРВЫЕ " + Формат(Тест_КоличествоСтрок, "ЧГ=0"));
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Счетчик = 0;
Всего = Выборка.Количество();
Пока Выборка.Следующий() Цикл
Если Параметры.ВыводитьСообщения Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Строка(Выборка.Регистратор);
Сообщение.КлючДанных = Выборка.Регистратор;
Сообщение.Сообщить();
КонецЕсли;
НаборЗаписей = РегистрыНакопления.АСЦ_НачисленноеКВ.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();
ВыборкаСтроки = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСтроки.Следующий() Цикл
Запись = НаборЗаписей[ВыборкаСтроки.НомерСтроки - 1];
//Запись. =
КонецЦикла;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();
Счетчик = Счетчик + 1;
ПроцентВыполнения = Окр(100 * Счетчик / Всего, 2);
ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения, "Регистр НДСНачисленный " + Счетчик + " из " + Всего);
КонецЦикла;
КонецПроцедуры
Процедура ОбработатьПроводки(Параметры)
Тест_КоличествоСтрок = 0;
Параметры.Свойство("Тест_КоличествоСтрок", Тест_КоличествоСтрок);
ТекстЗапроса =
"ВЫБРАТЬ //ПЕРВЫЕ
| ""Дт"" КАК ДтКт,
| Рег.НомерСтроки КАК НомерСтроки,
| Рег.Регистратор КАК Регистратор,
| Рег.Период КАК Период
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК Рег
|ГДЕ
| НЕ Рег.СчетДт.Валютный
| И НЕ Рег.ВалютаДт ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""Кт"",
| Рег.НомерСтроки,
| Рег.Регистратор,
| Рег.Период
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК Рег
|ГДЕ
| НЕ Рег.СчетКт.Валютный
| И НЕ Рег.ВалютаКт ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| Рег.Период УБЫВ
|ИТОГИ ПО
| Регистратор";
Если ЗначениеЗаполнено(Тест_КоличествоСтрок) Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ПЕРВЫЕ", "ПЕРВЫЕ " + Формат(Тест_КоличествоСтрок, "ЧГ=0"));
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Счетчик = 0;
Всего = Выборка.Количество();
Пока Выборка.Следующий() Цикл
Если Параметры.ВыводитьСообщения Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = Строка(Выборка.Регистратор);
Сообщение.КлючДанных = Выборка.Регистратор;
Сообщение.Сообщить();
КонецЕсли;
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();
ВыборкаСтроки = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСтроки.Следующий() Цикл
Запись = НаборЗаписей[ВыборкаСтроки.НомерСтроки - 1];
Если ВыборкаСтроки.ДтКт = "Дт" Тогда
//Запись.ВалютаДт = NULL;
Иначе
//Запись.ВалютаКт = NULL;
КонецЕсли;
КонецЦикла;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();
Счетчик = Счетчик + 1;
ПроцентВыполнения = Окр(100 * Счетчик / Всего, 2);
ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения, "Проводки " + Счетчик + " из " + Всего);
КонецЦикла;
КонецПроцедуры
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment