Приложение 1: Код модуля формы обработки «Загрузка продаж на АЗС»
&НаСервере
Процедура ВыполнитьЗагрузкуНаСервере(АдресФайла, Загружать)
ФайлПриемник = ПолучитьИмяВременногоФайла("xml");
ДанныеХранилища = ПолучитьИзВременногоХранилища(АдресФайла);
ДанныеХранилища.Записать(ФайлПриемник);
Объект.ИмяФайлаДанных = ФайлПриемник;
Если НЕ ЗначениеЗаполнено(Объект.КассаККМ) Тогда
сообщить("не выбрана Касса ККМ");
Возврат;
КонецЕсли;
Если Загружать Тогда
//сравним код АЗС из файла с кассой
ПозКодКассы = СтрНайти(Объект.КассаККМ.Наименование, "АЗС-");
Если ПозКодКассы = 0 Тогда
сообщить("в наименовании кассы не удалось найти код АЗС",
СтатусСообщения.Внимание);
Иначе
КодКассы = Число(СокрЛП(Сред(Объект.КассаККМ.Наименование,
ПозКодКассы+4, 2)));
Если НЕ Число(Объект.КодАЗС) = КодКассы Тогда
сообщить("в файле код кассы не соответствует выбранной
Кассе ККМ", СтатусСообщения.ОченьВажное);
Возврат;
КонецЕсли;
КонецЕсли;
Для Каждого Стр Из ТЗ_ВидыТоплива Цикл
Если НЕ ЗначениеЗаполнено(Стр.Номенклатура) Тогда
сообщить("в таблице 'Виды топлива' не задано соответствие
для вида " + Стр.Топливо);
Возврат;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Стр.Коэф) Тогда
сообщить("в таблице 'Виды топлива' не задан Коэффициент
(зависит от ед.изм.) для вида " + Стр.Топливо);
Возврат;
КонецЕсли;
КонецЦикла;
Иначе
//очищаем табл.контрагентов
ТЗ_КонтрДоговора.Очистить();
КонецЕсли;
ТЗ_Топливо = РеквизитФормыВЗначение("ТЗ_ВидыТоплива");
ТЗ_Контр = РеквизитФормыВЗначение("ТЗ_КонтрДоговора");
ОбъектДляСервера = РеквизитФормыВЗначение("Объект");
ЗаполнитьЗначенияСвойств(ОбъектДляСервера, Объект);
ЕстьЗаправкиСотрудников = ОбъектДляСервера.ВыполнитьЗагрузкуXML(Загружать,
ТЗ_Топливо, ТЗ_Контр); //Соответствие_ВидыТоплива);
Если НЕ Загружать Тогда
ЗначениеВРеквизитФормы(ОбъектДляСервера, "Объект");
ЗначениеВРеквизитФормы(ТЗ_Топливо, "ТЗ_ВидыТоплива");
ЗначениеВРеквизитФормы(ТЗ_Контр, "ТЗ_КонтрДоговора");
КонецЕсли;
ЭтаФорма.Элементы.НадписьЗаправкиСотрудников.Заголовок =
?(ЕстьЗаправкиСотрудников, "В файле есть данные о заправках сотрудников", "");
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьЗагрузку(Команда)