Обработка заполнения таб части на Управляемых формах #764308


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

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