|
Открыть существующий документ | ☑ | ||
---|---|---|---|---|
0
Cyborg9
28.04.13
✎
13:17
|
Народ! Не пеняйте сильно, но перерыл все и так не понял как в процедуре выполяющая на сервере "ОбработакаЗаполнения" открыть существующий документ? Про ОткрытьЗначение и ОткрытьФорму я в курсе, только интерактивная ошибка вылетает.
|
|||
1
Флудер
28.04.13
✎
13:26
|
На сервере нет форм
|
|||
2
Cyborg9
28.04.13
✎
13:32
|
а какой делегат на клиенте на ОбработкуЗаполнения работает???
|
|||
3
Wobland
28.04.13
✎
13:45
|
о, в 1С появились делегаты? с какой версии? можно подробнее
|
|||
4
Cyborg9
28.04.13
✎
13:58
|
Ну помогите по существу)
|
|||
5
Флудер
28.04.13
✎
14:20
|
(4) что тебе помочь? на сервере документ не открыть
|
|||
6
Cyborg9
28.04.13
✎
14:24
|
Какое решение при вводе на основании открыть существующий?
|
|||
7
Любопытная
28.04.13
✎
14:31
|
(6)получить его форму и открыть на клиенте
|
|||
8
Cyborg9
28.04.13
✎
14:42
|
(7) эт я и так знаю))) технически как реализуется?? В параметр при открытии как то передается полученная форма?
|
|||
9
Cyborg9
28.04.13
✎
15:14
|
Я от вас не отстану)
|
|||
10
Kookish
28.04.13
✎
15:16
|
У меня было такое как-то раз. На гугле забанили. Но потом разобрались, и я снова могу им пользоваться. Вот один из результатов:
v8: 1C 8.2 открыть форму сущ. документа в упр. режиме |
|||
11
Cyborg9
28.04.13
✎
15:25
|
это на клиенте)) Как из ОбработкиЗаполнения в клиент в параметр форму передать?
|
|||
12
Флудер
28.04.13
✎
15:29
|
(11) Зачем форма в параметре???? Открывай спокойно на клиенте форму документа и все
|
|||
13
Kookish
28.04.13
✎
15:31
|
Месье не понимает намеков. И месье очень общительный. Ему проще два часа доставать народ на форуме, чем за минуту найти все ответы в интернете.
|
|||
14
Cyborg9
28.04.13
✎
15:33
|
(12) Открывается пустой док, как в параметр процедуры при открытии передать ссылку на док который нашел в процедуре ОбработкаЗаполнения???
|
|||
15
Kookish
28.04.13
✎
15:37
|
Чесслово, в (10) все есть.
|
|||
16
Cyborg9
28.04.13
✎
15:41
|
Издеваетесь, да?
|
|||
17
Cyborg9
28.04.13
✎
15:42
|
Оч много ссылок битых
|
|||
18
Kookish
28.04.13
✎
15:48
|
Ну почему все считают, что я издеваюсь? Я указал ссылку на тему на мисте. Нужно скопировать оттуда код и поместить здесь?
Пожалуйста. ... Параметры = Новый Структура("Ключ", СсылкаНаДокумент); ОткрытьФорму("Документ.ПоступлениеТоваров.ФормаОбъекта", Параметры); ... И кто после этого издевается? |
|||
19
Cyborg9
28.04.13
✎
15:49
|
как мне получить ссылкуНаДокумент из ОбработкаЗаполнения?????????????????
|
|||
20
Kookish
28.04.13
✎
15:52
|
ЭтотОбъект, я полагаю. Но это уже за гранью.
|
|||
21
Мимохожий Однако
28.04.13
✎
15:53
|
Встань отладчиком через F9 поищи .ссылка
|
|||
22
Cyborg9
28.04.13
✎
15:58
|
(20) ЭтотОбъект - доступен долько для чтения, ему нельзя передать найденный сущ. документ на сервере и испльзовать в тонком клиенте.
|
|||
23
Cyborg9
28.04.13
✎
15:59
|
В обычной конфе и 7-ке это реализуется элементарно, как подобное в управляемой конфе реализуется??
|
|||
24
Kookish
28.04.13
✎
16:07
|
Хорошо. Что, по-твоему означает "найденный сущ. документ на сервере"? Это разве не ссылка на документ?
Мне снова кажется, что надо мной кто-то издевается... |
|||
25
Cyborg9
28.04.13
✎
16:22
|
(24) не придерайся к словам)) Как на сервере сделать чтобы ЭтотОбъект стал найденным документом?
|
|||
26
Повелитель
28.04.13
✎
16:29
|
ЭтотОбъект.Ссылка :)
|
|||
27
Kookish
28.04.13
✎
16:35
|
(26) Занавес!
|
|||
28
Cyborg9
28.04.13
✎
16:37
|
(26) Ошибка: поле для записи недоступно
|
|||
29
Wobland
28.04.13
✎
16:53
|
(28) а зачем ты туда пишешь?
|
|||
30
Cyborg9
28.04.13
✎
17:06
|
(29) Странный вопрос.. от незнания наверное))
|
|||
31
hhhh
28.04.13
✎
17:13
|
(30) вопрос был: открыть документ. Для этого писать в него не нужно.
|
|||
32
Cyborg9
28.04.13
✎
17:15
|
(31) Как открыть найденный документ из запроса вместо ЭтотОбъект.Ссылка (пустого) в процедуре ОбработкаЗаполнения???
|
|||
33
hhhh
28.04.13
✎
17:18
|
(32) написано в (0) "открыть существующий документ?". В существующем документе ссылка не пустая, чтоб ты знал.
|
|||
34
Cyborg9
28.04.13
✎
17:21
|
(33) я в курсе и в отладчике вижу, я эту ссылку получаю, а что дальше делать в обработкеЗаполнения я не знаю, на все попытки открыть пишет интерактивную ошибку
|
|||
35
Повелитель
28.04.13
✎
17:22
|
ТС начал в показаниях путаться ))
Напиши суть задачи, может так поможем лучше |
|||
36
Повелитель
28.04.13
✎
17:23
|
Ты в (34) пишешь что ссылку видишь.
Подставь ее в (18) |
|||
37
Cyborg9
28.04.13
✎
17:35
|
(36) так и сделал, пишет интерактивную ошибку. ссылку вижу не на клиенте, а на сервере, мне бы эту ссылку на клиент при открытии отправить
|
|||
38
Cyborg9
28.04.13
✎
17:36
|
+(36) в обработке заполнения
|
|||
39
Любопытная
28.04.13
✎
17:45
|
(38) Кури
&НаКлиенте Процедура Передать(Команда) ТекДанные = Объект.Ссылка; Если ПолучитьТребование(ТекДанные) Тогда Сообщить("На это требование уже оформлена передача"); Возврат; КОнецЕсли; Передача = СОздатьПередачу(ТекДанные); Стр = новый Структура; Стр.Вставить("Ключ",Передача); Стр.Вставить("ДанныеЗаполнения",ТекДанные); ЭтаФорма.Закрыть(); Форма = ПолучитьФорму("Документ.ПередачаТоваров.Форма.ФормаДокументаКПК",Стр); Объект1 = ФОрма.Объект; ЗаполнитьДок(ТекДанные,Объект1); КопироватьДанныеФормы(Объект1,Форма.Объект); ФОрма.ОТкрыть(); КонецПроцедуры &НаСервере Функция СоздатьПередачу(Док) НПередача = Документы.ПередачаТоваров.СоздатьДокумент(); НПередача.Дата = ТекущаяДата(); НПередача.Заполнить(Док); Ссылка = НПередача.ПолучитьСсылкуНового(); Возврат Ссылка; КонецФункции &НаСервере Функция ЗаполнитьДок(ДокОсн,Объект1) ДокТТ = ДанныеФормыВЗначение(Объект1, Тип("ДокументОбъект.ПередачаТоваров")); ДокТТ.Заполнить(ДокОсн); ЗначениеВДанныеФормы(ДокТТ,Объект1); КонецФункции |
|||
40
Cyborg9
28.04.13
✎
17:54
|
(39) Спасибо, я это видел) Мне вообще забить на процедуру ОбработкаЗаполнения в модуле объекта? Заполнением заняться прямо на клиенте?
|
|||
41
Мимохожий Однако
28.04.13
✎
17:55
|
ОФФ: Если предложить забить на эту задачу, ты обидишься. Разжевали несколько раз, а толку мало.
|
|||
42
Любопытная
28.04.13
✎
17:58
|
(40) Да почему на клиенте? На сервере, только не в обработке заполнения, а в другой процедуре вызови процедуру Заполнить() своего документа.
|
|||
43
Cyborg9
28.04.13
✎
17:59
|
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Заказ") Тогда // Заполнение шапки ЗапросДок = Новый Запрос; ЗапросДок.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | Закупка.ДокументОснование, | Закупка.Ссылка |ИЗ | Документ.Закупка КАК Закупка |ГДЕ | Закупка.ДокументОснование = &ДокОсн"; ЗапросДок.Параметры.Вставить("ДокОсн",ДанныеЗаполнения); ВыборкаДок = ЗапросДок.Выполнить().Выбрать(); Если ВыборкаДок.Количество()>0 Тогда ВыборкаДок.Следующий(); //Док = Документы.Закупка.ПолучитьСсылку(ВыборкаДок.Ссылка.ПолучитьОбъект()); ////#Если Клиент Тогда Док = ВыборкаДок.Ссылка.ПолучитьОбъект(); Д = Новый Структура("Ключ", ВыборкаДок.Ссылка); ЭтотОбъект.Ссылка.ПолучитьФорму("Документы.Закупка.ФормаДокумента",Д); //ОткрытьФорму(); интерактивная ошибка Иначе ДокументОснование = ДанныеЗаполнения; Для Каждого ТекСтрокаЗапчасти Из ДанныеЗаполнения.Запчасти Цикл Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОстатокНаСкладеОстатки.Товар КАК Товар, | ОстатокНаСкладеОстатки.Склад, | ОстатокНаСкладеОстатки.КоличествоОстаток КАК КоличествоОстаток |ИЗ | РегистрНакопления.ОстатокНаСкладе.Остатки КАК ОстатокНаСкладеОстатки |ГДЕ | ОстатокНаСкладеОстатки.Товар = &ТоварНаСкладе |ИТОГИ | СУММА(КоличествоОстаток) |ПО | Товар"; Запрос.Параметры.Вставить("ТоварНаСкладе",ТекСтрокаЗапчасти.ТоварСпр); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Если Выборка.КоличествоОстаток > 0 Тогда Продолжить; КонецЕсли; КонецЕсли; НоваяСтрока = СписокТоваров.Добавить(); НоваяСтрока.Артикул = ТекСтрокаЗапчасти.Артикул; НоваяСтрока.Количество = ТекСтрокаЗапчасти.Количество; НоваяСтрока.Сумма = ТекСтрокаЗапчасти.Сумма; НоваяСтрока.Номенклатура = ТекСтрокаЗапчасти.ТоварСпр; НоваяСтрока.Цена = ТекСтрокаЗапчасти.Цена; КонецЦикла; КонецЕсли; КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры |
|||
44
Cyborg9
28.04.13
✎
18:00
|
при вводе на основании из модуля объекта заставить открыть существующий документ???
|
|||
45
Любопытная
28.04.13
✎
18:04
|
ввод на основании ты откуда вызываешь?
|
|||
46
Cyborg9
28.04.13
✎
18:16
|
(45) модуль объекта
|
|||
47
Любопытная
28.04.13
✎
18:24
|
(46) так не делают, меняй задачу
|
|||
48
Cyborg9
28.04.13
✎
18:34
|
(47) В смысле? конструктор сам так сделал
|
|||
49
Cyborg9
28.04.13
✎
18:34
|
я лишь добавил условие, по тексту все ясно.. как тогда реализовать задуманное?
|
|||
50
Любопытная
28.04.13
✎
18:56
|
(49) Мы говорим о разных вещах. Конструктор заполнил стандартную процедуру, которая отрабатывается при вызове метода объекта Заполнить(). Ты где этот метод вызывать собрался?
С самого начала начни: что ты делаешь? Если ты просто хочешь чтобы по ПКМ-На основании - твой документ, то он сам прекрасно заполнится и откроется, без лишних телодвижений. Если ты где-то в обработке ПРОГРАММНО хочешь создать документ, то сделай это так, как в коде написано, который я тебе скопипастила сюда |
|||
51
Cyborg9
28.04.13
✎
19:36
|
Спасибо всем! Я понял, надо создавать команду и писать в модуле формы. Конструктор под такую задачу не катит.
|
|||
52
Любопытная
28.04.13
✎
19:39
|
Застрелицца мне из пальца... Ничего ты, дружище, не понял. И это печально
|
|||
53
Torquader
28.04.13
✎
20:58
|
Мне кажется, что проще в обработке заполнения выставить флаг, что документ такой уже есть, а уже при открытии его формы попытаться открыть другую форму, а эту закрыть и разрушить документ.
P.S. управляемые формы г. полное - нельзя сначала создать документ, а потом открыть его форму, не сохраняя документ. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |