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