Имя: Пароль:
1C
 
Свернуть ТЧ документа во внешней обработке
↓Ø (Волшебник 29.01.2025 12:55)
0 Ant123
 
naïve
28.01.25
13:35
Во внешней обработке мы работаем с ТЧ документа с помощью ВладелецФормы. Каким образом можно свернуть ТЧ. Думал на сервере как нибудь выгружать эту ТЧ, сворачивать и обратно загружать. Но на сервере нельзя обращаться к ТЧ через ВладельцаФормы. Кто-нибудь знает, как можно реализовать?
1 Волшебник
 
28.01.25
13:36
выгрузить в ТЗ, свернуть, загрузить обратно
2 Ant123
 
naïve
28.01.25
13:40
(1) это на сервере?
3 Max57
 
28.01.25
13:43
(2) В модуле формы пишите код? Если да, то у типа ДанныеФормыКоллекция  есть метод Выгрузить(), котрый возвращает ТЗ, доступен на сервере, не на клиенте.
4 Ant123
 
naïve
28.01.25
13:44
(1) у меня проблема именно с тем, как обратиться к документу. То есть на клиенте это ВладелецФормы и я бы выгрузил ТЧ. Но на клиенте Свернуть() не работает, открываю синтакс помощник и точно - доступно на сервере. Иду на сервер и опа, каким образом обратиться к документу
5 Ant123
 
naïve
28.01.25
13:45
(3) да в модуле формы.
6 Ant123
 
naïve
28.01.25
13:46
(3) я не понимаю как именно мне обратиться к ТЧ, чтобы выгрузить. На клиенте этой информацией владеет ВладелецФормы.Объект.МояТЧ, а на сервере как?
7 Max57
 
28.01.25
13:47
(5) Если ТЧ это реквизит объекта, то через
ТЗ = Объект.НаименованиеТЧ.Выгрузить();
ТЗ.Свернуть(<КолонкиГруппировок>, <КолонкиСуммирования>);
Объект.НаименованиеТЧ.Загрузить(ТЗ)
8 Ant123
 
naïve
28.01.25
13:53
(7) т.е. на клиенте это ВладелецФормы.Объект, а на сервере просто Объект?
9 Ant123
 
naïve
28.01.25
14:01
(7) Объект это тип ДанныеФормыСтруктура
10 Бычье сердце
 
28.01.25
14:08
(9)
ДанныеФормыКоллекция (FormDataCollection)
Выгрузить (Unload)
Вариант синтаксиса: Выгрузить колонки
Синтаксис:
Выгрузить(<Строки>, <Колонки>)

ДанныеФормыКоллекция (FormDataCollection)
Загрузить (Load)
Синтаксис:
Загрузить(<Таблица>)
11 Ant123
 
naïve
28.01.25
14:12
(10) я это понимаю, как мне обратиться к Документу в серверном методе, чтобы выгрузить его ТЧ, свернуть и загрузить обратно
12 Ant123
 
naïve
28.01.25
14:15
(10) ведь я не могу использовать Свернуть() на клиенте
13 Ant123
 
naïve
28.01.25
14:18
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт


ВладелецФормы.Объект.Товары = ВернутьСвернутуюТЧДокумента();

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

Функция ВернутьСвернутуюЧастьТЧДокумента()

//Этот объект я получаю через навигационную ссылку, но это не работает
ОбъектДокумента = Объект.СсылкаДляОтладки.ПолучитьОбъект();

Таблица = ОбъектДокумента.Товары.Выгрузить();
Таблица .Свернуть("Номенклатура, Характеристика", "Количество");
ОбъектДокумента.ТоварыЗагрузить(Таблица);
Возврат ОбъектДокумента.Товары;

КонецФункции
14 Волшебник
 
28.01.25
14:30
(13) Генерация программного кода детектед. Тупой бот
15 Ant123
 
naïve
28.01.25
14:32
(14) ???
16 Ant123
 
naïve
28.01.25
14:41
(14) Почему нельзя просто нормально ответить, я только учусь
17 Prog_man
 
28.01.25
14:44
(0) передать ссылку на объект, в открываемую форму, и обработать в серверной процедуре?
внешняя обработка откуда открывается ?
18 Ant123
 
naïve
28.01.25
14:44
(17) типа такого
ОбъектДокумента = Объект.СсылкаДляОтладки.ПолучитьОбъект();

а Объект.СсылкаДляОтладки это навигационная ссылка на док
19 Ant123
 
naïve
28.01.25
14:44
(17) это вопрос был) вы это имели ввиду?)
20 Prog_man
 
28.01.25
14:47
(18) Объект.СсылкаДляОтладки
это реквизит обработки ?
21 Бычье сердце
 
28.01.25
14:57
(12)

Делайте на сервере процедуру свернуть
В качестве параметра передайте ВладелецФормы.Объект.МояТЧ

(13)

Процедура СвернутуюЧастьТЧДокумента(МояТЧ)

Таблица = МояТЧ.Выгрузить();
Таблица .Свернуть("Номенклатура, Характеристика", "Количество");
МояТЧ.Загрузить(Таблица);

КонецПроцедуры
22 Ant123
 
naïve
28.01.25
14:55
да. это для отладки создавалось
23 Ant123
 
naïve
28.01.25
14:55
(21) так, спасибо) сейчас попробую)
24 Gucci76
 
28.01.25
15:17
ТЗ можно разве передавать с клиента на сервер?
25 Ant123
 
naïve
28.01.25
15:17
(21) почему-то ничего не происходит) проверил через отладку, через Объект.СсылкаДляОтладки по идее ТЧ сворачивается, но по факту нет.
26 Волшебник
 
28.01.25
15:24
(16) Потому что Вы врёте
27 takefive
 
28.01.25
15:27
&НаСервере
Процедура СвернутьНаСервере(ДанныеФормы)
    Док = ДанныеФормыВЗначение(ДанныеФормы,ТипДокумента);
    //сворачиваем тч док...
    ЗначениеВДанныеФормы(Док ,ДанныеФормы);
КонецПроцедуры

&НаКлиенте
Процедура Сформировать(Команда)
    ДанныеФормы = ВладелецФормы.Объект;
    СвернутьНаСервере(ДанныеФормы);
    КопироватьДанныеФормы(ДанныеФормы, ВладелецФормы.Объект);
    ВладелецФормы.Модифицированность = Истина;
КонецПроцедуры
28 Prog_man
 
28.01.25
15:58
(25) после свертки нужно записать документ и обновить форму документа
ВладелецФормы.Записать();
29 Ant123
 
naïve
28.01.25
16:14
(26) Это шутка что ли? о чем именно?
30 Ant123
 
naïve
28.01.25
16:21
(26) Да уж, вроде взрослый человек, админ. Вы, главное, не обижайтесь и не блокируйте меня, а то будет слишком смешно.
31 Ant123
 
naïve
28.01.25
16:22
(27) спасибо, сейчас попробую)
32 Ant123
 
naïve
28.01.25
16:22
(28) спасибо)
33 Prog_man
 
28.01.25
16:24
(32) получилось ?
34 Ant123
 
naïve
28.01.25
16:43
(33) так, ну с записать получилось) а как обновить? Видел метод что-то типа ВладецФормы.Прочитать()
35 Ant123
 
naïve
28.01.25
16:44
(33) еще только учусь, так что не все до конца понимаю.
36 Prog_man
 
28.01.25
16:46
(34) ВладелецФормы.Прочитать();
37 Ant123
 
naïve
28.01.25
16:55
(36) Видимо, что-то не так делаю. Сначала записываю, потом обновляю? то что документ записан у меня отображается, при этом ничего не происходит
38 Волшебник
 
28.01.25
17:26
ВладелецФормы.ОбновитьДанныеФормы()
39 Ant123
 
naïve
28.01.25
17:51
(38) сейчас пишет - "данные были изменены или удалены другим пользователем"? что это значит?
40 Волшебник
 
28.01.25
17:52
(39) то и значит
41 Ant123
 
naïve
28.01.25
18:54
(40) ну правда, Вам не лень тратить время на подобные ответы? я только учусь и не претендую на Ваш уровень знаний. Самое удивительное, что стоило мне однажды ответить в тон, так меня заблочили, показали кто тут главный, так держать.
42 Волшебник
 
28.01.25
19:02
(41) Да, всегда имейте в виду, кто тут главный.
43 Волшебник
 
28.01.25
19:34
(41) Я даже немного удивлён Вашему поведению. Как можно было ответить "в тон" владельцу ресурса "Волшебный форум", у которого ник "Волшебник" и id=1 ?! Вам там мораль и этикет вообще не выдают походу, сразу пинают на мисту? Ну а своей нейро-головой подумать никак нельзя? Как можно отвечать "в тон" Господу Богу?!
44 Ant123
 
naïve
28.01.25
20:05
(43) Согласен) простите, пожалуйста) и всё же, надеюсь, мои молитвы будут услышаны и новички, заходя на этот ресурс, будут находить решение, а не частички кода, которые не всегда понятно, как использовать) в любом случае, спасибо, что Вы есть)
45 Волшебник
 
28.01.25
20:06
(44) Ну это другой разговор.
46 Ant123
 
naïve
28.01.25
20:06
Хотя, о последнем всё ещё идут споры
47 Волшебник
 
28.01.25
20:38
(46) Вы это... Не балуйте!
48 Бычье сердце
 
28.01.25
21:31
(44)
Нам было тяжело)))