mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-17 21:24:11 +00:00
104 lines
8.3 KiB
Plaintext
104 lines
8.3 KiB
Plaintext
//ирПортативный Перем ирПортативный Экспорт;
|
||
//ирПортативный Перем ирОбщий Экспорт;
|
||
//ирПортативный Перем ирСервер Экспорт;
|
||
//ирПортативный Перем ирКэш Экспорт;
|
||
//ирПортативный Перем ирПривилегированный Экспорт;
|
||
|
||
Процедура ВыполнитьКомандуПользователя(ВыделенныеСтроки, Команда, ПериодИтогов = Неопределено) Экспорт
|
||
|
||
Индикатор = ирОбщий.ПолучитьИндикаторПроцессаЛкс(ВыделенныеСтроки.Количество(), Команда);
|
||
Для каждого СтрокаТаблицы Из ВыделенныеСтроки Цикл
|
||
ирОбщий.ОбработатьИндикаторЛкс(Индикатор);
|
||
Если СтрокаТаблицы.ТипРегистра = "РегистрНакопления" Тогда
|
||
РегистрМенеджер = РегистрыНакопления[СтрокаТаблицы.ИмяРегистра];
|
||
ИначеЕсли СтрокаТаблицы.ТипРегистра = "РегистрБухгалтерии" Тогда
|
||
РегистрМенеджер = РегистрыБухгалтерии[СтрокаТаблицы.ИмяРегистра];
|
||
КонецЕсли;
|
||
Попытка
|
||
Если Команда = "ВключитьИспользованиеИтогов" Тогда
|
||
РегистрМенеджер.УстановитьИспользованиеИтогов(Истина);
|
||
СтрокаТаблицы.ИспользованиеИтогов = Истина;
|
||
ИначеЕсли Команда = "ВыключитьИспользованиеИтогов" Тогда
|
||
РегистрМенеджер.УстановитьИспользованиеИтогов(Ложь);
|
||
СтрокаТаблицы.ИспользованиеИтогов = Ложь;
|
||
ИначеЕсли Команда = "ВключитьТекущиеИтоги" Тогда
|
||
Если Истина
|
||
И СтрокаТаблицы.ТипРегистра = "РегистрНакопления"
|
||
И СтрокаТаблицы.ВидРегистра = "Обороты"
|
||
Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
РегистрМенеджер.УстановитьИспользованиеТекущихИтогов(Истина);
|
||
СтрокаТаблицы.ИспользованиеТекущихИтогов = Истина;
|
||
ИначеЕсли Команда = "ВыключитьТекущиеИтоги" Тогда
|
||
Если Истина
|
||
И СтрокаТаблицы.ТипРегистра = "РегистрНакопления"
|
||
И СтрокаТаблицы.ВидРегистра = "Обороты"
|
||
Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
РегистрМенеджер.УстановитьИспользованиеТекущихИтогов(Ложь);
|
||
СтрокаТаблицы.ИспользованиеТекущихИтогов = Ложь;
|
||
ИначеЕсли Команда = "ВключитьРазделениеИтогов" Тогда
|
||
РегистрМенеджер.УстановитьРежимРазделенияИтогов(Истина);
|
||
СтрокаТаблицы.РазделениеИтогов = Истина;
|
||
ИначеЕсли Команда = "ВыключитьРазделениеИтогов" Тогда
|
||
РегистрМенеджер.УстановитьРежимРазделенияИтогов(Ложь);
|
||
СтрокаТаблицы.РазделениеИтогов = Ложь;
|
||
ИначеЕсли Команда = "УстановитьГраницыИтогов" Тогда
|
||
Если Ложь
|
||
Или (Истина
|
||
И СтрокаТаблицы.ТипРегистра = "РегистрНакопления"
|
||
И СтрокаТаблицы.ВидРегистра = "Остатки")
|
||
Или СтрокаТаблицы.ТипРегистра = "РегистрБухгалтерии"
|
||
Тогда
|
||
РегистрМенеджер.УстановитьПериодРассчитанныхИтогов(ПериодИтогов.МаксимальнаяДата);
|
||
СтрокаТаблицы.ПериодИтогов = ПериодИтогов.МаксимальнаяДата;
|
||
Если Не ирОбщий.РежимСовместимостиМеньше8_3_4Лкс() Тогда
|
||
РегистрМенеджер.УстановитьМинимальныйПериодРассчитанныхИтогов(ПериодИтогов.МинимальнаяДата);
|
||
СтрокаТаблицы.ПериодНачалаИтогов = ПериодИтогов.МинимальнаяДата;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
ИначеЕсли Команда = "ПересчитатьИтоги" Тогда
|
||
РегистрМенеджер.ПересчитатьИтоги();
|
||
ИначеЕсли Команда = "ПересчитатьТекущиеИтоги" Тогда
|
||
Если Истина
|
||
И СтрокаТаблицы.ТипРегистра = "РегистрНакопления"
|
||
И СтрокаТаблицы.ВидРегистра = "Обороты"
|
||
Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
РегистрМенеджер.ПересчитатьТекущиеИтоги();
|
||
ИначеЕсли Команда = "ПересчитатьИтогиЗаПериод" Тогда
|
||
РегистрМенеджер.ПересчитатьИтогиЗаПериод(ПериодИтогов.НачалоПериода, ПериодИтогов.КонецПериода);
|
||
КонецЕсли;
|
||
Исключение
|
||
Если ПрерыватьПриОшибке Тогда
|
||
ВызватьИсключение;
|
||
КонецЕсли;
|
||
ирОбщий.СообщитьЛкс("Ошибка обработки регистра """ + СтрокаТаблицы.ПолноеИмя + """: " + ОписаниеОшибки());
|
||
КонецПопытки;
|
||
КонецЦикла;
|
||
Если ВыделенныеСтроки.Количество() > 0 Тогда
|
||
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
//ирПортативный лФайл = Новый Файл(ИспользуемоеИмяФайла);
|
||
//ирПортативный ПолноеИмяФайлаБазовогоМодуля = Лев(лФайл.Путь, СтрДлина(лФайл.Путь) - СтрДлина("Модули\")) + "ирПортативный.epf";
|
||
//ирПортативный #Если Клиент Тогда
|
||
//ирПортативный Контейнер = Новый Структура();
|
||
//ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер);
|
||
//ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда
|
||
//ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля);
|
||
//ирПортативный ирПортативный.Открыть();
|
||
//ирПортативный КонецЕсли;
|
||
//ирПортативный #Иначе
|
||
//ирПортативный ирПортативный = ВнешниеОбработки.Создать(ПолноеИмяФайлаБазовогоМодуля, Ложь); // Это будет второй экземпляр объекта
|
||
//ирПортативный #КонецЕсли
|
||
//ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий");
|
||
//ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш");
|
||
//ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер");
|
||
//ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный");
|