|
Не находится по наименованию элемент справочника в управляемых формах | ☑ | ||
---|---|---|---|---|
0
sidalexsandr
16.02.18
✎
13:50
|
Пишу
&НаСервере Функция СоздатьНовыйДокумент(ДокументРеал) К = Справочники.Контрагенты.НайтиПоНаименованию("ИВАН ФЕДОРОВ",,,); КонецФункции Выдает ошибку:отсутствует отображение для типа ComОбъект |
|||
1
Darych
16.02.18
✎
14:08
|
ты что-то недоговариваешь.. и вообще темы одна за одной. а инфу из тебя клещами нужно тащить... короче иди кури
|
|||
2
Рэйв
16.02.18
✎
14:13
|
(0)А что там с COM соединением связано ты конечно, как настоящий партизан, решил утаить?
|
|||
3
Lexey_
16.02.18
✎
14:19
|
(0) "ИВАН ФЕДОРОВ",,,
а зачем 3 запятых поставил? |
|||
4
Defender aka LINN
16.02.18
✎
14:30
|
(0) Тут нужен для начала учебник русского языка.
Ну или внимательность, чтобы заметить, что ошибка с поиском по наименованию никак не связана. |
|||
5
sidalexsandr
16.02.18
✎
14:49
|
(1) Вот полный тескт
&НаСервере Функция СоздатьНовыйДокумент(ДокументРеал) НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); //НовРеал.Номер = "М0000000159"; НовРеал.Дата = ТекущаяДата(); //НовРеал.СписокВидовОперацийЗначение = К = Справочники.Контрагенты.НайтиПоНаименованию("ИВАН ФЕДОРОВ",,,); //НовРеал.Контрагент = К; НовРеал.Записать(); Возврат НовРеал.ссылка; КонецФункции |
|||
6
sidalexsandr
16.02.18
✎
14:53
|
Исходная процедура
&НаКлиенте Процедура Запустить(Команда) Соединение = Новый COMОбъект("V83.Application"); //База = Новый COMObject("V82.Application"); //connection = Соединение.Connect("File=""C:\1c-star-baza"""+СокрЛП("Старая")+""";Usr="""+СокрЛП("Репнин Александр")+""";Pwd = """ + СокрЛП("9985") + """;"); //Для варианта клиент - сервер //СтрокаСоединения = "Srvr = ""192.168.90.113"";Ref = ""Старая""; Usr = Репнин Александр; Pwd = 9985"; //Для варианта файлового режима: СтрокаСоединения = "File = C:\1c-star-baza; Usr = РепнинАлександр; Pwd = 9985"; //СтрокаСоединения = "192.168.90.113;Ref=~SQL Сервис-Центр~;usr=Репнин Александр;pwd=9985"; Попытка Соединение.Connect(СтрокаСоединения); Сообщить("Подключился к базе"); Исключение Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не удалось подключиться к базе" + ОписаниеОшибки(); Сообщение.Сообщить(); КонецПопытки; //ДокументРеал = Подключение.Документы.РеализацияТоваровУслуг.Выбрать('20130101', '20140110' ); //Подключение.Документы.РеализацияТоваровУслуг.СоздатьДокумент(); Реал = Соединение.Документы.РеализацияТоваровУслуг; //Реал = Подключение.Документы.РеализацияТоваровУслуг; ДокументРеал = Реал.Выбрать('20130101', '20140110' ); ////ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать('20130101', КонецДня(ТекущаяДата()) ); 09.01.2014 //ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать('20130101', '20140110' ); Сообщить("ТекДата = "+ТекущаяДата()); Пока ДокументРеал.Следующий()=1 Цикл Сообщить("Документ = "+ДокументРеал.Дата); МойНовыйДок = СоздатьНовыйДокумент(ДокументРеал); КонецЦикла; КонецПроцедуры |
|||
7
Defender aka LINN
16.02.18
✎
14:54
|
(6) А для за каким органом ты передаешь COM-объект на сервер?
|
|||
8
sidalexsandr
16.02.18
✎
14:59
|
(7) У меня управляемые формы. И я так понимаю создавать документы я могу только НаСервере. Вообще стоит задача перенисти документы РеализацияТоваровУслуг из УТ в БУХ.
|
|||
9
Defender aka LINN
16.02.18
✎
15:01
|
(8) Я не спрашивал у тебя, что ты и где создаешь. Я спросил, зачем ты передаешь на сервер объект, которым даже не пользуешься?
Ну и если стоит задача перенести данные - КД в зубы и вперед. |
|||
10
silent person
16.02.18
✎
15:07
|
(9) он видимо выучил что с объектами БД работают только на сервере, вот и передает СОМ объект на сервер.
вот еще один такой же был http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=572492&print=1 (8) не надо ничего не куда передавать. работай с СОМ объектами на клиенте. |
|||
11
Darych
16.02.18
✎
15:09
|
"смешались в кучу кони, люди.."
|
|||
12
drcrasher
16.02.18
✎
15:12
|
(9) дык уже лет пицот из ут в бп данные передаются "из коробки". даже кд в зубы не нужна
|
|||
13
sidalexsandr
16.02.18
✎
15:46
|
(12) У меня Ут 10 и БП 3. В стандартных обработках Ут нет Бух 3
|
|||
14
drcrasher
16.02.18
✎
15:51
|
(13) значит нужно обновиться до последней версии
|
|||
15
sidalexsandr
16.02.18
✎
15:52
|
Как НаСервере получить доступ к документам которые были выбранны НаКлиенте через Оле?
|
|||
16
sidalexsandr
16.02.18
✎
15:55
|
(14) Предыдущий программист 1с сказал, что конфигурация сильно измененная и поэтому типовыми средствами не перенести.
|
|||
17
Darych
16.02.18
✎
15:58
|
(15) выбирай на сервере или передавай на сервер с клиента нужную инфу, а не выбранные по оле объекты
|
|||
18
sidalexsandr
16.02.18
✎
16:11
|
Попробовал всю большую процедуру выполнять на сервере и убрал вызов из клиентской процедуры процедуры серверной.
В результате получилась одна большая серверная процедура, вот: &НаСервере Процедура Запустить(Команда) Соединение = Новый COMОбъект("V83.Application"); //База = Новый COMObject("V82.Application"); //connection = Соединение.Connect("File=""C:\1c-star-baza"""+СокрЛП("Старая")+""";Usr="""+СокрЛП("Репнин Александр")+""";Pwd = """ + СокрЛП("9985") + """;"); //Для варианта клиент - сервер //СтрокаСоединения = "Srvr = ""192.168.90.113"";Ref = ""Старая""; Usr = Репнин Александр; Pwd = 9985"; //Для варианта файлового режима: СтрокаСоединения = "File = C:\1c-star-baza; Usr = РепнинАлександр; Pwd = 9985"; //СтрокаСоединения = "192.168.90.113;Ref=~SQL Сервис-Центр~;usr=Репнин Александр;pwd=9985"; Попытка Соединение.Connect(СтрокаСоединения); Сообщить("Подключился к базе"); Исключение Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не удалось подключиться к базе" + ОписаниеОшибки(); Сообщение.Сообщить(); КонецПопытки; //ДокументРеал = Подключение.Документы.РеализацияТоваровУслуг.Выбрать('20130101', '20140110' ); //Подключение.Документы.РеализацияТоваровУслуг.СоздатьДокумент(); Реал = Соединение.Документы.РеализацияТоваровУслуг; //Реал = Подключение.Документы.РеализацияТоваровУслуг; ДокументРеал = Реал.Выбрать('20130101', '20140110' ); ////ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать('20130101', КонецДня(ТекущаяДата()) ); 09.01.2014 //ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать('20130101', '20140110' ); Сообщить("ТекДата = "+ТекущаяДата()); Пока ДокументРеал.Следующий()=1 Цикл Сообщить("Документ = "+ДокументРеал.Дата); // МойНовыйДок = СоздатьНовыйДокумент(ДокументРеал.Ссылка); // МойНовыйДок = СоздатьНовыйДокумент(); //********************************************************************************* НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); НовРеал.Дата = ТекущаяДата(); Контр = ДокументРеал.Контрагент.Наименование; К = Справочники.Контрагенты.НайтиПоНаименованию(Контр); НовРеал.Контрагент = К; Ф = Справочники.Организации.НайтиПоНаименованию("Медресурс"); НовРеал.Организация = Ф; НовРеал.Записать(); КонецЦикла; КонецПроцедуры Вопросы: 1)почему на сервере не создается документ 2) какой функкцией пользоваться НаСерввере для отладки вместо функции Сообщить()? |
|||
19
Darych
16.02.18
✎
16:15
|
1) откуда знаешь, что не создается?
2) отладчиком |
|||
20
Cyberhawk
16.02.18
✎
16:16
|
(16) Что за предыдущий? Ты там в штате что ли?
|
|||
21
sidalexsandr
16.02.18
✎
16:16
|
(20) Да в штате.
|
|||
22
sidalexsandr
16.02.18
✎
16:18
|
Сделал
&НаСервере Процедура ЗапуститьРаб() // Тест программы с Оле КонецПроцедуры &НаКлиенте Процедура Запустить(Команда) ЗапуститьРаб(); КонецПроцедуры Теперь работает |
|||
23
Вафель
16.02.18
✎
16:20
|
Типовые средстваа можно и доработать, что гораздо легче чем свой обмен писать
|
|||
24
sidalexsandr
16.02.18
✎
16:39
|
(23) А что сложного написать. Подключился по Оле и цикл по документам и создание новых документов, а дальше в цикле заполнение у созданного документа табличной части
|
|||
25
hhhh
16.02.18
✎
16:51
|
(24) ну там у документа 50 реквизитов. И 30 в табличной части, и какждый реквизит вы должны разобрать, как его присваивать, что туда писать. Представьте каког нереального объема заполнение вы должны замутить. А типовой он уже есть, можно его использовать.
|
|||
26
Cyberhawk
16.02.18
✎
16:52
|
(24) Это когда один вид документа и правила обмена просты. А когда 500 видов справочников и 200 видов документов - зае*ешься по Оле писать ))
|
|||
27
sidalexsandr
16.02.18
✎
17:01
|
(26) Согласен. У меня ограниченное число видов документов.
|
|||
28
hhhh
16.02.18
✎
17:34
|
(27) ну даже если 10 видов документов, умножим на 80 реквизитов, получается 800 процедур вам надо написать минимум. Это если у вас на всё про всё меньше 2х месяцев, то вы подумайте.
|
|||
29
Джинн
16.02.18
✎
17:41
|
Дайте ТС яду. Пусть не мучается человек.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |