|
Выгрузка Данных из 1с в Excel | ☑ | ||
---|---|---|---|---|
0
Singenor
22.03.12
✎
16:45
|
Добрый день, столкнулся с такой проблемой.Пишу ввнешнюю обработку. Имеется документ ПоступлениеТоваровУслуг, нужно чтобы при нажатии на кнопку, табличная часть этого документа выгружалась в Эксель. Но до экселя мне еще походу далеко. Сейчас мне нужно, чтобы открывалась печатная форма моего документа(макет, который я нарисовал), и в нее вносились данные, но макет открывается, а данные не вносятся, выдает ошибку
Ошибка при вызове метода контекста (Выполнить): {(14, 39)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. ПоступлениеТоваровУслугТовары.Ссылка <<?>>= &Ссылка Не знаю что делать, не сплю второй день, нужно сегодня сдать обработку, ничего не получается, нужна помощь. Спасибо |
|||
1
х86
22.03.12
✎
16:46
|
какбэ книжки бы почитать умные
|
|||
2
Нуф-Нуф
22.03.12
✎
16:46
|
в ссылку что передаешь?
|
|||
3
cyberandr
22.03.12
✎
16:46
|
запрос в студию
|
|||
4
Maxus43
22.03.12
✎
16:47
|
ЭтотОбъект наверно передаёт
|
|||
5
Maxus43
22.03.12
✎
16:50
|
Запрос.УстановитьПараметр("Ссылка", Ссылка);
|
|||
6
Darky
22.03.12
✎
16:50
|
Вносить данные! в макет? Ну не знаю...
Вноси данные в документ и выводи уже в макет при печати. Кстати, выгрузить в Эксель можно так ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS); где ТабДок = Новый ТабличныйДокумент; |
|||
7
manyak
22.03.12
✎
17:07
|
(6) у него ТЧ а не ТД, так что этот номер не пройдет
|
|||
8
Singenor
22.03.12
✎
17:07
|
Функция СформироватьОтчет(ТабДок)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Макет = ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПоступлениеТоваровУслугТовары.НомерСтроки, | ПоступлениеТоваровУслугТовары.Номенклатура.НаименованиеПолное, | ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения, | ПоступлениеТоваровУслугТовары.Количество, | ПоступлениеТоваровУслугТовары.Цена, | ПоступлениеТоваровУслугТовары.СтавкаНДС, | ПоступлениеТоваровУслугТовары.Номенклатура.СтранаПроисхождения.Код, | ПоступлениеТоваровУслугТовары.Номенклатура.СтранаПроисхождения.Наименование, | ПоступлениеТоваровУслугТовары.Номенклатура.НомерГТД |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары |ГДЕ | ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", ); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("Шапка"); ОбластьПодвал.Параметры.Заполнить(ТабДок); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); ОбластьШапкаТаблицы.Параметры.Заполнить(ТабДок); ОбластьПодвалТаблицы.Параметры.Заполнить(ТабДок); ОбластьДетальныхЗаписей.Параметры.Заполнить(ТабДок); ТабДок.НачатьАвтогруппировкуСтрок(); ТабДок.Показать (ОбластьДетальныхЗаписей); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Получить(ОбластьПодвалТаблицы); ТабДок.Получить(ОбластьПодвал); ТабДок.Получить(ОбластьДетальныхЗаписей); //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА ДанныеДляПечати = Новый Структура(); ДанныеДляПечати.Вставить("Номер", СсылкаНаОбъект.Номер); ДанныеДляПечати.Вставить("НаименованиеТовара", ОбластьДетальныхЗаписей.Количество); ДанныеДляПечати.Вставить("ЕдиницыИзмерения", ОбластьДетальныхЗаписей.ЕдиницаИзмерения); ДанныеДляПечати.Вставить("Количество", ОбластьДетальныхЗаписей.Количество); ДанныеДляПечати.Вставить("ЦенаБезНДС", ОбластьДетальныхЗаписей.Цена ); ДанныеДляПечати.Вставить("СтавкаНДС", ОбластьДетальныхЗаписей.СтавкаНДС); ДанныеДляПечати.Вставить("ЦифровойКод", ОбластьДетальныхЗаписей.НоменклатураСтранаПроисхожденияКод ); ДанныеДляПечати.Вставить("КраткоеНаименование", ОбластьДетальныхЗаписей.НоменклатураСтранаПроисхожденияНаименование); ДанныеДляПечати.Вставить("НомерГТД", ОбластьДетальныхЗаписей.НоменклатураНомерГТД); ДанныеДляПечати.Вставить("СуммаБезНДС", ОбластьПодвал.Сумма); ДанныеДляПечати.Вставить("СуммаНДС", ОбластьПодвал.СуммаСНДС); ДанныеДляПечати.Вставить("ВсегоСНДС", ОбластьПодвал.СуммаДокумента); ДанныеДляПечати.Вставить("ДатаДокумента", ОбластьПодвал.ДатаДокумента); ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать(); Товары = ИнициализацияТаблицыСтрок(); Пока ВыборкаСтрокТовары.Следующий() = 1 Цикл Строчка = Товары.Добавить(); Строчка.Номер = ""; Строчка.НаименованиеТовара = ВыборкаСтрокТовары.НаименованиеПолное; Строчка.Количество = ВыборкаСтрокТовары.Количество; Строчка.ЦенаБезНДС = ВыборкаСтрокТовары.Цена; Строчка.СтавкаНДС = ВыборкаСтрокТовары.СтавкаНДС; Строчка.ЦифровойКод = ВыборкаСтрокТовары.НоменклатураСтранаПроисхожденияКод; Строчка.КраткоеНаименование = ВыборкаСтрокТовары.НоменклатураСтранаПроисхожденияНаименование; Строчка.ЕдиницаИзмерения = ""; Строчка.НомерГТД = ""; КонецЦикла; ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары); ОбластьПодвал.Параметры.ДатаДокумента = ТекущаяДата(); КонецФункции |
|||
9
Singenor
22.03.12
✎
17:07
|
Функция ИнициализацияТаблицыСтрок()
Товары = Новый ТаблицаЗначений(); Товары.Колонки.Добавить("Номер"); Товары.Колонки.Добавить("НаименованиеТовара"); Товары.Колонки.Добавить("ЕдиницыИзмерения"); Товары.Колонки.Добавить("Количество"); Товары.Колонки.Добавить("ЦенаБезНДС"); Товары.Колонки.Добавить("СтавкаНДС"); Товары.Колонки.Добавить("ЦифровойКод"); Товары.Колонки.Добавить("ЕдиницаИзмерения"); Товары.Колонки.Добавить("КраткоеНаименование"); Товары.Колонки.Добавить("НомерГТД"); Товары.Колонки.Добавить("СуммаБезНДС"); Товары.Колонки.Добавить("СуммаНДС"); Товары.Колонки.Добавить("ВсегоСНДС"); Возврат Товары; КонецФункции |
|||
10
КМ155
22.03.12
✎
17:08
|
(8)блеать, что это :
Запрос.УстановитьПараметр("Ссылка", ); |
|||
11
КМ155
22.03.12
✎
17:09
|
(8) ну и Запрос.Выполнить().Выбрать();
а надо ТЗТовары=Запрос.Выполнить().Выгрузить() |
|||
12
manyak
22.03.12
✎
17:10
|
ТД=новый табличныйдокумент;
Построитель = Новый ПостроительОтчета; Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТЧ); Построитель.Вывести(ТД); ТД.Записать("c:\123.XLSX","XLSX"); |
|||
13
Singenor
22.03.12
✎
17:44
|
Функция СформироватьОтчет(ТабДок)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Макет = ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПоступлениеТоваровУслугТовары.НомерСтроки, | ПоступлениеТоваровУслугТовары.Номенклатура.НаименованиеПолное, | ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения, | ПоступлениеТоваровУслугТовары.Количество, | ПоступлениеТоваровУслугТовары.Цена, | ПоступлениеТоваровУслугТовары.СтавкаНДС, | ПоступлениеТоваровУслугТовары.Номенклатура.СтранаПроисхождения.Код, | ПоступлениеТоваровУслугТовары.Номенклатура.СтранаПроисхождения.Наименование, | ПоступлениеТоваровУслугТовары.Номенклатура.НомерГТД |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары |ГДЕ | ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("Шапка"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ОбластьПодвал.Параметры.ДатаДокумента = СсылкаНаОбъект.Дата; ОбластьПодвал.Параметры.Сумма = СсылкаНаОбъект.СуммаБезНДС ОбластьПодвал.Параметры.СуммаНДС = СсылкаНаОбъект.СуммаВключаетНДС; ОбластьПодвал.Параметры.СуммаДокумента = СсылкаНаОбъект.СуммаДокумента; ТабДок.Вывести(ОбластьПодвал); ТабДок.Показать(); КонецФункции переделал код, как мне тепереь сделать, чтобы считалась ОбластьПодвал.Параметры.Сумма = СсылкаНаОбъект.СуммаБезНДС ОбластьПодвал.Параметры.СуммаНДС = СсылкаНаОбъект.СуммаВключаетНДС;? они нигде не определены, где и как это сделать? мозг не работает вообще((( |
|||
14
Singenor
22.03.12
✎
18:17
|
пробелма актуальна еще
|
|||
15
Darky
22.03.12
✎
18:25
|
чел, если документ называется ПоступлениеТоваровУслуг, то судя по твоим вопросам это не твоя самописка, а вполне себе типовая конфа.
Открой модуль объекта, найди процедуру печать и делай по аналогии |
|||
16
Singenor
22.03.12
✎
18:45
|
я пишу обработку внешнюю
|
|||
17
Reset
22.03.12
✎
19:03
|
На
За оптимальность не ручаюсь, писал быстро. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |