Имя: Пароль:
1C
1С v8
Ссылка на текущий документ
, , ,
0 ШримпРолл
 
05.08.16
18:29
Добрый вечер, господа и дамы. На платформе 8.3 создаю внешнюю обработку. Как мне обратиться к документу на основании которого я её запущу?
*Текст запроса*
ГДЕ
Документ.Ссылка = &СсылкаНаОбъект
Запрос.УстановитьПараметр("СсылкаНаОбъект", СсылкаНаОбъект);
СсылкаНаОбъект = ?
1 Fragster
 
гуру
05.08.16
18:35
http://its.1c.ru/db/bspdoc#content:427:1:issogl3_вариант_запуска_вызов_серверного_метода

Для назначаемых обработок типа Создание связанных объектов реализовать экспортную процедуру ВыполнитьКоманду с параметрами ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты и ПараметрыВыполненияКоманды:
Копировать в буфер обмена

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполненияКоманды) Экспорт
  // Реализация логики команды по созданию связанных объектов
  Если ИдентификаторКоманды = ... Тогда
    ...
  ИначеЕсли ...
КонецПроцедуры
2 ШримпРолл
 
05.08.16
18:47
(1) Спасибо конечно, но я не понял(
3 ШримпРолл
 
05.08.16
19:08
Нет какой-нибудь простой команды типа ТекущийДокумент() ?
4 Fram
 
05.08.16
19:12
(0) а что значит "на основании"?
5 ШримпРолл
 
05.08.16
19:18
Я загружаю обработку в конфу и ставлю галочки, что она будет открываться из таких-то разделов. Захожу в этот раздел, захожу в конкретный документ, жму "на основании" и выбираю свою обработку. Далее должна заполниться моя форма. Но она заполняется не только данными конкретного документа, а данными вообще всех документов этого типа((( Поэтому нужно получить ссылку на конкретный документ и указать в запросе.
6 ШримпРолл
 
05.08.16
19:45
Кто-нибудь?
Как получить ссылку на текущий объект? ;(
7 Vaflya
 
05.08.16
20:04
Мла, сделай реквизит в обработке Ссылка и перед открытием формы обработки заполни его
8 ШримпРолл
 
05.08.16
20:10
(7) Чем его заполнить? Ссылка = ?
9 mkalimulin
 
05.08.16
20:12
(8) Оно прям так и называется: "Ссылка".
Без круглых скобок.
10 ШримпРолл
 
05.08.16
20:15
(9) Пишет: "Переменная не определена (Ссылка)"
11 Vaflya
 
05.08.16
20:33
Пижнец.. что за механизм "на основании" относительно обработок хз, но раз так то в обработке заподнения  обработки(разберитесь, где о чем) гдолжна быть процедура "обработказаполнения", параметр там есть источник. Ну а так делаешь свою кнопку в документе и принажатии пишешь

Обработка = обработки.лажа.создать();
Обработка.ссылка = ссылка; эта ссылка означает ссылку на документ, из которого кнопка жмется
12 youalex
 
05.08.16
20:43
(3) клюшечник?
13 ШримпРолл
 
06.08.16
13:29
(11) Окей, сейчас попробую.
Спасибо)

(12) Не то, чтобы клюшечник, просто знаю, что в 7-ке этот вопрос как-то несложно решался)
14 ШримпРолл
 
06.08.16
13:37
Обработка = обработки.лажа.создать();  - тоже не прокатило.
Обработки - переменная не определена.
Можно попробовать создать внешнюю обработку развернутым вариантом(строчек в 10 кода), но это получится обработка из обработки и на вряд ли выдаст правильную ссылку.
15 ШримпРолл
 
06.08.16
13:43
Help?!
16 youalex
 
06.08.16
14:16
Если типовая на УФ (читай БСП) - можно здесь покурить:
http://catalog.mista.ru/public/84001/
17 vicof
 
06.08.16
14:21
Может, книжки для начала почитать?
18 ColonelAp4u
 
06.08.16
14:22
а создать реквизит в обработке ссылка документа и при открытии этой обработки заполнить данный реквизит и передавать его в запрос пробовал?
19 ШримпРолл
 
06.08.16
14:32
(16) Спасибо, почитаю. Похоже на мою ситуацию)
(18) Создал реквизит "СсылкаНаОбъект" с типом документы.такие-то.Ссылка. Но это ссылка на все документы этого типа, а не на конкретный(
20 Горогуля
 
06.08.16
14:34
(19) ключевое слово - тип
21 lEvGl
 
гуру
06.08.16
14:35
(19) ЧЕТАТЬ учебники!
22 ColonelAp4u
 
06.08.16
14:47
у тебя есть ТЧ в которую попадают документы какие-то.Ссылка, очень хорошо но это реквизиты ТЧ, а я тебе говорю создай реквизит формы документоткрывшийэтуобработку с типом значений каких хочешь документов и при открытии этой обработки заполни этот реквизит
Обработка = Обработки.Лажа.Создать();
Обработка.документоткрывшийэтуобработку  = ЭтотОбъект.Ссылка;
23 ColonelAp4u
 
06.08.16
14:49
(22) и ты всегда будешь знать какой документ открыл обработку так как он записан в реквизите
24 Vaflya
 
06.08.16
17:44
(22)Внешняя обработка у него, еще уф, не пробовал я их, но слышал, что там муть какая то с внешними. Но менеджер обработок работать должен, че за лажа(14)? А Документы.перемещениеТоваров.НайтиПоНомеру() тоже ошибку дает? Может вы не в 1С "работаете"?
25 ШримпРолл
 
08.08.16
14:39
Большое спасибо, друзья!
В итоге решил путем описанным в (16). Немного помучившись, все получилось)
УФ + Внешняя обработка создания связанных объектов первый раз дается не просто...
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.