#0
by MrGray
Внешняя обработка. Хочется: выбрать документ и выполнить команду. Команда состоит (в самом упрощенном варианте): изменение реквизита ТЧ "Товары". Платформа 8.3 Вот код который нихрена не работает. Кто подскажет, где рыть.. &НаКлиенте &НаСервере что не так?
#5
by MrGray
Было б так просто, если б не было так никак ) Собственно с такого кода и начал. Ошибка та же. Может на 8.2 это еще прокатывает, но на 83 - нет. при возврате на клиента вываливается с ошибкой выше. моск чуть не сломал, казалось бы, что указанный код должен по логике работать, но при вызове именно из внешней не работает. получилось вернуть через копию ДФК на клиента и впнуть измененный вариант (КопироватьДанныеФормы) в форму. Не пришлось даже прикладной объект создавать лишний. Фух. спать. Вопрос снят.
#7
by MrGray
Да, лежат, только при возврате в клиент, хоть ужом свернись - данные формы вызванной из внешней обработки выдают сабж. Я перепробовал все варианты, и, кстати, если оченить код последней УТ на 8.3, они даже не пытаются создавать прикладной объект, например: "заполнить по выбранному типу цен". там тупо передаётся ТЧ на сервер в форме, далее в общий модуль и просто "для каждого" переписывается ТЧ... НО!! не работает данный выверт с вызовом неизвестной вн.обработкой! ну не знаю почему - факт! могу скинуть это счастья для проверки (может в 8.2) работает (в тест обработке у меня ВСЕ выше описанные функции и процедуры)
#9
by DirecTwiX
Скорее всего, у тебя у команды стоит галка "Изменяет данные") И форма автоматом перечитывает данные после возвращения на клиент. Если нет, то кидай)
#10
by MrGray
А смысл в галке?? я могу поставить Знач.. только это никак не решает вопроса при возврате на клиент! Сброшу конечно) может есть мысли.. Вопрос чисто, в данном случае, теоритический, поскольку далее всё будет происходить объектами БД. В течении получаса - сброшу, вдорогетелефоном пока -/
#11
by DirecTwiX
У общей команды есть свойство "Изменяет данные" (сам вчера только узнал)). Хотя навряд ли тут шла речь про общую команду. ИзменяетДанные (ModifiesData) Использование: Только чтение. Описание: Тип: Булево. Если выполняется команда, у которой свойство установлено в Истина, то после ее выполнения форма перечитывает данные. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
#12
by MrGray
Тут и оно, что команда на форме вн.обработки. возможно и я не полностью докурил эту тему, но ща сброшу код (в идеале проверить бы на 82 ут, но можно и на др. виде конфы)
#15
by MrGray
Можно!! но вопрос в том, что конфига не меняется. и как любому разрабу - мне не хочется потом маятся с обновлениями! код ниже .. .
#19
by DirecTwiX
Что тут проверять?) Ты же как раз пытаешься изменять поле, содержащее объект данных формы)
#21
by MrGray
Так.. давай мою ошибку ( На 8.2 сейчас проверил - вообще ругань! как вернуть изменение после обработки реквизита обратно в форму выбранного документа?
#28
by H A D G E H O G s
ДокОбъектФормаТовары - мутабельное значение, его нельзя на сервер отправлять.
#30
by MrGray
Да не важно! хоть тонкий, хоть web суть-то в чем? "а суть-то в нашем подъезде!" выбираю документ (ссылка), выбираю форму этого объекта - далее МЕНЯТЬ её хочу... во внешней обработке, я понимаю, что в теле вн.объекта сделать это на "птьфу", а вот при выборе объекта из все - шляпа.. с перьями и, - конечно я меняю объект, но что-то получилось только в первом варианте.
#31
by DirecTwiX
При чём тут форма?) Если у тебя есть форма, то передавай объект. Если у тебя нет формы, то тема ни о чём)
#32
by MrGray
"пришли обработку, не сношай мозг ни себе, не людям." кто снашает-то? вопрос я закрыл. остался вопрос по передачи изменёного объекта на форму. Читай выше - форма и её ДФК я могу передать и получить изменения. - вернуть сервер НЕ может ))
#34
by zladenuw
на какой возвращать объект на клиент. его нужно засунуть в форму и форму перечетать и все!
#36
by MrGray
Именно! в первом варианте копия ДФК копируется на форму) второй вариант - прямая тождесственность ТЧ объекта -- затыкается при выходе из серверной процедуры
#38
by zladenuw
вообще что ты хочешь сделать, у тебя подход не верный. тебе об этом платформа и говорить. что ты делаешь не так
#40
by MrGray
Еще РАЗ ПОДЧЕРКИВАЮ!!! - вызов формы объекта по ссылке ИЗ ВНЕШНЕЙ обработки! вы хоть проверьте, или пишите код. я - проверил за ночь все возможные варианты. и, главное, мой пост выше, про УТ 83 - не надо получать прикладной объект - он на не нужен в 83
#41
by zladenuw
ВыполнитьИзменениеТЧ2(ДокОбъектФорма); не верно в корень. что ты этим хотел сделать ? если тебе нужно получить реквизит свой на сервере то надо просто написать РеквизитФормыВЗначение(Док,Тип("ДокументОбъект.ЗаказКлиента"))
#45
by zladenuw
во первых. ты написал что у тебя реквизит формы это ССЫЛКА. а ты лупишь объект. по этому тебе платформу посылает накуй. а во вторых можно было написать просто вот так &НаКлиенте не вижу смысл получать форму. это вообще ересь.
#46
by MrGray
Мне не нужен объект, если не понятно. Мне - нужна форма, которую юзер потом посмотрит и отредактирует! мне нужен объект ФОРМЫ, которую я/ты/они изменят и увилят результат на форме перед записью объекта БД! на кой куй мне объект БД?? это, есессно можно сделать невзачай.. Кому не интересен сабж - ну не трольте пжлста
#48
by MrGray
Смысл в холиваре "кто круче знает платформу", - пример в "студию" по ИЗМЕНЕНИЮ реквизита формы вызванной из внешней обработки
#49
by zladenuw
ну так изменить можно. без открытие формы. платформа тебе и сообщает. что ты открыл форму объекта для пользователя. а это значит. что блокируется объект
#50
by Новиков
А ничего, что вообще то то что ты написал, это совершенно не тот тип, о котором я упомянул? Пятница, не? или уже читаем а, а видим - б?
#51
by Feunoir
Если по чесноку, то в треде полна каша, да и в голове у тебя тоже, только не обижайся. Мне в своё время очень сильно помог видеокурс по управляемым формам от spec8.ru. Я только не помню есть он в бесплатном доступе или нет. Там за пару часов всё раскладывается по полочкам и больше вопросы такого типа просто не возникают. Правда надо к моменту просмотра иметь представление об идеологии клиент-сервер. Теперь по теме. Объект.Док это ссылка на какой-то документ. Ты хочешь внести какие-то изменения в табличную часть документа, а потом показать форму этого документа пользователю не записывая. Правильно?
#53
by MrGray
Ну, свежая, адекватная, понимающая мысль! Именно в это был затык с ковертацией в объект - от обратно не возвращался. В коде выше я решение нашел, причем, кардинально упращаяющее данное задание. Вопрос только в том, почему ОбъектФорма, который я меняю на сервере не уходит на Клиент! всё.
#55
by MrGray
"Ты хочешь внести какие-то изменения в табличную часть документа, а потом показать форму этого документа пользователю не записывая" именно! Для этого и есть ДФС
#57
by Feunoir
Ок. Тогда, если ты говоришь про код из , получается вот что: после этого в ДокОбъектФорма не ДанныеФормыСтруктура, а Форма или УправляемаяФорма. Ты эту форму открываешь, а потомы передаёшь на сервер. Вот тут-то мне совсем не понятно как платформа тебе это позволяет сделать. По хорошему ты должен был получить ошибку о неправильном параметре 1 - неверный тип ну и дальше подробности. А вот если ты из ДокОбъектФорма заберёшь Объект, вот это уже будет ДФС. Ну а дельше можно попытаться воспользоваться ДанныеФормыВЗначение. Но если у тебя работает, то ладно.
#60
by MrGray
Для всех: постами выше - готовый вариант с двумя решениями, одно работает, второе вы навязываете, но даже не проверили! ЕЩЕ РАЗ: речь о 83
#61
by Feunoir
Если ВыполнитьИзменениеТЧ1(ТоварыКоллекция) передаётся по значению, то скорее всего нигде. Только этот код первый раз в треде фигурирует. Поэтому ничего подробнее сказать не могу.
#63
by Feunoir
Ещё раз. Ты действуешь методом "научного тыка". А можно понимать что делаешь. 8.2 от 8.3 не сильно отличаются. А вот толстый клиент от тонкого и, тем более, обычных форм - сильно. У меня стойкий рефлекс - ни ДФС, ни ДФК напрямую в параметрах процедуры/функции между клиентом и сервером не передавать.
#64
by MrGray
Проверь сам, если передавать коллекцию формы, вызванноый из внеш.обработки, вернуть измененный объект формы не получится. можно вернуть коллекцию, но... она естесствеенно уже не тождественна начальной (проверить можно отладчиком), поэтому, единственный вариант, что я нашел: передача изменений в тот же реквизит формы.
#65
by MrGray
Как так? это единственный вариант передать SRV-CLNT-SRV структуру данных без зависимости к объекту БД
#66
by MrGray
Тыка? это единственный момент, что меня заинтриговал, потому и обратился на мисту.. Данный вопрос, я направлял и в 1с. .. - думают.
#67
by MrGray
И главное - городить огородами, все умеют - туда сюда по клиент-серверу, однако ни кто не предоставил рабочий вариант данной задачи. Хотя казалось - ну ваабще тривиально.. ДанныеФормыВЗначение/РеквизитФормыВЗначение и обратно не работают должно в данном варианте. (точнее, получается сабж)
#72
by Feunoir
Это не важно, что для нового. Получить форму для существующего объекта ничуть не сложнее.
#73
by MrGray
Это к тому, что я должен сразу открыть новую форму с моей ссылкой? В этом вопроса нет)
#74
by MrGray
Feunoir, ты меня услышал и внял вопросу. Спасибо. Я уже не просил решения, но ты показал всем, где можно его взять))
#77
by MrGray
Вопрос в окрытии ссылки на объект, открыть форму объекта, передать на сервер, обработать и "залить" обратно в форму. Реквизит не важен, будь то, ТЧ или поле... Важен (был) вопрос, чтобы это шляпа работала из неизвестной внешней обработки.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Нельзя изменять записанные проводки!
- v7: Нельзя изменять записанные проводки!
- Microsoft Office Excel: Нельзя установить свойство HorizontalAlignment клас
- v7: "Нельзя изменять записанные проводки!"
- Нельзя изменять поле, содержащее объект данных формы
- "Нельзя изменять скрытое поле" в веб-клиенте.
- Нельзя изменять поле, содержащее объект данных формы
- УФ: Нельзя изменять поле, содержащее объект данных формы
- Нельзя изменять поле, содержащее объект данных формы
- Управляемые формы: Нельзя изменять поле, содержащее объект данных формы
- Нельзя изменять поле, содержащее объект данных формы
В этой группе 1С
- Учетная политика в УПП
- Как программно получить имя базы 1С
- v7: windows server 2012 тормозит 1с 7.7 dbf
- Дублирование вытесняющих видов расчета
- Водитель везет директора в аэропорт (в дороге 2 дня) - это командировка?
- Связка УТ 10.3 + Розница 1.0
- Действие документа "Провести вне транзакции", что это?
- БП 3.0 в КУДиР (УСН) не попадают расходы
- Как в веб-клиенте скрыть меню "Файл-открыть" и остальные : "сервис", "вид&q
- Кратность в спецификации где? комплексная
- Вылетает проверка файла бд chdbfl.exe у БП3.0
- Как килограммы перевести в яблоки?
- ЗУП: доплата за работу в праздники и выходные
- Как из типа получить полное имя объекта метаданных?
- Как отловить событие перключения между двумя формами списка документов?
- СКД - переопределение поля для расшифровки
- RLS не могу грамотно настроить права
- Условия вывода данных в отчете на СКД
- Версионность объектов 1с
- РИБ Бухгалтерия 3.0. Проблема с обменом