helpf.pro
Регистрация

v8: Использование команд &НаКлиенте и &НаСервере

tatiana-b
06.12.2011 21:13Прочитано: 8131
Подскажите, пожалуйста, начинающей восьмерочнице:
На курсах и в литературе по 1С 8.2 везде рассматриваются команды &НаКлиенте и &НаСервере. Смотрю типовые УТ и Бухгалтерию - нигде таких команд нет! Почему?
Я чего-то крупно не понимаю?
Может, причина в том, что у меня стоит файловый вариант? Но ведь сами модули при этом не должны изменяться?
Yandex
Возможно, вас также заинтересует
Реклама на портале
shcoder
08.12.2011 13:10Ответ № 1
Вот тебе кусок кода из УТ11(форма документа "Реализация товаров и услуг". Все присутствует. А в бухгалтерии ты такого не увидишь. Т.к. она пока что не переписана на управляемые формы (эти директивы работают только в них). Дело не в платформе, а в конфигурации если кратко.
Код 1C v 8.2 УП
 
///////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ (НА КЛИЕНТЕ НА СЕРВЕРЕ БЕЗ КОНТЕКСТА)

// Возвращает хозяйственную операцию договора
//
// Параметры:
// ХозяйственнаяОперация - ПеречислениеСсылка.ХозяйственнаяОперация - Текущая хозяйственная операция документа
//
// Возвращаемое значение:
// ПеречислениеСсылка.ХозяйственнаяОперация - Хозяйственная операция договора
//
&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьХозяйственнуюОперациюДоговора(ХозяйственнаяОперация)

Возврат ?(
ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.РеализацияКлиентуРеглУчет"),
ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.РеализацияКлиенту"),
ХозяйственнаяОперация
);

КонецФункции // ПолучитьХозяйственнуюОперациюДоговора()

// Рассчитывает итоговые показатели документа РеализацияТоваровУслуг.
//
// Параметры:
// Форма
//
&НаКлиентеНаСервереБезКонтекста
Процедура РассчитатьИтоговыеПоказателиРеализации(Форма)

СуммаВсего = Форма.Объект.Товары.Итог("Сумма");
Форма.СуммаАвтоСкидки = Форма.Объект.Товары.Итог("СуммаАвтоматическойСкидки");
Форма.СуммаРучнойСкидки = Форма.Объект.Товары.Итог("СуммаРучнойСкидки");
Форма.СуммаСкидки = Форма.СуммаАвтоСкидки + Форма.СуммаРучнойСкидки;

Если СуммаВсего > 0 Тогда

Форма.ПроцентАвтоСкидки = Форма.СуммаАвтоСкидки * 100 / (СуммаВсего + Форма.СуммаСкидки);
Форма.ПроцентРучнойСкидки = Форма.СуммаРучнойСкидки * 100 / (СуммаВсего + Форма.СуммаСкидки);
Форма.ПроцентСкидки = Форма.ПроцентАвтоСкидки + Форма.ПроцентРучнойСкидки;

ИначеЕсли Форма.СуммаСкидки > 0 Тогда

Форма.ПроцентАвтоСкидки = Форма.СуммаАвтоСкидки * 100 / Форма.СуммаСкидки;
Форма.ПроцентРучнойСкидки = Форма.СуммаРучнойСкидки * 100 / Форма.СуммаСкидки;
Форма.ПроцентСкидки = Форма.ПроцентАвтоСкидки + Форма.ПроцентРучнойСкидки;

Иначе

Форма.ПроцентАвтоСкидки = 0;
Форма.ПроцентРучнойСкидки = 0;
Форма.ПроцентСкидки = 0;

КонецЕсли;

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

КонецПроцедуры // РассчитатьИтоговыеПоказателиРеализации()

Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.