|
ВыгрузкаДокументовВФайл | ☑ | ||
---|---|---|---|---|
0
1c-programm
14.06.18
✎
08:14
|
Добрый день, Уважаемые!
Подскажите, по какой причине может возникать ошибка: {ВнешняяОбработка.ВыгрузкаДокументовВФайл.Форма.Форма.Форма(139)}: Ошибка при вызове метода контекста (Execute) НаборЗаписей = Подключение.Execute(ТекстЗапроса); по причине: Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near ')'. Я хотела выгрузить документы в пдф и реестр в ексель. Процедура ДействияФормыВыгрузитьФайлы(Кнопка) ФлагСценарий = Справочники.СценарииПланирования.ПустаяСсылка(); КоличествоВыгруженныхДокументов = 0; ДокументыДляВыгрузки = ""; Запятая = ""; Для каждого СтрокаДанных из БюджетныеОперации Цикл НаименованиеФайлаВыгрузки = СтрЗаменить(СтрокаДанных.Документ, Символ(34), ""); ПутСохранениеФайлов = ЭлементыФормы.Путь.Значение + "\"; Если ФлагСценарий <> СтрокаДанных.Сценраий Тогда Если ФлагСценарий <> Справочники.СценарииПланирования.ПустаяСсылка() Тогда Если ДокументыДляВыгрузки <> "" Тогда ПолучитьФайлДокумента(ДокументыДляВыгрузки, ПутСохранениеФайлов + СтрЗаменить(ФлагСценарий, Символ(34), "") + "\");; КонецЕсли; ПечатьРеестра(ФлагСценарий, ПутСохранениеФайлов + СтрЗаменить(ФлагСценарий, Символ(34), "")+ "\Реестр.xslx"); ДокументыДляВыгрузки = ""; Запятая = ""; КонецЕсли; СоздатьКаталог(ПутСохранениеФайлов+НаименованиеФайлаВыгрузки + "\"); КонецЕсли; ФлагСценарий = СтрокаДанных.Сценраий; Если СтрокаДанных.ЕстьФайлы Тогда ДокументыДляВыгрузки = ДокументыДляВыгрузки + Запятая; ДокументыДляВыгрузки = ДокументыДляВыгрузки + "'" + Строка(СтрокаДанных.Документ.УникальныйИдентификатор())+ "'"; Запятая = "'"; КонецЕсли; КоличествоВыгруженныхДокументов = КоличествоВыгруженныхДокументов + 1; Если КоличествоВыгруженныхДокументов = 150 Тогда КоличествоВыгруженныхДокументов = 0; Подключение.Close(); УстановитьПодключение(); КонецЕсли; КонецЦикла; ПолучитьФайлДокумента(ДокументыДляВыгрузки, ПутСохранениеФайлов + НаименованиеФайлаВыгрузки + "\"); Сообщить("Данные выгружены!"); КонецПроцедуры Функция ПолучитьФайлДокумента(СсылкаНаДокумент, КаталогСохранения, Открыть = Ложь) ТекстЗапроса = "select * where Id1C in ( " + СсылкаНаДокумент + ")"; // + " and ID = '" + ИД + "'"; НаборЗаписей = Подключение.Execute(ТекстЗапроса); НаборЗаписей.MoveFirst(); Пока НаборЗаписей.EOF() = 0 Цикл ЗначениеИзБД = НаборЗаписей.Fields(0).Value; Расширение = НаборЗаписей.Fields(1).Value; Имя = НаборЗаписей.Fields(2).Value; Имя = СТрЗаменить(Имя,"?",""); локПотокБайт = Новый ComSafeArray(ЗначениеИзБД); Поток = СоздатьПоток(неопределено); Поток.Write(локПотокБайт); Сообщить(КаталогСохранения + Имя + Расширение); Поток.SaveToFile(КаталогСохранения + "\" + Имя + Расширение, 2); НаборЗаписей.MoveNext(); КонецЦикла; локПотокБайт.Resize(0,0); Поток.Close(); НаборЗаписей.Close(); Если Открыть Тогда ЗапуститьПриложение(КаталогСохранения + "\" + Имя + Расширение); КонецЕсли; Возврат КаталогСохранения + "\" + Имя + Расширение; КонецФункции |
|||
1
butterbean
14.06.18
✎
08:39
|
у тебя запятая не запятая
|
|||
2
1c-programm
14.06.18
✎
08:43
|
(1) где именно? не нашла)
|
|||
3
Cool_Profi
14.06.18
✎
08:55
|
ДокументыДляВыгрузки = ДокументыДляВыгрузки + "'" + Строка(СтрокаДанных.Документ.УникальныйИдентификатор())+ "'";
Тут смотри. запятойнету |
|||
4
1c-programm
14.06.18
✎
09:05
|
(3) Спасибо, поменяла. Но выдает такую же ошибку(
Ошибка при вызове метода контекста (Execute) |
|||
5
Cool_Profi
14.06.18
✎
09:13
|
(4) текст тот же?
|
|||
6
Cool_Profi
14.06.18
✎
09:14
|
ПРосто покажи тЕкстЗапроса
|
|||
7
1c-programm
14.06.18
✎
10:00
|
(5) да тот же
Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.СсылкаНаДокумент КАК СсылкаНаДокумент, | ВложенныйЗапрос.СуммаДокумента КАК СуммаДокумента, | ВложенныйЗапрос.Организация, | ВложенныйЗапрос.Сценарий, | ВложенныйЗапрос.СтатьяОборотов Как СтатьяБюджета |ИЗ | (ВЫБРАТЬ | БюджетныеОперации.Организация КАК Организация, | БюджетныеОперации.Ссылка КАК СсылкаНаДокумент, | СУММА(БюджетныеОперацииОсновныеОперации.Сумма) КАК СуммаДокумента, | БюджетныеОперации.Сценарий КАК Сценарий, | БюджетныеОперации.ДатаНачала КАК ДатаНачала, | БюджетныеОперации.ДатаОкончания КАК ДатаОкончания, | NULL КАК ДатаПланирования, | БюджетныеОперацииОсновныеОперации.СтатьяОборотов КАК СтатьяОборотов | ИЗ | Документ.БюджетныеОперации КАК БюджетныеОперации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.БюджетныеОперации.ОсновныеОперации КАК БюджетныеОперацииОсновныеОперации | ПО БюджетныеОперации.Ссылка = БюджетныеОперацииОсновныеОперации.Ссылка | ГДЕ | БюджетныеОперации.ДатаНачала >= &НачПериода | И БюджетныеОперации.ДатаОкончания <= &КонПериода | | СГРУППИРОВАТЬ ПО | БюджетныеОперации.Организация, | БюджетныеОперации.Ссылка, | БюджетныеОперации.ДатаНачала, | БюджетныеОперации.ДатаОкончания, | БюджетныеОперации.Сценарий, | БюджетныеОперацииОсновныеОперации.СтатьяОборотов | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ПланЗакупок.Организация, | ПланЗакупок.Ссылка, | ПланЗакупок.СуммаДокумента, | ПланЗакупок.Сценарий, | NULL, | NULL, | ПланЗакупок.ДатаПланирования, | ПланЗакупок.пр_СтатьяБюджета | ИЗ | Документ.ПланЗакупок КАК ПланЗакупок | ГДЕ | ПланЗакупок.ДатаПланирования = &НачПериода) КАК ВложенныйЗапрос |ГДЕ | ВложенныйЗапрос.Организация = &Организация" + ?(ПоВсемСценариям, "", " И ВложенныйЗапрос.Сценарий В (&Сценарий)") + "" + ?(ПоВсемСтатьямЗатрат, "", " И ВложенныйЗапрос.СтатьяОборотов В (&СтатьяБюджета)") + " |ИТОГИ | СУММА(СуммаДокумента) |ПО | СсылкаНаДокумент"; Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Сценарий", Сценарий); Запрос.УстановитьПараметр("СтатьяБюджета", СтатьяБюджета); Запрос.УстановитьПараметр("НачПериода", НачПериода); Запрос.УстановитьПараметр("КонПериода", КонПериода); |
|||
8
Cool_Profi
14.06.18
✎
10:08
|
(7) не вижу в (7) выражения
ТекстЗапроса = "select * where Id1C in ( " + СсылкаНаДокумент + ")"; |
|||
9
1c-programm
14.06.18
✎
10:11
|
(8) А как должен быть подскажите пожалуйста!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |