Выгрузка в ексель (Вопрос)

1. 1cBokov 7 06.06.17 16:11 Сейчас в теме
Всем доброго дня, есть обработка которая выгружает необходимые документы в ексель из Бухгалтерии предприятия ре. 2.0, все но вот уже когда выгрузка подходит к концу, происходит затык на документе реализация товаров и услуг, тесть обраьотка не обнаруживает поле наименование полное в этом документе, все выше выгруженные документы такой ошибки не выдавали хотя полностью идентичны по содержанию, кто знает что это может быть.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Dream_kz 129 06.06.17 16:17 Сейчас в теме
(1) Ну если говорит что нету, значит нету)
А можно скрин из конфигуратора с реквизитами этого документа?
5. 1cBokov 7 06.06.17 16:22 Сейчас в теме
(3)
Процедура КнопкаВыполнитьНажатие(Кнопка)
	 НомерЛиста         = 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,
	|	ХозрасчетныйДвиженияССубконто.КоличествоДт,
	|	ХозрасчетныйДвиженияССубконто.КоличествоКт,
	|	ХозрасчетныйДвиженияССубконто.СуммаНУКт
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
	|			&НачалоПериода,
	|			&КонецПериода,
	|			СчетДт.Родитель.Код = ""62""
	|					И СчетКт.Родитель.Код = ""90.01""
	|				ИЛИ СчетКт.Родитель.Код = ""41"",
	|			,
	|			) КАК ХозрасчетныйДвиженияССубконто
	|ГДЕ
	|	ХозрасчетныйДвиженияССубконто.Период МЕЖДУ &НачалоПериода И &КонецПериода
	|	И (ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.СписаниеСРасчетногоСчета
	|			ИЛИ ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
	|			ИЛИ ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
	|			ИЛИ ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.КорректировкаДолга
	|			ИЛИ ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.ОперацияБух
	|			ИЛИ ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.КорректировкаРеализации)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период,
	|	Регистратор");
	Запрос.УстановитьПараметр("НачалоПериода",НачалоМесяца('20170430000000'));
	Запрос.УстановитьПараметр("КонецПериода",КонецМесяца('20170630000000'));

	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	a=1;
	Пока РезультатЗапроса.Следующий() Цикл			
				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 = Строка(РезультатЗапроса.Регистратор);
				Лист.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,9).NumberFormat = "@";
					Лист.Cells(a,9).value = РезультатЗапроса.СубконтоДт2.Наименование;
				КонецЕсли;
				Лист.Cells(a,10).NumberFormat = "0,00";
				Лист.Cells(a,10).value = РезультатЗапроса.СуммаНУКт;
				Лист.Cells(a,12).NumberFormat = "ДД.ММ.ГГГГ";
				Лист.Cells(a,12).value = НачалоМесяца(РезультатЗапроса.Регистратор.Дата);
				Лист.Cells(a,13).NumberFormat = "@";
				Лист.Cells(a,13).value = РезультатЗапроса.СчетКт.Код;
				Лист.Cells(a,14).NumberFormat = "@";
				Лист.Cells(a,14).value = РезультатЗапроса.СчетДт.Код;
				
			КонецЦикла;
			
			
			
			Excel.Save();
			
	
Excel.quit();			
КонецПроцедуры
Показать
7. Dream_kz 129 06.06.17 16:26 Сейчас в теме
(5) РезультатЗапроса.СубконтоДт1.НаименованиеПолное - это обращение к субконто, которое скорее всего есть справочник, это не документ. Посмотри в отладке какое значение принимает РезультатЗапроса.СубконтоДт1, возможно там пусто, вот и ошибка. Тогда надо скорректировать запрос.
8. 1cBokov 7 06.06.17 16:35 Сейчас в теме
(7)Нет, оно там не пустое, все заполнено. Ведь у таких же документов в выгрузке береться этот реквизит что с одном то не так.
9. Dream_kz 129 06.06.17 16:38 Сейчас в теме
(8) Смотри в момент ошибки. Возможно в проводке не заполнена вся аналитика, вот и ругается, значит в документе что-то не так заполнено.
10. WasiliyMay 8 06.06.17 16:47 Сейчас в теме
(8) Там нет счета 62.Р? У него первое субконто склады. Там нет такого реквизита. Может в этом проблема?
4. WasiliyMay 8 06.06.17 16:22 Сейчас в теме
(1) А у типовых документов разве есть такой реквизит? Обычно же у справочников и то не у всех
6. 1cBokov 7 06.06.17 16:25 Сейчас в теме
(4)Сам документ из которого береться Наименование полное "Реализация Товаров и услуг", из всех этих документов вытащилось наименование полное, а вот в одном почему-то нехочет хотя оно там есть
2. 1cBokov 7 06.06.17 16:13 Сейчас в теме
У всех выгружаемых документов полностью заполнены поля наименование и полное наименование.
11. v3rter 06.06.17 16:48 Сейчас в теме
Такие ошибки хорошо ловить только отладчиком. Рассуждать можно неделями )
12. Infector 201 06.06.17 17:05 Сейчас в теме
В любом случае СубконтоДт1.НаименованиеПолное лучше получить непосредственно в запросе:

 |    ХозрасчетныйДвиженияССубконто.СубконтоДт1,
 |    ЕстьNull(ХозрасчетныйДвиженияССубконто.СубконтоДт1.НаименованиеПолное,"""") КАК СубконтоДт1_НаименованиеПолное,
13. v3rter 06.06.17 17:54 Сейчас в теме
Меня немного смущает условие
  |            СчетДт.Родитель.Код = ""62""
    |                    И СчетКт.Родитель.Код = ""90.01""
    |                ИЛИ СчетКт.Родитель.Код = ""41"",

Здесь написано: все проводки вида 62 -> 90.01 или любой_счет -> 41 , верно?

В условиях "И" приоритетнее "ИЛИ", как умножение перед сложением. Или надо оборачивать условия в скобки.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот