БСП (Бухгалтерия 3.0, УТ 11)

Стандартные подсистемы:

В свойствах объекта конфигурации необходимо установить "галочку": "Использование стандартные команды"

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // СтандартныеПодсистемы.Печать
    УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.ФормаКоманднаяПанель);
    // Конец СтандартныеПодсистемы.Печать
    // ДополнительныеОтчетыИОбработки
    ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере(ЭтаФорма);
    // Конец ДополнительныеОтчетыИОбработки
    
    // СтандартныеПодсистемы.ВерсионированиеОбъектов
    ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
    // Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
    
      //.............................

КонецПроцедуры

1. Печать

Модуль менеджера объекта

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

// Заполняет список команд печати.
//
// Параметры:
//   КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати
//

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

    // Отчет кассира-операциониста
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "ОтчетКассираОперациониста";
    КомандаПечати.Представление = НСтр("ru = 'Отчет кассира-операциониста'");
    КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
    КомандаПечати.СписокФорм    = "ФормаСписка,ФормаДокумента";
   
КонецПроцедуры

 

// Обработчик команд печати.
//
// Параметры:
//  МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати
// 
 
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
   

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

            // Формируем табличный документ и добавляем его в коллекцию печатных форм.
            УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
                            "ОтчетКассираОперациониста",
                            "Отчет кассира-операциониста",
                            ПечатьОКО(МассивОбъектов, ОбъектыПечати));

    КонецЕсли;
   
    ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
   
КонецПроцедуры

Функция получения табличного документа.

// Получение табличного документа.
//
// Параметры:
//                 МассивОбъектов - массив документов
//                 ОбъектыПечати 
//
Функция ПечатьОКО(МассивОбъектов, ОбъектыПечати)   
  
    УстановитьПривилегированныйРежим(Истина);

    ТабДок = Новый ТабличныйДокумент;
    ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ОперационнаяКассаО1";
      
    Макет = ПолучитьМакет("Печать");

    //Для вывода каждого документа с новой страницы   
     ПервыйДокумент = Истина;                 

    Для Индекс = 0 По МассивОбъектов.Количество()-1 Цикл
       
        СсылкаНаОбъект = МассивОбъектов[Индекс];

        // Вывод каждого документа с новой страницы
        Если НЕ ПервыйДокумент Тогда
            ТабДок .ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли; 
       
//Для вывода каждого документа с новой страницы

        ПервыйДокумент = Ложь;                      
         
// Запомним номер строки, с которой начали выводить текущий документ.
        НомерСтрокиНачало =
ТабДок.ВысотаТаблицы + 1;   

        Секция = Макет.ПолучитьОбласть("<имя секции>");
        Секция.Параметры.<имя параметра> = <значение параметра>;
        .
        .  
        .

        ТабДок.Вывести(Секция);

        // В табличном документе зададим имя области, в которую был
        // выведен объект. Нужно для возможности печати покомплектно.

        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(
ТабДок, НомерСтрокиНачало, ОбъектыПечати, СсылкаНаОбъект );  

    КонецЦикла;

    Возврат ТабДок;

КонецФункции

#КонецЕсли

Модуль формы объекта

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
    // СтандартныеПодсистемы.Печать
    УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.ФормаКоманднаяПанель);
    // Конец СтандартныеПодсистемы.Печать

   
    // ДополнительныеОтчетыИОбработки
    ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере(ЭтаФорма);
    // Конец ДополнительныеОтчетыИОбработки
    .
    .
    .

КонецПроцедуры


////////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ БСП
// СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки


&НаСервере
Процедура ДополнительныеОтчетыИОбработкиВыполнитьНазначаемуюКомандуНаСервере(ИмяЭлемента, РезультатВыполнения)
   
    ДополнительныеОтчетыИОбработки.ВыполнитьНазначаемуюКомандуНаСервере(ЭтаФорма, ИмяЭлемента, РезультатВыполнения);

   
КонецПроцедуры

// Конец СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки
// СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки


&НаКлиенте
Процедура Подключаемый_ВыполнитьНазначаемуюКоманду(Команда)
   
    Если НЕ ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьНазначаемуюКомандуНаКлиенте(ЭтаФорма, Команда.Имя) Тогда
        РезультатВыполнения = Неопределено;
        ДополнительныеОтчетыИОбработкиВыполнитьНазначаемуюКомандуНаСервере(Команда.Имя, РезультатВыполнения);
        ДополнительныеОтчетыИОбработкиКлиент.ПоказатьРезультатВыполненияКоманды(ЭтаФорма, РезультатВыполнения);
    КонецЕсли;

   
КонецПроцедуры

// Конец СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки
// СтандартныеПодсистемы.Печать


&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
   
    УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтаФорма, Объект);

   
КонецПроцедуры

// Конец СтандартныеПодсистемы.Печать

ВАРИАНТ2: Команда печати через общие команды


Текст команды

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    //Вставить содержимое обработчика.   
    УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Документ.диоИнвентаризацияДрагметаллов", "ИнвентаризационнаяОписьИНВ_8а", ПараметрКоманды,
           ПараметрыВыполненияКоманды, ОбщегоНазначенияБПКлиент.ПолучитьЗаголовокПечатнойФормы(ПараметрКоманды));
КонецПроцедуры


2. Внешняя печатная форма


  1. Прежде всего, необходимо принять решение по поводу состава типов объектов метаданных конфигурации, для которых должна быть возможность выполнения назначаемых внешних обработок и отчетов. Например, это могут быть все справочники и документы конфигурации. Состав типов этих объектов необходимо задать в свойстве Тип параметра команды в следующих общих командах:
    ДополнительныеОтчетыИОбработкиЗаполнениеОбъекта
    ДополнительныеОтчетыИОбработкиОтчеты
    ДополнительныеОтчетыИОбработкиПечатныеФормы
    ДополнительныеОтчетыИОбработкиСозданиеСвязанныхОбъектов
  2. Для каждого определенного выше объекта метаданных необходимо внести изменения во все его формы объекта и списка.

В свойствах объекта конфигурации необходимо установить "галочку": "Использование стандартные команды"

Пример создания внешней печатной формы

Рассмотрим небольшой пошаговый пример создания внешней печатной формы ТОРГ-12 для новой системы.

1. Создайте обработку, прикрепите к ней макет будущей печатной формы.

2. Создайте глобальную переменную модуля объекта СсылкаНаОбъект, куда будет передаваться ссылка на документ.

3. В модуле объекта необходимо создать экспортную функцию СведенияОВнешнейОбработке

Функция должна возвращать структуру со следующими ключами:

  • Вид – назначения объекта. Возможные значения: «ДополнительныйОтчет», «ЗаполнениеОбъекта», «ДополнительнаяОбработка», «Отчет», «ПечатнаяФорма» или «СозданиеСвязанныхОбъектов».
  • Назначение – массив названий объектов, для которого предназначается данных отчет или обработка. Например – “Документ.РеализацияТоваровУслуг”.
  • Наименование – строка, пользовательское имя обработки.
  • Команды – таблица значений, в которой содержатся команды, которые будут использоваться для добавления обработки или отчета в интерфейс программы (колонки таблицы: “Представление”, “Идентификатор”, “Использование”, “ПоказыватьОповещение”,”Модификатор”).
  • ВерсияБСП – строка, версия встроенной в конфигурации библиотеки стандартных подсистем. Необходимы для поддержки совместимости.
  • БезопасныйРежим – булево, отображает режим запуска обработка – безопасный или нет. В безопасном режиме недоступен привилегированный режим, COM-соединение, загрузка dll, доступ к файловой системе и интернету.
  • Информация – строка, комментарий, который характеризует обработку.
  • Версия – строка, версия обработки.

#Область СведенияОПечатнойФорме

Функция СведенияОВнешнейОбработке() Экспорт

ОбъектыНазначенияФормы = Новый Массив;
ОбъектыНазначенияФормы.Добавить("Документ.РеализацияТоваровУслуг");

ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы, "ТОРГ – 12 (альтернативная)");

ПараметрыРегистрации.Версия = "2014.03.07";
ПараметрыРегистрации.Информация = "Внешняя печатная форма документа реализации товаров и услуг ТОРГ – 12 (альтернативная)";

ТаблицаКоманд = ПолучитьТаблицуКоманд();

ДобавитьКоманду(ТаблицаКоманд,
                                "ТОРГ – 12 (альтернативная)", // Представление команды в пользовательском интерфейсе
                                 "ТОРГ_12_альтернативная", // Уникальный идентификатор команды
                                 "ВызовСерверногоМетода", // Использование команды //ОткрытиеФормы
                                 Истина, // Показывать оповещение.
                                 "ПечатьMXL" // Дополнительный модификатор команды.
                                 );

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

КонецФункции

Где функция ПолучитьПараметрыРегистрации:

Функция ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы = Неопределено, НаименованиеОбработки = “”, Информация = “”, Версия = “1.0.0″)

Если ТипЗнч(ОбъектыНазначенияФормы) = Тип(“Строка”) Тогда
ОбъектНазначенияФормы = ОбъектыНазначенияФормы;
ОбъектыНазначенияФормы = Новый Массив;
ОбъектыНазначенияФормы.Добавить(ОбъектНазначенияФормы);
КонецЕсли;

ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить(“Вид”, “ПечатнаяФорма”);
ПараметрыРегистрации.Вставить(“БезопасныйРежим”, Истина);
ПараметрыРегистрации.Вставить(“Назначение”, ОбъектыНазначенияФормы);

Если Не ЗначениеЗаполнено(НаименованиеОбработки) Тогда
НаименованиеОбработки = ЭтотОбъект.Метаданные().Представление();
КонецЕсли;
ПараметрыРегистрации.Вставить(“Наименование”, НаименованиеОбработки);

Если Не ЗначениеЗаполнено(Информация) Тогда
Информация = ЭтотОбъект.Метаданные().Комментарий;
КонецЕсли;
ПараметрыРегистрации.Вставить(“Информация”, Информация);

ПараметрыРегистрации.Вставить(“Версия”, Версия);

Возврат ПараметрыРегистрации;

КонецФункции

Фукнция ПолучитьТаблицуКоманд:

Функция ПолучитьТаблицуКоманд()

Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить(“Представление”, Новый ОписаниеТипов(“Строка”));
Команды.Колонки.Добавить(“Идентификатор”, Новый ОписаниеТипов(“Строка”));
Команды.Колонки.Добавить(“Использование”, Новый ОписаниеТипов(“Строка”));
Команды.Колонки.Добавить(“ПоказыватьОповещение”, Новый ОписаниеТипов(“Булево”));
Команды.Колонки.Добавить(“Модификатор”, Новый ОписаниеТипов(“Строка”));
Возврат Команды;

КонецФункции

Процедура добавление команд ДобавитьКоманду:

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = “”)
// Добавляем команду в таблицу команд по переданному описанию.
// Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры

#КонецОбласти

В данных функциях описываются сведения о внешней печатной формы.
4. В модуле объекта печатной формы необходимо добавить предопределённую процедуру “Печать”, которая будет запускаться при печати. В качестве аналога этой процедуры можно использовать как вышеописанный вариант или:

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
“ТОРГ_12_Альтернативная”, “ТОРГ 12 (Альтернативная)”,
ПолучитьТабличныйДокумент(МассивОбъектов, ОбъектыПечати));

    ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);   

КонецПроцедуры

Функция ПолучитьТабличныйДокумент(МассивОбъектов, ОбъектыПечати)
   
    ТабДокумент = Новый ТабличныйДокумент;
    // Зададим параметры макета по умолчанию
    ТабДокумент.ПолеСверху              = 10;
    ТабДокумент.ПолеСлева               = 0;
    ТабДокумент.ПолеСнизу               = 0;
    ТабДокумент.ПолеСправа              = 0;
    ТабДокумент.РазмерКолонтитулаСверху = 10;
    ТабДокумент.ОриентацияСтраницы      = ОриентацияСтраницы.Портрет;
   
    // Загрузим настройки пользователя
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияОС_ИНВ01_01";
   
    Макет = ПолучитьМакет("ИНВ01");
   
    ПервыйДокумент = Истина;
    Для Индекс = 0 По МассивОбъектов.Количество() - 1 Цикл

        Если Не ПервыйДокумент Тогда
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
       
        ПервыйДокумент = Ложь;
       

        //..


        // В табличном документе зададим имя области, в которую был
        // выведен объект. Нужно для возможности печати покомплектно.
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент,
            НомерСтрокиНачало, ОбъектыПечати, СсылкаНаДокумент);
   
    КонецЦикла;
   
   
    Возврат ТабДокумент;

КонецФункции

Где функция ПолучитьТабличныйДокументТорг12(…) – функция, которая вернет уже подготовленный табличный документ для печати (подробности как это делаетсясоздание и настройка печатных форм).

3. СтандартныеПодсистемы.ДатыЗапретаИзменения

В форму документа

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
    // СтандартныеПодсистемы.ДатыЗапретаИзменения
    ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
    // Конец СтандартныеПодсистемы.ДатыЗапретаИзменения

КонецПроцедуры
     

Для бухучета в общий модуль ДатыЗапретаИзмененияБП  в процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(Знач ИсточникиДанных)  

Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(Знач ИсточникиДанных) Экспорт

    //....

    ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.<имя документа>", "Дата" , "БухгалтерскийУчет", "Организация");

    //....

КонецПроцедуры

4. Управление счетами и субконто в формах

Вместе с реквизитами произвольного типа ("ЛюбаяСсылка"):

  • "СубконтоИ1",
  • "СубконтоИ2",
  • "СубконтоИ3"

необходимы также соответствующие реквизиты "СубконтоИ1Доступность", "СубконтоИ2Доступность", "Субконто3Доступность" типа "Булево"

#Область НовыйСчетИнтернетПродажИЕгоСубконто
#Область ПоСчету


&НаСервереБезКонтекста
Функция ПолугитьОрганизацию()

    //Получить Организацию
    КодУзла = ПланыОбмена.ПоОрганизации.ЭтотУзел().Код;
    Организация = Справочники.Организации.ПустаяСсылка();
    ВыборкаОрганизаций = Справочники.Организации.Выбрать();
    Пока ВыборкаОрганизаций.Следующий() Цикл
        Если СокрЛП(ВыборкаОрганизаций.Код) = СокрЛП(КодУзла) Тогда
            Организация = ВыборкаОрганизаций.Ссылка;
            Прервать;
        КонецЕсли;   
    КонецЦикла;
    Возврат Организация;

КонецФункции // ПолугитьОрганизацию()

 
&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьСписокПараметров(Форма, ТекущиеДанные, ШаблонИмяПоляОбъекта, ИмяПоляСчетУчета)

    //Получить Организацию
    Организация = ПолугитьОрганизацию();
   
    СписокПараметров = Новый Структура("Организация,СчетУчета,ОстаткиОбороты",     Организация, ТекущиеДанные[ИмяПоляСчетУчета]);
    ТипыДоговора = БухгалтерскийУчетКлиентСерверПереопределяемый.ПолучитьОписаниеТиповДоговора().Типы();
    Для Индекс = 1 По 3 Цикл
        ИмяПоля    = СтрЗаменить(ШаблонИмяПоляОбъекта, "%Индекс%", Индекс);
        ДанныеПоля = ТекущиеДанные[ИмяПоля];
        ТипПоля    = ТипЗнч(ДанныеПоля);
        Если ТипПоля = Тип("СправочникСсылка.Контрагенты") Тогда
            СписокПараметров.Вставить("Контрагент", ДанныеПоля);
        ИначеЕсли ТипыДоговора.Найти(ТипПоля) <> Неопределено Тогда
            СписокПараметров.Вставить("ДоговорКонтрагента", ДанныеПоля);
        ИначеЕсли ТипПоля = Тип("СправочникСсылка.Номенклатура") Тогда
            СписокПараметров.Вставить("Номенклатура", ДанныеПоля);
        ИначеЕсли ТипПоля = Тип("СправочникСсылка.Склады") Тогда
            СписокПараметров.Вставить("Склад", ДанныеПоля);
        КонецЕсли;
    КонецЦикла;
    Возврат СписокПараметров;

КонецФункции


&НаКлиенте
Процедура ИзменитьПараметрыВыбораПолейСубконто(Форма)
   
        ПараметрыДокумента = ПолучитьСписокПараметров(Форма, Форма.Объект, "СубконтоИ%Индекс%", "СчетИнтернетПродаж");
        БухгалтерскийУчетКлиентСервер.ИзменитьПараметрыВыбораПолейСубконто(    Форма, Форма.Объект, "СубконтоИ%Индекс%", "СубконтоИ%Индекс%", ПараметрыДокумента);
           
КонецПроцедуры


&НаКлиенте
Процедура ЗаполнитьНадписиСубконто(Форма)
   
    //Установить видимость,заголовки и прочее
    Для Индекс = 1 По 3 Цикл
        Если НЕ(СокрЛП(Форма.Элементы["СубконтоИ"+Индекс].ОграничениеТипа)= "") Тогда                                  
            Форма.Элементы["СубконтоИ"+Индекс].Заголовок = СокрЛП(Форма.Элементы["СубконтоИ"+Индекс].ПодсказкаВвода);
            Форма.Элементы["СубконтоИ"+Индекс].Видимость = Истина;
            Форма.Элементы["СубконтоИ"+Индекс].ВыбиратьТип = Ложь;
        Иначе
            Форма.Элементы["СубконтоИ"+Индекс].Заголовок = "Субконто" + +Индекс;   
            Форма.Элементы["СубконтоИ"+Индекс].Видимость = Ложь;
        КонецЕсли;
    КонецЦикла;
    ОбновитьОтображениеДанных();
   
КонецПроцедур
ы


&НаКлиенте
Процедура ОбработатьИзменениеСчета(Форма, ПриНачале = Истина)
   
    //Получить Организацию
    Организация = ПолугитьОрганизацию();
       
    ПоляФормы = Новый Структура("Субконто1,Субконто2,Субконто3");
    ПоляФормы.Субконто1 = "СубконтоИ"  + "1";
    ПоляФормы.Субконто2 = "СубконтоИ"  + "2";
    ПоляФормы.Субконто3 = "СубконтоИ"  + "3";
    БухгалтерскийУчетКлиентСервер.ПриВыбореСчета(форма.Объект.СчетИнтернетПродаж, Форма, ПоляФормы, Неопределено, Истина);
   
    ПоляОбъекта = Новый Структура("Субконто1,Субконто2,Субконто3,Организация");
    ПоляОбъекта.Субконто1      = "СубконтоИ" + "1";
    ПоляОбъекта.Субконто2      = "СубконтоИ" + "2";
    ПоляОбъекта.Субконто3      = "СубконтоИ" + "3";
    ПоляОбъекта.Организация    = Организация;
   
    БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(Форма.Объект.СчетИнтернетПродаж, Форма.Объект, ПоляОбъекта, Истина);
    ИзменитьПараметрыВыбораПолейСубконто(Форма);
    Если ПриНачале Тогда
        ЗаполнитьНадписиСубконто(Форма);
    КонецЕсли;
   
КонецПроцедуры


&НаКлиенте
Процедура СчетИнтернетПродажПриИзменении(Элемент)
    Если СокрЛП(Элементы.СчетИнтернетПродаж) <> "" Тогда
        ОбработатьИзменениеСчета(ЭтотОбъект);
    КонецЕсли;
КонецПроцедуры

#КонецОбласти

#Область ПоСубконто

&НаКлиенте
Процедура ОбработатьНачалоВыбораСубконто(Элемент, СтандартнаяОбработка)
   
    ПараметрыДокумента = ПолучитьСписокПараметров(ЭтотОбъект, ЭтотОбъект.Объект, "СубконтоИ%Индекс%", "СчетИнтернетПродаж");
    ОбщегоНазначенияБПКлиент.НачалоВыбораЗначенияСубконто(ЭтотОбъект, Элемент, СтандартнаяОбработка, ПараметрыДокумента);

КонецПроцедуры


//////////////////////////////////////////////////////////////////////////////////////////////////
&НаКлиенте
Процедура СубконтоИ1ПриИзменении(Элемент)
   
    ИзменитьПараметрыВыбораПолейСубконто(ЭтотОбъект);
       
КонецПроцедуры

&НаКлиенте
Процедура СубконтоИ1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
    ОбработатьНачалоВыбораСубконто(Элемент, СтандартнаяОбработка);
   
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////////////////////////
&НаКлиенте
Процедура СубконтоИ2ПриИзменении(Элемент)
   
    ИзменитьПараметрыВыбораПолейСубконто(ЭтотОбъект);

КонецПроцедуры

&НаКлиенте
Процедура СубконтоИ2НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
    ОбработатьНачалоВыбораСубконто(Элемент, СтандартнаяОбработка);
   
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////////////////////////
&НаКлиенте
Процедура СубконтоИ3ПриИзменении(Элемент)
   
    ИзменитьПараметрыВыбораПолейСубконто(ЭтотОбъект);
   
КонецПроцедуры

&НаКлиенте
Процедура СубконтоИ3НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
    ОбработатьНачалоВыбораСубконто(Элемент, СтандартнаяОбработка);
   
КонецПроцедуры
   
#КонецОбласти
#КонецОбласти