Добрый всем день, есть обработка выгрузка документов поступления товаров и услуг, все выгружает отлично, только не могу сделать чтобы в конце таблицы колонка "сумма с НДС" тоже выгружалась на первом скриншоте я её обвел красным.
---
```1c
    ТекДокумент = РезультатЗапроса.Регистратор.ПолучитьОбъект();
    Для Каждого Стр Из ТекДокумент.Услуги Цикл
    Если ((Стр.Сумма - Стр.СуммаНДС) = РезультатЗапроса.Сумма) ИЛИ (Стр.Сумма = РезультатЗапроса.Сумма) Тогда
    Лист.Cells(a,9).value = Стр.Номенклатура.НаименованиеПолное;
    Лист.Cells(a,10).value = Стр.Номенклатура.Код;
    //Лист.Cells(a,11).value = Стр.Номенклатура.НоменклатураАНАЛИТИКИ.УИД;
    Лист.Cells(a,13).value = Стр.Цена;
    Лист.Cells(a,14).value = Строка(Стр.СтавкаНДС);
    Лист.Cells(a,16).value = Стр.Сумма;
```

Вот так попробуй. Но условие лучше убери.
---
Вот код обработки:

```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    НомерЛиста = 1;

    //Пытаемся подключиться к Excel
    Попытка
    Excel = новый COMОбъект("Excel.Application");
    Исключение
    Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.");
    Возврат;
    КонецПопытки;

    //Подключились удачно, открываем файл
    Excel.Workbooks.Open("C:\Documents and Settings\Программист-3\Рабочий стол\333.xlsx");
    //Открываем необходимый лист
    Лист = Excel.Sheets(1);
    ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count;
    ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 19);
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    | ХозрасчетныйДвиженияССубконто.Период КАК Период,
    | ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор,
    | ХозрасчетныйДвиженияССубконто.СчетДт,
    | ХозрасчетныйДвиженияССубконто.СубконтоДт1,
    | ХозрасчетныйДвиженияССубконто.СубконтоДт2,
    | ХозрасчетныйДвиженияССубконто.СубконтоДт3,
    | ХозрасчетныйДвиженияССубконто.Сумма,
    | ХозрасчетныйДвиженияССубконто.СчетКт,
    | ХозрасчетныйДвиженияССубконто.СубконтоКт1,
    | ХозрасчетныйДвиженияССубконто.ВидСубконтоКт2,
    | ХозрасчетныйДвиженияССубконто.ВидСубконтоКт3,
    | ХозрасчетныйДвиженияССубконто.КоличествоДт,
    | ХозрасчетныйДвиженияССубконто.КоличествоКт,
    | ХозрасчетныйДвиженияССубконто.СуммаНУКт,
    | ХозрасчетныйДвиженияССубконто.СуммаНУДт,
    | ХозрасчетныйДвиженияССубконто.СубконтоКт2
    |ИЗ
    | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    | &НачалоПериода,
    | &КонецПериода,
    | СчетКт.Родитель.Код = "60"
    | ИЛИ СчетКт.Родитель.Родитель.Код = "76"
    | ИЛИ СчетКт.Родитель.Код = "76"
    | ИЛИ СчетКт.Родитель.Код = "97",
    | ,
    | ) КАК ХозрасчетныйДвиженияССубконто
    |ГДЕ
    | ХозрасчетныйДвиженияССубконто.Период МЕЖДУ &НачалоПериода И &КонецПериода
    | И (ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.ОперацияБух
    | ИЛИ ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
    | ИЛИ ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.ПоступлениеДопРасходов)
    |
    |УПОРЯДОЧИТЬ ПО
    | Период,
    | Регистратор");
    Запрос.УстановитьПараметр("НачалоПериода",НачалоМесяца('20170430000000'));
    Запрос.УстановитьПараметр("КонецПериода",КонецМесяца('20170630000000'));

    РезультатЗапроса = Запрос.Выполнить().Выбрать();
    a=1;
    Пока РезультатЗапроса.Следующий() Цикл
    Если РезультатЗапроса.СчетДт.Родитель.Код = "10" ИЛИ РезультатЗапроса.СчетДт.Родитель.Родитель.Код = "10" ИЛИ РезультатЗапроса.СчетДт.Родитель.Код = "20" ИЛИ РезультатЗапроса.СчетДт.Код = "25" ИЛИ РезультатЗапроса.СчетДт.Код = "26" Тогда
    a = a + 1;
    Лист.Cells(a,1).NumberFormat = "@";
    Лист.Cells(a,1).value = Строка(РезультатЗапроса.Регистратор.УникальныйИдентификатор());
    Лист.Cells(a,2).NumberFormat = "@";
    Лист.Cells(a,2).value = РезультатЗапроса.Регистратор.Номер;
    Лист.Cells(a,3).NumberFormat = "ДД.ММ.ГГГГ";
    Лист.Cells(a,3).value = РезультатЗапроса.Регистратор.Дата;
    Лист.Cells(a,4).NumberFormat = "@";
    Лист.Cells(a,4).value = Строка(РезультатЗапроса.Регистратор);
    Если РезультатЗапроса.СчетКт.Родитель.Код <> "97" Тогда
    Лист.Cells(a,5).NumberFormat = "@";
    Лист.Cells(a,5).value =РезультатЗапроса.СубконтоКт1.НаименованиеПолное;
    Лист.Cells(a,6).NumberFormat = "@";
    Лист.Cells(a,6).value = РезультатЗапроса.СубконтоКт1.ИНН;
    Лист.Cells(a,7).NumberFormat = "@";
    Лист.Cells(a,7).value = РезультатЗапроса.СубконтоКт1.КПП;
    Лист.Cells(a,8).NumberFormat = "@";
    Лист.Cells(a,8).value = Строка(РезультатЗапроса.СубконтоКт2.УникальныйИдентификатор());
    Лист.Cells(a,12).NumberFormat = "@";
    Лист.Cells(a,12).value = РезультатЗапроса.КоличествоДт;
    КонецЕсли;
    Лист.Cells(a,9).NumberFormat = "@";
    Лист.Cells(a,10).NumberFormat = "@";
    Лист.Cells(a,11).NumberFormat = "@";
    Лист.Cells(a,13).NumberFormat = "0,00";
    Лист.Cells(a,14).NumberFormat = "@";
    Лист.Cells(a,17).NumberFormat = "0,00";

    Если РезультатЗапроса.СчетДт.Родитель.Код = "10" ИЛИ РезультатЗапроса.СчетДт.Родитель.Родитель.Код = "10" Тогда
    Лист.Cells(a,9).value = РезультатЗапроса.СубконтоДт1.НаименованиеПолное;
    Лист.Cells(a,10).value = РезультатЗапроса.СубконтоДт1.Код;
    //Лист.Cells(a,11).value = РезультатЗапроса.СубконтоДт1.НоменклатураАНАЛИТИКИ.УИД;
    Если (ТипЗнч(РезультатЗапроса.Регистратор) <> Тип("ДокументСсылка.ОперацияБух")) И (ТипЗнч(РезультатЗапроса.Регистратор) <> Тип("ДокументСсылка.ПоступлениеДопРасходов")) Тогда
    ТекДокумент = РезультатЗапроса.Регистратор.ПолучитьОбъект();
    Для Каждого Стр Из ТекДокумент.Товары Цикл
    Если ((Стр.Сумма - Стр.СуммаНДС) = РезультатЗапроса.Сумма) ИЛИ (Стр.Сумма = РезультатЗапроса.Сумма) Тогда
    Лист.Cells(a,9).value = Стр.Номенклатура.НаименованиеПолное;
    Лист.Cells(a,10).value = Стр.Номенклатура.Код;
    //Лист.Cells(a,11).value = Стр.Номенклатура.НоменклатураАНАЛИТИКИ.УИД;
    Лист.Cells(a,13).value = Стр.Цена;
    Лист.Cells(a,14).value = Строка(Стр.СтавкаНДС);
    Прервать;
    КонецЕсли;
    КонецЦикла;
    ИначеЕсли ТипЗнч(РезультатЗапроса.Регистратор) = Тип("ДокументСсылка.ПоступлениеДопРасходов") Тогда
    ТекДокумент = РезультатЗапроса.Регистратор.ПолучитьОбъект();
    Лист.Cells(a,5).NumberFormat = "@";
    Лист.Cells(a,5).value = ТекДокумент.Контрагент.НаименованиеПолное;
    Лист.Cells(a,6).NumberFormat = "@";
    Лист.Cells(a,6).value = ТекДокумент.Контрагент.ИНН;
    Лист.Cells(a,7).NumberFormat = "@";
    Лист.Cells(a,7).value = ТекДокумент.Контрагент.КПП;
    Лист.Cells(a,8).NumberFormat = "@";
    Лист.Cells(a,8).value = Строка(ТекДокумент.ДоговорКонтрагента.УникальныйИдентификатор());
    Лист.Cells(a,14).value = Строка(ТекДокумент.СтавкаНДС);
    Для Каждого Стр Из ТекДокумент.Товары Цикл
    Если Стр.Сумма = РезультатЗапроса.Сумма Тогда
    Лист.Cells(a,9).value = Стр.Номенклатура.НаименованиеПолное;
    Лист.Cells(a,10).value = Стр.Номенклатура.Код;
    //Лист.Cells(a,11).value = Стр.Номенклатура.НоменклатураАНАЛИТИКИ.УИД;
    Лист.Cells(a,12).value = Стр.Количество;
    Прервать;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    ИначеЕсли РезультатЗапроса.СчетДт.Родитель.Код = "20" ИЛИ РезультатЗапроса.СчетДт.Код = "25" ИЛИ РезультатЗапроса.СчетДт.Код = "26" Тогда
    Если (ТипЗнч(РезультатЗапроса.Регистратор) <> Тип("ДокументСсылка.ОперацияБух")) И (ТипЗнч(РезультатЗапроса.Регистратор) <> Тип("ДокументСсылка.ПоступлениеДопРасходов")) Тогда
    ТекДокумент = РезультатЗапроса.Регистратор.ПолучитьОбъект();
    Для Каждого Стр Из ТекДокумент.Услуги Цикл
    Если ((Стр.Сумма - Стр.СуммаНДС) = РезультатЗапроса.Сумма) ИЛИ (Стр.Сумма = РезультатЗапроса.Сумма) Тогда
    Лист.Cells(a,9).value = Стр.Номенклатура.НаименованиеПолное;
    Лист.Cells(a,10).value = Стр.Номенклатура.Код;
    //Лист.Cells(a,11).value = Стр.Номенклатура.НоменклатураАНАЛИТИКИ.УИД;
    Лист.Cells(a,13).value = Стр.Цена;
    Лист.Cells(a,14).value = Строка(Стр.СтавкаНДС);
    Прервать;
    КонецЕсли;
    КонецЦикла;
    ИначеЕсли ТипЗнч(РезультатЗапроса.Регистратор) = Тип("ДокументСсылка.ПоступлениеДопРасходов") Тогда
    ТекДокумент = РезультатЗапроса.Регистратор.ПолучитьОбъект();
    Лист.Cells(a,5).NumberFormat = "@";
    Лист.Cells(a,5).value = ТекДокумент.Контрагент.НаименованиеПолное;
    Лист.Cells(a,6).NumberFormat = "@";
    Лист.Cells(a,6).value = ТекДокумент.Контрагент.ИНН;
    Лист.Cells(a,7).NumberFormat = "@";
    Лист.Cells(a,7).value = ТекДокумент.Контрагент.КПП;
    Лист.Cells(a,8).NumberFormat = "@";
    Лист.Cells(a,8).value = Строка(ТекДокумент.ДоговорКонтрагента.УникальныйИдентификатор());
    Лист.Cells(a,14).value = Строка(ТекДокумент.СтавкаНДС);
    Для Каждого Стр Из ТекДокумент.Товары Цикл
    Если (Стр.Сумма - Стр.СуммаНДС) = РезультатЗапроса.Сумма ИЛИ (Стр.Сумма = РезультатЗапроса.Сумма) Тогда
    Лист.Cells(a,9).value = Стр.Номенклатура.НаименованиеПолное;
    Лист.Cells(a,10).value = Стр.Номенклатура.Код;
    Лист.Cells(a,11).value = Стр.Номенклатура.НоменклатураАНАЛИТИКИ.УИД;
    Лист.Cells(a,12).value = Стр.Количество;
    Прервать;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    КонецЕсли;
    Лист.Cells(a,15).NumberFormat = "0,00";
    Лист.Cells(a,15).value = РезультатЗапроса.Сумма;

    Лист.Cells(a,18).NumberFormat = "@";
    Лист.Cells(a,18).value = РезультатЗапроса.СчетКт.Код;
    Лист.Cells(a,19).NumberFormat = "@";
    Лист.Cells(a,19).value = РезультатЗапроса.СчетДт.Код;

    КонецЕсли;

    КонецЦикла;

    Excel.Save();

    Excel.quit();
    КонецПроцедуры
```
---
ТекДокумент = РезультатЗапроса.Регистратор.ПолучитьОбъект();
Для Каждого Стр Из ТекДокумент.Услуги Цикл
Если ((Стр.Сумма - Стр.СуммаНДС) = РезультатЗапроса.Сумма) ИЛИ (Стр.Сумма = РезультатЗапроса.Сумма) Тогда - лучше эти данные сразу в запросе получать...
---
Там по-хорошему вообще все переписывать) Но как гласит первый закон - работает, не трогай.
---
РезультатЗапроса.Регистратор.ПолучитьОбъект() - реально замедляет...
---
Все отлично, огромное Вам спасибо, получилось именно колонку всего из документов теперь обработка ставит в ексель, еще раз Спасибо!!
---
Да я в курсе, но поднимать качество кода/программиста долго, а работа как обычно нужна вчера. Поэтому есть такой компромисс, особенно для начинающих программистов.
---
Вот эту сумму из документа необходимо вывести в последнюю колонку.
---
Лист.Cells(a,16).value = Стр.Сумма;

?

В цикле Для Каждого Стр Из ТекДокумент.Услуги Цикл
---
Что вы хотели этим сказать?
---
```1c
    ТекДокумент = РезультатЗапроса.Регистратор.ПолучитьОбъект();
    Для Каждого Стр Из ТекДокумент.Услуги Цикл
    Если ((Стр.Сумма - Стр.СуммаНДС) = РезультатЗапроса.Сумма) ИЛИ (Стр.Сумма = РезультатЗапроса.Сумма) Тогда
    Лист.Cells(a,9).value = Стр.Номенклатура.НаименованиеПолное;
    Лист.Cells(a,10).value = Стр.Номенклатура.Код;
    //Лист.Cells(a,11).value = Стр.Номенклатура.НоменклатураАНАЛИТИКИ.УИД;
    Лист.Cells(a,13).value = Стр.Цена;
    Лист.Cells(a,14).value = Строка(Стр.СтавкаНДС);
    Лист.Cells(a,16).value = Стр.Сумма;
```

Вот так попробуй. Но условие лучше убери.
---
Ок.