|
v8: Ошибка преобразования данных XDTO | ☑ | ||
---|---|---|---|---|
0
Vebsea
16.06.14
✎
23:52
|
Есть 2 процедуры:
Процедура Выбор_файла(Команда) Файл = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Файл.Заголовок = "Выберите файл"; Файл.ПолноеИмяФайла = ""; Файл.Фильтр = "EXCEL (*.xls;.xlsx)|*.xls;*.xlsx"; Файл.МножественныйВыбор = Ложь; Если Файл.Выбрать() Тогда EXC=Новый COMОбъект("Excel.Application"); Book=EXC.WorkBooks.Open(Файл.ПолноеИмяФайла); Лист=Book.WorkSheets(1); Кол_во_строк=Лист.Cells(1,1).SpecialCells(11).Row; Для а=2 по Кол_во_строк ЦИКЛ Контрагент=Лист.Cells(а,2).Value; Товар=Лист.Cells(а,4).Value; Количество=Лист.Cells(а,5).Value; Документ=СозданиеДокумента(1,1,Контрагент,Товар,Количество); Если Лист.Cells(а+1,1).Value="" ТОГДА а=а+1; Пока Лист.Cells(а,1).Value="" Цикл Документ=СозданиеДокумента(0,Документ,1,Поиск_и_создание_товара(Лист.Cells(а,4).Value),Лист.Cells(а,5).Value); а=а+1; КонецЦикла; КонецЕсли; Документ.Записать(); КонецЦикла; EXC.Application.Quit(); КонецЕсли; КонецПроцедуры &НаСервере Функция СозданиеДокумента(Создание,Документ,контрагент,товар,количество) Если Создание=1 ТОГДА Документ=Документы.Приход.СоздатьДокумент(); Документ.Контрагент=Поиск_и_создание_Контрагента(контрагент); Документ.Дата=ТекущаяДата(); КонецЕсли; стр=Документ.Товары.Добавить(); стр.Товар=Поиск_и_создание_товара(товар); стр.Количество=количество; //Документ.Записать(); Возврат Документ; КонецФункции {Обработка.Импорт_в_приход.Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (СозданиеДокумента) Документ=СозданиеДокумента(1,1,Контрагент,Товар,Количество); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}Ref Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType Почему? Если делать СозданиеДокумента() процедурой - то параметры передаются. |
|||
3
mdocs
17.06.14
✎
00:00
|
сначала раздели людей и коней шифрованных словом документ, потом перенеси всю работу с документобьект на сервер
|
|||
4
Asmody
17.06.14
✎
00:01
|
(0) ты объект с сервера передаешь. Так нельзя
|
|||
5
Vebsea
17.06.14
✎
00:02
|
А ссылку на объект?
|
|||
6
Vebsea
17.06.14
✎
00:03
|
(3) Тогда надо будет эксель переносить куда-то в ТЗ.
|
|||
7
Asmody
17.06.14
✎
00:04
|
(5) ссылку можно. Но работать с объектами можно только на сервере
|
|||
8
Asmody
17.06.14
✎
00:05
|
(6) ТЗ нельзя передавать между сервером и клиентом.
|
|||
9
Vebsea
17.06.14
✎
00:06
|
(7) Дак мне не работать, мне просто эту-же ссылку потом закинуть обратно, но с другим условием обработки документа. (8) Совсем никак ТЗ не передать? А массив?
|
|||
10
Asmody
17.06.14
✎
00:12
|
(9) массив можно.
Еще можно сделать реквизит формы нужного типа и работать с ним. Ключевые слова: ЗначениеВРеквизитФормы и РеквизитФормыВЗначение |
|||
11
Vebsea
17.06.14
✎
00:12
|
(10) А реквизит формы будет виден на сервере?
|
|||
12
Vebsea
17.06.14
✎
00:14
|
(10) Понял, спасибо!
|
|||
13
Asmody
17.06.14
✎
00:14
|
(11) в контекстных вызовах будет виден
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |