1с 8.0 - Программное заполнение карточки нового товара. #8513


#0 by Jaws
По ходу обработки возникает необходимость создать новый товар в справочнике номенклатуры. Хорошо - вызываем "форму нового элемента". Но, дело в том что реквизиты нового товара на момент вызова "формы нового элемента" уже известны, например наименование, единица измерения (которую небходимо бдет создать в справочнике единиц измерения), количество в упаковке, ндс и тд (это экспорт из эксеса). Не хотелось бы заставлять юзера заполнять эти поля вручную, но в то же время оставить ему возможность для маневра. То есть идеально - "форма нового элемента" возникает перед юзером заполненной по максимуму, а он уж решает записать ли это все, и сначала чуть подправить. Попробовал - запись в поля формы не связанных с её реквизитами недопустима (а это был бы самый простой вариант). Так как это лучше осуществить? Может быть создать товар заранее, тогда как вызвать форму для его редактирования? Или как иначе? Спасибо.
#1 by Pilcrow
Совершенно верно, именно так. Кстати, через ФормаТовара имеем доступ к экспортным переменным, реквизитам и методам нужного экземпляра формы (твоя предыдущая ветка).
#2 by Jaws
Спасибо!
#3 by Jaws
Логичное продолжении темы. :) В силу объективных причин, для заполнения максимального количества реквизитов формы необходимо выполнить запись в базу (ну по крайней мере иначе мне не удалось). А именно - создание и ЗАПИСЬ товара, создание и ЗАПИСЬ подчиненной единицы измерения. Это все происходит "в тени", до показа формы пользователю. Вся прелесть в том, что хотелось бы оставить пользователю возможность отказа от создания товара. А для этого необходимо понять как была закрыта форма товара и в случае если пользователь просто нажал кнопку "закрыть" удалить все следы подготовительных действий (единицу измерения,товар). Первым делом обратился (с минимальной надеждой) к возвращаемому значению метода DoModal. Как и ожидалось, хотя оное и присутствует как область памяти :), но независимо от нажатой кнопки содержит значение "неопределено". Далее пошли методы и события такие как ОповеститьОЗаписиНовогоОбъекта и ОбработкаЗаписиНовогоОбъекта. Тщетно я ждал события от формы элемента. Тут непонятно, то ли форма элемента не подчинена моей форме, то ли что-то еще. Намекните в какой стороне искать решение. Спасибо.
#4 by Rovan
#5 by igork1966
Ага, а если за время пока юзер томозит кто-то выбрал эту запись справочника, то чисто удалить не удастся :-)
#6 by Rovan
Для этого вот такой ситуации надо избегать - "заполнения максимального количества реквизитов формы необходимо выполнить запись базу (ну по крайней мере иначе мне не удалось).". Почему не удалось ?
#7 by igork1966
Я только-только начал 8-ку изучать. А что, нет разве аналога "Параметр" (в формах 7.7) и соответственно возможности открыть форму нового элемента с заполнением реквизитов из "Параметра"?
#8 by igork1966
Уточнение: ...с заполнением реквизитов предопределенной процедурой из "Параметра"?
#9 by Rovan
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям