Не работает, не хватает части кода.
Вот рабочий вариант:
&НаКлиенте
Процедура Загрузить(Команда)
ПриЗавершении = Новый ОписаниеОповещения("ПоместитьФайлКомандаЗавершение", ЭтотОбъект);
ДиалогВыбораФайлов = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбораФайлов.Заголовок = "Выбор файла для помещения";
ДиалогВыбораФайлов.МножественныйВыбор = Ложь;
ДиалогВыбораФайлов.Фильтр = "Файлы выгрузки|*.xml";
НачатьПомещениеФайла(ПриЗавершении, , ДиалогВыбораФайлов, Истина, , );
КонецПроцедуры
&НаКлиенте
Процедура ПоместитьФайлКомандаЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
Если Результат Тогда
ОбработатьНаСервере(Адрес);
Сообщить("Проверка завершена");
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ОбработатьНаСервере(Адрес)
Данные = ПолучитьИзВременногоХранилища(Адрес);
СтрокаXML = ПолучитьСтрокуИзДвоичныхДанных(Данные, КодировкаТекста.ANSI);
Парсер = Новый ЧтениеXML;
Парсер.УстановитьСтроку(СтрокаXML);
МассивИНН = Новый Массив;
Пока Парсер.Прочитать() Цикл
Если Парсер.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИННФЛ = Парсер.ПолучитьАтрибут("ИННФЛ");
Если ИННФЛ <> Неопределено Тогда
Если МассивИНН.Найти(ИННФЛ) = Неопределено Тогда
СостояниеКонтрагента = ПроверитьКонтрагента(ИННФЛ);
Если СостояниеКонтрагента <> Перечисления.СостоянияСуществованияКонтрагента.КонтрагентЕстьВБазеФНС Тогда
Сообщить(ИННФЛ + " " + СостояниеКонтрагента);
КонецЕсли;
МассивИНН.Добавить(ИННФЛ);
КонецЕсли;
Иначе
ИННЮЛ = Парсер.ПолучитьАтрибут("ИННЮЛ");
Если ИННЮЛ <> Неопределено Тогда
Если МассивИНН.Найти(ИННЮЛ) = Неопределено Тогда
СостояниеКонтрагента = ПроверитьКонтрагента(ИННЮЛ);
Если СостояниеКонтрагента <> Перечисления.СостоянияСуществованияКонтрагента.КонтрагентЕстьВБазеФНС Тогда
Сообщить(ИННЮЛ + " " + СостояниеКонтрагента);
КонецЕсли;
МассивИНН.Добавить(ИННЮЛ);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Парсер.Закрыть();
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПроверитьКонтрагента(ИНН)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИНН", ИНН);
Запрос.Текст =
"ВЫБРАТЬ
| СостоянияКонтрагентов.Состояние КАК Состояние
|ИЗ
| РегистрСведений.СостоянияКонтрагентов КАК СостоянияКонтрагентов
|ГДЕ
| СостоянияКонтрагентов.Контрагент.ИНН = &ИНН";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Состояние;
Иначе
Возврат "Отсутствует контрагент с ИНН " + ИНН;
КонецЕсли;
КонецФункции Показать