|
Чем заменить ЭтаФорма при обращении к форме через Объект? | ☑ | ||
---|---|---|---|---|
0
Надежда_Ник
11.08.21
✎
15:18
|
Добрый день! Есть код, например, УчетНДСУПКлиент.ОбработкаНавигационнойСсылкиСчетаФактурыВыданные(ЭтаФорма, НавигационнаяСсылка, СтандартнаяОбработка, ПараметрыРегистрации), мне надо обратиться к форме через Объект, подскажите, пожалуйста, чем в этом случае заменить ЭтаФорма?
|
|||
1
mikecool
11.08.21
✎
15:19
|
т.е. формы нет, но есть объект?
|
|||
2
vde69
11.08.21
✎
15:21
|
на клиенте объект не доступен в принцепе, там или ссылка или что-то другое.
автор - покажи код |
|||
3
ildary
11.08.21
✎
15:28
|
(0) Если я правильно понял, то можно попробовать взять форму для ссылки через Получить форму() (знаю, что в УФ это не рекомендуется, но ведь работает и по другому никак), после чего эту форму и передать в параметры.
|
|||
4
АнализДанных
11.08.21
✎
15:39
|
(0) Вопрос непонятный, возможно тебе поможет передать в процедуру тип "Структура" вместо формы. Добавь в нее ключ "Объект" со значением типа структура.
ДанныеФормы = Новый структура; ДанныеФормы.Вставить("Объект", Новый Структура("Номенклатура, Контрагент", ЭтаФорма.Номенклатура, ЭтаФорма.Контрагент)); УчетНДСУПКлиент.ОбработкаНавигационнойСсылкиСчетаФактурыВыданные(ДанныеФормы, НавигационнаяСсылка, СтандартнаяОбработка, ПараметрыРегистрации) |
|||
5
Надежда_Ник
11.08.21
✎
15:43
|
ЭтаФорма - если обращение непосредственно в коде формы. А у меня обращение из кода формы списка к элементу списка, там нужно что-то другое. Попробую через ПолучитьФорму()
|
|||
6
Жан Пердежон
11.08.21
✎
15:46
|
(0)
> мне надо обратиться к форме через Объект тебе это не надо |
|||
7
АнализДанных
11.08.21
✎
15:49
|
(5)
ТекущиеДанные = Элементы.Список.ТекущиеДанные; Номенклатура = ТекущиеДанные.Номенклатура; Ссылка = ТекущиеДанные.Ссылка |
|||
8
Надежда_Ник
11.08.21
✎
15:55
|
Мне поставлена задача: вносить счета-фактуры к реализации без открытия формы реализации, через форму списка. В 1с в коде создания счета-фактуры из формы документа фигурирует ЭтаФорма. Ссылка.ПолучитьФорму()? Объект.ПолучитьФорму() выдает ошибку "Интерактивные операции недоступны"
|
|||
9
Жан Пердежон
11.08.21
✎
16:01
|
(8) не нужна тебе форма
|
|||
10
Надежда_Ник
11.08.21
✎
16:04
|
А что нужно?
|
|||
11
Надежда_Ник
11.08.21
✎
16:05
|
Через ссылку тоже "Интерактивные операции недоступны"
|
|||
12
Dmitrii
гуру
11.08.21
✎
16:08
|
(8) >> вносить счета-фактуры к реализации без открытия формы реализации.
И чем это действо отличается от "Создать на основании - Счет-фактура выданный"? Форма реализации при этом не открывается. |
|||
13
Dmitrii
гуру
11.08.21
✎
16:15
|
О какой конфе вообще идёт речь?
В современных типовых конфигурациях есть БСП с подсистемой подкючаемых обработок. Рисуй свою обработку и подключай её к объекту - документ Реализация. Встраивай через БСП к командам объекта и будет тебе хоть групповое формирование счетов-фактур на основании реализаций, хоть поштучное, хоть с открытием форм, хоть без открытия. |
|||
14
Надежда_Ник
11.08.21
✎
20:19
|
Конфигурация Комплексная автоматизация 2.0. Нет у нас ввести на основании - счет-фактура выданный в меню
|
|||
15
Надежда_Ник
11.08.21
✎
20:22
|
И в конфигурации не является реализация основанием для счета-фактуры выданной
|
|||
16
Надежда_Ник
11.08.21
✎
20:22
|
БСП надо изучать мне еще, хотела попроще
|
|||
17
Надежда_Ник
11.08.21
✎
20:28
|
В расширении в меню еще добавляю пункт "создать счет-фактуру"
|
|||
18
Мультук
гуру
12.08.21
✎
08:04
|
(0)
Вполне возможно, в процедуре УчетНДСУПКлиент.ОбработкаНавигационнойСсылкиСчетаФактурыВыданные(..) происходит неведомое волшебство. Но скорее всего там куча текста, который можно проанализировать. КА 2.0 у меня нет, есть Бухгалтерия 3.0 -- там из кучи букв можно выдернуть нужные структуры и вызовы для создания сч/ф программно. |
|||
19
ildary
12.08.21
✎
08:19
|
(0) если Вам надо добавить новый ввод на основании, то вот пример Ввод на основании на примере Реализация -> ЗаказПоставщику (должен сработать и в расширении):
1. Ввод на основании у документа - применять не надо (применяем БСП) 2. В модуль менеджера ЗаказПоставщику добавляем процедуру ДобавитьКомандуСоздатьНаОснованииРтиУ() Экспорт 3. В модуль менеджера Реализация в ДобавитьКомандыСозданияНаОсновании() добавляем вызов ДобавитьКомандуСоздатьНаОснованииРтиУ() |
|||
20
ДенисЧ
12.08.21
✎
08:20
|
(19) А общий модуль кто править будет? ))
|
|||
21
ДенисЧ
12.08.21
✎
08:20
|
(16) БСП изучать надо. Без неё в типовых никуда
|
|||
22
ildary
12.08.21
✎
08:24
|
(20) Прошу прощения, о каком общем модуле речь?
|
|||
23
ДенисЧ
12.08.21
✎
08:26
|
(22) ВводНаОснованииПереопределяемый или как-то так.
|
|||
24
ДенисЧ
12.08.21
✎
08:28
|
Порядок подключения:
1. Определить состав объектов, у которых есть команды создания на основании, а также объекты, которые могут являться основанием для создания других объектов. Перечислить все эти объекты в процедуре ПриОпределенииОбъектовСКомандамиСозданияНаОсновании общего модуля СозданиеНаОснованииПереопределяемый, пример: Процедура ПриОпределенииОбъектовСКомандамиСозданияНаОсновании(Объекты) Экспорт Объекты.Добавить(Метаданные.Документы._ДемоСчетНаОплатуПокупателю); Объекты.Добавить(Метаданные.Документы._ ДемоРеализацияТоваров); Объекты.Добавить(Метаданные.Документы._ ДемоПеремещениеТоваров); КонецПроцедуры https://its.1c.ru/db/bsp313doc#content:54:1:issogl2_разработка_и_подключение_команд_создания_на_основании |
|||
25
ildary
12.08.21
✎
08:30
|
(23) Это если документ совсем новый и в этом модуле не встречавшийся. Мой пример - для документов, которые в этой процедуре уже есть.
|
|||
26
Chai Nic
12.08.21
✎
08:31
|
Иногда при заполнении очень хочется использовать модуль формы, например потому что какие-то функции пересчета находятся именно там и повторять их в своём модуле как-то не очень..
|
|||
27
ДенисЧ
12.08.21
✎
08:32
|
(25) Ага. "У меня такая же нога, и она не болит".
Раз уж подсказывать - то полностью, видно же, что дама в БСП разбирается, как я в творчестве Кандинского... |
|||
28
ildary
12.08.21
✎
08:33
|
(26) А другого способа (кроме как повторять их в своём модуле) и нет. Обычно приходится, когда создаешь документ программно и хочешь заполнение полей как на форме - приходится включать копипаст на полную и молиться, чтобы рекурсивно не затащить половину конфигурации.
|
|||
29
ildary
12.08.21
✎
08:34
|
(27) сдаюсь, был неправ
|
|||
30
mszsuz
12.08.21
✎
08:51
|
(28) Другой способ есть. Нужно сделать в расширении этой формы экспортную процедуру/функцию и дергать через неё.
|
|||
31
ildary
12.08.21
✎
08:58
|
(30) спасибо за идею, интересная, но под каждую мелочь тянуть формы в расширение - не очень удобно.
|
|||
32
mszsuz
12.08.21
✎
09:03
|
(31) У меня для этого есть "Фреймворк для Расширений" ) Там это всё автоматически делается и ничего тянуть не надо.
|
|||
33
ildary
12.08.21
✎
09:11
|
(32) скажите пожалуйста, где можно посмотреть / почитать про этот фреймворк?
|
|||
34
mszsuz
12.08.21
✎
09:25
|
(33) в поисковиках есть немного. А нормальная документация всё никак не пишется.
|
|||
35
Надежда_Ник
12.08.21
✎
10:22
|
Подставила вместо ЭтоФорма ОбщегоНазначенияУТВызовСервера.ПолноеИмяФормыОбъекта(Элемент) (подсмотрела в сандартном коде) и все получилось. Спасибо всем
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |