Имя: Пароль:
1C
1С v8
Управляемое приложение. Заполнение объекта
0 Zixxx
 
06.08.12
19:29
Нужно без правки типовой конфигурации УТ11, заполнить особым образом поступление товаров на основании нескольких заказов поставщику.
Создал обработку заполнения объектов, но она записывает документ и не отображает измененные данные. А нужно дать пользователю откорректировать заполнение и только после этого записать или отменить операцию. Посмотрел в БСП тоже самое.
Подскажите какие механизмы использовать для данной задачи?
1 Hostess_
of_Love
 
06.08.12
19:30
то есть открыть документ с измененными данными не записывая его?
2 Zixxx
 
06.08.12
19:32
(1) Нет, чтобы можно было заполнить открытый документ и визуально видеть что он заполняется, права записи оставить за пользователем. Т.е. если он его заполнил и не записать то естественно данных заполнения быть не должно
3 Hostess_
of_Love
 
06.08.12
19:39
программно заполнить и открыть не записывая?
4 Zixxx
 
06.08.12
19:43
(3) Ну как один из вариантов да, но в там случае удобней было бы через обработка выбора но уже нельзя, нужно без правки кода типовой. А как через внешнюю обработку заполнения это сделать хз, не выходит никак
5 Zixxx
 
06.08.12
21:29
Для примера создал команду для Документ1, в который мы Документ1 заполняем данными по Документ2

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
   
   ФормаВыбора    = ПолучитьФорму("Документ.Документ2.ФормаВыбора");
   Источник    = ФормаВыбора.ОткрытьМодально();
   
   Заполнить(ПараметрыВыполненияКоманды.Источник.Объект, Источник);

КонецПроцедуры

&НаСервере
Процедура Заполнить(Приемник, Источник)
   
   Для Каждого СтрокаТовара Из Источник.ТабличнаяЧасть1 Цикл
       
       НоваяСтрока = Приемник.ТабличнаяЧасть1.Добавить();
       ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТовара);
               
   КонецЦикла;
   
КонецПроцедуры

Но получаю ошибку: Нельзя изменять поле, содержащее объект данных формы.
Что неправильно, что нужно поменять?
6 Zixxx
 
06.08.12
21:45
ап
7 Лоботряс
 
06.08.12
22:00
А ты не перепутал приемник и источник часом? Хотя я ХЗ какое извращение ты ваяешь...
8 rs_trade
 
06.08.12
22:21
(0) используй внешнюю обработку, а не заполнение объектов. передавай в эту обработку форму документа и заполняй ее. у самого сейчас стоит подобная задача. завтра буду делать.
9 shpioleg
 
06.08.12
22:26
Источник    = ФормаВыбора.ОткрытьМодально();
Источник точно имеет тип УправляемаяФорма, что работало твое Источник.ТабличнаяЧасть1?
И с клиента на сервер нельзя передать Объект по ссылке
Таким макаром пробуй, Процедура Заполнить(ЗНАЧ Приемник, Источник)
10 rs_trade
 
06.08.12
22:28
хотя ДополнительнаяОбработка является глобальной, а не назначаемой. Что бы обновилась табличная часть надо юзать ОповеститьОбИзменении и обязательно записывать документ.
11 Hostess_
of_Love
 
06.08.12
22:28
не взлетит так, кмк
12 Hostess_
of_Love
 
06.08.12
22:29
(10)не надо. я делала с программным заполнением с последующим открытием без записи.
13 rs_trade
 
06.08.12
22:32
(12) в открытом документе заполни тч и покажи это. как минимум надо передавать в обработку заполнения форму. в стандартных механизмах заполнения передачу формы я не увидел пока. только седня правда начал копать эти механизмы.
14 Hostess_
of_Love
 
06.08.12
22:33
(13)на сервере заполняешь структуру и передаешь ее на клиент
15 rs_trade
 
06.08.12
22:51
(14) покажи пример. как сделать то что надо автору с помощью стандартных механизмов.
16 Hostess_
of_Love
 
06.08.12
22:54
(15) как только до компа с 1с доберусь, на память не помню
17 Zixxx
 
07.08.12
06:45
ап
18 Zixxx
 
07.08.12
06:56
http://files.mail.ru/IT9DML В обработках есть одна обработка с одной командой в которой и пробую произвести данное заполнение.
19 Zixxx
 
07.08.12
07:39
up
20 Zixxx
 
07.08.12
08:15
fg
21 Zixxx
 
07.08.12
09:06
Как заполнить форму документа на основании данных другого документа, при этом не записывая сам объект???
22 Zixxx
 
07.08.12
09:47
ап
23 Zixxx
 
07.08.12
10:12
апппп
24 Zixxx
 
07.08.12
11:23
ап
25 shpioleg
 
07.08.12
11:52
А тебе открытую форму дока обязательно заполнять из обработки или можно и из модуля самой открытой формы?
У тебя в базе вроде оба варианта предусмотрены.
26 Zixxx
 
07.08.12
12:00
(25) Это для теста работает или нет, так оно работает нормально если из доков. Но по условия код формы и модуля документа править нельзя.
27 Zixxx
 
07.08.12
12:03
Еще пробовал воспользоватся методом КопироватьДанныеФормы, данные копируются, если посмотреть на количество товара в документе в отладке, но визуально никак не отображаются. Пробовал и обновить отображение данных и прочитать, один фиг не видно как заполнено.
28 Zixxx
 
07.08.12
13:02
fg
29 pumbaEO
 
07.08.12
13:11
Нарисуй уже свою форму поступления товаров. Добавь там кнопки записать, заполняй форму как душе угодно, и когда пользователь согласится, тогда делай запись физически объекта.
30 Zixxx
 
07.08.12
13:21
(29) слишком чёпопально
31 Zixxx
 
07.08.12
13:44
ап
32 Zixxx
 
08.08.12
05:18
ап
33 Zixxx
 
08.08.12
10:59
fg
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.