|
8.2 Как создать документ? | ☑ | ||
---|---|---|---|---|
0
НуВотКак
28.09.11
✎
11:48
|
НаКлиенте
Документы.ПоступлениеТоваровУслуг.СоздатьДокумент() // Переменная не определена (Документы) ДокументОбъект = <<?>>Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); (Проверка: Тонкий клиент) |
|||
1
Buster007
28.09.11
✎
11:49
|
На сервере создавай
|
|||
2
shuhard
28.09.11
✎
11:49
|
(0) на клиенте создать нельзя
|
|||
3
Armin
28.09.11
✎
11:49
|
(0) На сервере надо делать потому что
|
|||
4
Sarmen
28.09.11
✎
11:49
|
На клиенте нельзя создавать документы! Создавай на сервере.
|
|||
5
Wobland
28.09.11
✎
11:49
|
про сервер уже говорили?
|
|||
6
ОчкарикСлава
28.09.11
✎
11:52
|
Про клиента уже сказали?
|
|||
7
НуВотКак
28.09.11
✎
11:53
|
понятно, спасибо
|
|||
8
Armin
28.09.11
✎
11:54
|
(7) обращайся еси шо )
|
|||
9
Поручик
28.09.11
✎
11:59
|
(0) Документы можно создавать только &НаСервере, то есть &НаКлиенте документы создавать нельзя.
|
|||
10
qeos
28.09.11
✎
12:00
|
присоединяюсь к вышесказанному. надо создавать на сервере.
|
|||
11
Eugene_life
28.09.11
✎
12:01
|
На клиенте создать не получится
|
|||
12
НуВотКак
29.09.11
✎
10:54
|
А если я ставлю НаСервере то совсем в процедуру внешней обработки не заходит. Почему?
|
|||
13
ptiz
29.09.11
✎
10:55
|
Полный код выкладывай.
|
|||
14
Hostess_
of_Love 29.09.11
✎
10:55
|
Код давай
|
|||
15
НуВотКак
29.09.11
✎
10:56
|
&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) // Отключение стандартной обработки СтандартнаяОбработка = Ложь; // Выбор файла Microsoft Excel ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ВыборФайла.Фильтр = "Документ Excel (*.xls)|*.xls"; ВыборФайла.ПроверятьСуществованиеФайла = Истина; ВыборФайла.ПолноеИмяФайла = ИмяФайла; Выбор = ВыборФайла.Выбрать(); Если НЕ Выбор Тогда Возврат; КонецЕсли; ИмяФайла = ВыборФайла.ВыбранныеФайлы[0]; КонецПроцедуры //&НаСервере Процедура ЗагрузкаФайла(Команда) КонецПроцедуры &НаСервере Процедура Тестовая(Команда) // Вставить содержимое обработчика. Сообщить("даНуНа"); Если ПустаяСтрока(ИмяФайла) Тогда Сообщить("Для запуска обработки необходимо предварительно выбрать файл Microsoft Excel."); Возврат; КонецЕсли; Если Не(ЗначениеЗаполнено(ДатаЗагрузки)) Тогда Сообщить("Для запуска обработки необходимо предварительно заполнить дату загрузки."); Возврат; КонецЕсли; Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ИмяФайла); ExcelЛист = Excel.Sheets(1); Исключение Сообщить("Не установлено приложение MS Excel!"); Возврат; КонецПопытки; //-- //НовыйДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); //НовыйДок.Номер = "ХХХХХХХХ"; //НовыйДок.Дата = ДатаЗагрузки; //-- ПоследнееПрочитаноеЗначение = 1; ТекущаяСтрока = 1; Счетчик = 0; ТекущееЗначение = СокрЛП(ExcelЛист.Cells(ТекущаяСтрока, 1).Value); Пока Истина Цикл //Состояние("Загрузка данных... строка " + Строка(ТекущаяСтрока-1)); ТекущаяСтрока = ТекущаяСтрока + 1; ТекущееЗначение = СокрЛП(ExcelЛист.Cells(ТекущаяСтрока, 1).Value); Если ТекущееЗначение = ПоследнееПрочитаноеЗначение Тогда ПоследнееПрочитаноеЗначение = ПоследнееПрочитаноеЗначение + 1; КонецЕсли; Если ТекущееЗначение = "" Тогда Счетчик = Счетчик + 1; КонецЕсли; Если Счетчик = 50 Тогда Прервать; КонецЕсли; КонецЦикла; Excel.Quit(); //НовыйДок.Записать(); //Сообщить("Создан документ"+НовыйДок); КонецПроцедуры |
|||
16
unregistered
29.09.11
✎
10:58
|
(15) Процедура Тестовая(Команда) должна быть на клиенте и уже из неё надо вызывать процедуру, которая &НаСервере.
|
|||
17
Phace
29.09.11
✎
11:01
|
Самое главное забыли сказать тут - документы можно создавать только на сервере!
|
|||
18
unregistered
29.09.11
✎
11:03
|
Типа:
&НаКлиенте Процедура Тестовая(Команда) ТестоваяНаСервере(); КонецПроцедуры &НаСервере Процедура ТестоваяНаСервере() Сообщить("даНуНа"); Если ПустаяСтрока(ИмяФайла) Тогда Сообщить("Для запуска обработки необходимо предварительно выбрать файл Microsoft Excel."); Возврат; КонецЕсли; Если Не(ЗначениеЗаполнено(ДатаЗагрузки)) Тогда Сообщить("Для запуска обработки необходимо предварительно заполнить дату загрузки."); Возврат; КонецЕсли; Попытка Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ИмяФайла); ExcelЛист = Excel.Sheets(1); Исключение Сообщить("Не установлено приложение MS Excel!"); Возврат; КонецПопытки; ПоследнееПрочитаноеЗначение = 1; ТекущаяСтрока = 1; Счетчик = 0; ТекущееЗначение = СокрЛП(ExcelЛист.Cells(ТекущаяСтрока, 1).Value); Пока Истина Цикл ТекущаяСтрока = ТекущаяСтрока + 1; ТекущееЗначение = СокрЛП(ExcelЛист.Cells(ТекущаяСтрока, 1).Value); Если ТекущееЗначение = ПоследнееПрочитаноеЗначение Тогда ПоследнееПрочитаноеЗначение = ПоследнееПрочитаноеЗначение + 1; КонецЕсли; Если ТекущееЗначение = "" Тогда Счетчик = Счетчик + 1; КонецЕсли; Если Счетчик = 50 Тогда Прервать; КонецЕсли; КонецЦикла; Excel.Quit(); КонецПроцедуры |
|||
19
НуВотКак
29.09.11
✎
11:04
|
(16) Вот же сложности то какие... А эти режимы никак не отключаются, мне нужно просто файл в базу загрущить?
|
|||
20
unregistered
29.09.11
✎
11:05
|
(19) переходите на 8.1 или в обычное приложение вместо управляемого. Там это реализовано.
|
|||
21
Hostess_
of_Love 29.09.11
✎
11:05
|
(19)какие сложности? все очень просто и доступно
|
|||
22
andrewks
29.09.11
✎
11:06
|
(19) можешь перейти на толстый клиент
|
|||
23
Mort
29.09.11
✎
11:08
|
(18) Первая строчка серверной функции: Сообщить(...)
хорошее начало :)) |
|||
24
Hostess_
of_Love 29.09.11
✎
11:09
|
(23)енто он проверяет исполняется ли код :))
|
|||
25
mikecool
29.09.11
✎
11:14
|
(24) легко исполняется но без результата ))
|
|||
26
Hostess_
of_Love 29.09.11
✎
11:15
|
(25) проверил?)
|
|||
27
unregistered
29.09.11
✎
11:23
|
(25) А чо? Разве накопленные сообщения не вывалятся при возвращении с сервера на клиента?
|
|||
28
НуВотКак
29.09.11
✎
11:28
|
Докумет я создал, но чтобы он отобразился в списке, мне надо перещелкнуть пункт "Документы поступления" в УТ11, как список обновить?
|
|||
29
Ткачев
29.09.11
✎
11:33
|
>mikecool 13.08.11 - 12:27
>в подчиненном Оповестить >во владельце ОбработкаОповещения |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |