Программно ввести документ копирование! #391075


#0 by kunashir
Вот есть предопределенная процедура ВводНового (ПризнакКопирования), так вот как можно использовать данные предопределенную процедуры чтобы ввести документ копированием. Что-то в этом роде:
#1 by skunk
читаем когда срабатывает данная процедура и для чего данный признак нужон...
#2 by Нуф-Нуф
ин-ин-интерактивно, ин-ин-интерактивно. Михалыч!
#3 by kunashir
ты про это "Предопределенная процедура при интерактивном вводе нового документа." Т.е. не взлетит так (((
#4 by kunashir
А как же тогда быть?
#5 by Ёпрст
способов - вагон и маленькая тележка..
#6 by ДенисЧ
А тележка - очень маленькая?
#7 by kunashir
Один я знаю - в лоб, перетащить каждый атрубит в новый в ручную, но блин доков может быть много, и описывать каждый не хочется )
#8 by Нуф-Нуф
мне пожалуйста с тележки отсыпьте чуток если не жалко
#9 by skunk
то есть с метаданными работать не можем?
#10 by skunk
и вообще можешь объяснить для чего программно копировать документ?
#11 by kunashir
Как-то не приходилось, за не надобностью
#12 by Ёпрст
1. Новый + метаданные 2. нажатие F9 в журнальчике сендкеем 3. Открыть форму с параметром 4. ВК 5. и т. д.. хватит?
#13 by kunashir
делаю типа свой журнрал с необходимым функционалом...
#14 by kunashir
1. не могу найти как перебрать все атрибуты документа... 2. не катит 3. опять же привязано к определенному виду дока... 4. какая ВК?
#15 by Ёпрст
1. через метаданные и метод ПолучитьАтрибут+УстановитьАтрибут 2. А чего некатит? 3. С какой радости? 4. Формекс, например.
#16 by Попытка1С
поделись как реализовать способ из 2.
#17 by Ёпрст
открыть форму журнала, активизировать в ней копируемый документ и нажать F9 сенкеем ... всё собственно.
#18 by kunashir
по 3: не в курю как открыть форуму: ТипДока = ТипЗНаченияСтр (ТекДок)+"."+ ТекДок.Вид;
#20 by kunashir
Не много не то, с этим то я разобрался.... Как потом форму открыть....
#21 by Оболтус
Значала записать.
#22 by kunashir
в журнале ведь по F9 докумнет не записывается - хочу также ))))
#23 by Altair
#24 by Altair
так не получится, я уже с этим столкнулся Кстати, наткнулся на это когда сам пытался реализовать.
#25 by kunashir
Вдруг юзер передумал, и не стал его записывать??? см.
#26 by skunk
при создании нового документа передавай все необходимиое через контекст... далее в процедуре ВводНового ... смотри на конткест и заполняй
#27 by Altair
Это ограничение платформы такое. Так только через ВК можно.
#28 by Ёпрст
Кто вам это сказал что только с ВК? Чем , например не катит ? Что мешает F9 в журнале скриптом нажать? Есть еще способы...
#29 by kunashir
То что нужно!!! Тока вот подумалось, что журнал то должен динамически изменяться, к примеру после сохранения документа или других действий - возможно ли это?
#30 by Altair
речь же идет о программном способе? И как в журнале скриптом нажать без ВК? И это только в журнале. Кстати, спасибо за помощь в этом самом вопросе :-)
#31 by Оболтус
Кстати, да. Думаю, имеется в виду вот это: Открыть форму нового документа: Синтаксис: ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>) Назначение: Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании). Возвращает: 1 - если действие выполнено, 0 - иначе. Параметры: <ОписательОбъекта> - строка-описатель документа вида:  'Документ.ХХХХХ', где ХХХХХХ - вид документа; <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен); <ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен). Замечание: Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0.
#32 by Ёпрст
чего как ?
#33 by Ёпрст
+32 ВК тут и не пахнет :)
#34 by kunashir
Так можно ли как-то узнать что изменились данные по документам, али нет?
#35 by Оболтус
Помню, где-то читал, как таким же методом делали максимализацию формы. Условие тоже было без ВК :)))
#36 by Ёпрст
на синьёре есть пример..
#37 by Shaman100M
#38 by Ёпрст
типичная ошибка есть и в твоей обработке при работе с метаданными :)) Пока не наступишь на грабли - не узнаешь, что называется :)
#39 by 1Сергей
Я б за время существования этой ветки стопитсот реквизитов документа вручную переписал
#40 by Altair
Программно открыть журнал, спозиционироваться на объекте копирования, нажать F9, и закрыть журнал?
#41 by Ёпрст
ну да..
#42 by Shaman100M
После программной записи нужно знать, какая форма журнала открыта, дальше переоткрыть эту форму и использовать АктивизироватьОбъект, примерно так:
#43 by Altair
хм... надо попробовать. Спасибо :-) А если прав нет на журнал?
#44 by Shaman100M
заинтриговал. Пошел смотреть.
#45 by Ёпрст
можешь не смотреть - болт с реквизитами неопределенного типа.
#46 by Shaman100M
Почти отгадал. В "периодике" уже столкнулся с такой вещью. А нужен ли НазначитьТип для общих типов "Справочник", "Документ", "Перечисление", "Счет" ?
#47 by Ёпрст
Нет ... Если реквизит с типом без вида, то вид назначать не надо (вообще непонятно, нахрена они метод НазначитьВид сделали ? :))  )
#48 by Shaman100M
используй форму, на который в конфе права не описаны (он не существует): "Журнал.<ВидДокумента>" При такой эмуляции F9 документ будет такой же как и при интерактивном копировании F9, но без гарантии полного сходства с оригиналом (отрабалывает и меняет реквизиты ВводНового) Да, одни проблемы с ним. :) Про тип без вида, надо у себя подправить, убрать лишний код.
#49 by Altair
Сенкс. Такое возможно когда в журнале 1 вид документа. А если их несколько, как например, в Общем, то еще спозиционироваться на нужном виде нового документа.
#50 by Altair
ой, глупость сказал.
#51 by Altair
+ это же не ввод нового, а копирование
#52 by Shaman100M
какая разница, ВводНового отрабатывает также при копировании: Синтаксис: ВводНового(<ПризнКопирования>,<ОбъектКопирования>)
#53 by Shaman100M
Журнала вида <ВидДокумента> в конфе просто может не быть, но ОткрытьФорму("Журнал.<ВидДокумента>"); работает, и открывает список документов этого вида.
#54 by Altair
я имел в виду про разницу между Ins и F9 А если есть, но без прав? Я приминительно к универсальным обработкам.
#55 by Shaman100M
см. по параметрам ВводНового. Делал я подобное - идея была программно заполнить и открыть новый документ (через контекст открытой формы ТЧ заполнить не получится, записывал и открывал через F9), - отказался как раз из-за отработки и смены реквизитов в ВводНового Ну, если есть журнал вида <ВидДокумента>, это проверяется по метаданным. В этом случае поискать другой подходящий - один из общих журналов с правами. Если же и у них права закрыты... тогда выдать универсальное сообщение "Нет прав." И это будет логично, т.к. если закрыты права на просмотр журнала, то на создание документов - д.б. по логике тоже закрыты. Есть еще два неявных журнала "Полный" и "Прочие" (кстати, на них описаны права) но их программно имхо, не открыть. Сендкеем через меню "Операции", если оно открыто.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С