|   |   | 
| 
 | Чем заменить ЭтаФорма при обращении к форме через Объект? | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Подставила вместо ЭтоФорма ОбщегоНазначенияУТВызовСервера.ПолноеИмяФормыОбъекта(Элемент) (подсмотрела в сандартном коде) и все получилось. Спасибо всем     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |