Здравствуйте дорогие коллеги:) БП, уф, 8.3, НЕ типовой документ"перемещение спецодежды", НЕ типовая обработка "подбор номенклатуры" (стандартный нам не подходит), хочется при открытии этого подбора чтобы из формы документа передавались параметры в форму обработки, если например выбираем подбор из тч спецодежда заполнялось номенклатура "Спецодежда", счет "МЦ.02",физ.лицо "Иванов Иван Иванович"
Прикрепленные файлы:
По теме из базы знаний
- Подбор номенклатуры (8.1, УТ 10.3, ДОРАБОТАН, ОБНОВЛЕН 09.11.09)
- Подбор номенклатуры (Бухгалтерия 3.0;3.х; Управляемое приложение) Перехватчик клавиатуры. Без внешних компонент.
- Загрузка из внешнего файла в подборе номенклатуры для БП 3.0
- Подбор номенклатуры с остатками по выбранному счету учета (Бухгалтерия 3.0)
- Исправление обработки Подбор номенклатуры в Бухгалтерии для Беларуси, редакция 2.1.42.8
Найденные решения
(16)
Видимо у Вас на форме уже есть некие Параметры
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
Параметры2 = Новый Структура;
Параметры.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры2,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
ПоказатьВидимо у Вас на форме уже есть некие Параметры
(21)Нельзя искать на клиенте
Можно так
Можно так
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
Параметры2= Новый Структура;
Параметры2.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
Параметры2.Вставить("Счет", ВернутьПланСчетов());
//ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры2,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаСервере
Функция ВернутьПланСчетов()
Возврат ПланыСчетов.Хозрасчетный.НайтиПоКоду("00000000011");
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Далее ловите эти параметры в событии ПрисозданииНаСервере через Параметры.*
Параметры = Новый Структура;
Параметры.Вставить("Номенклатура",Объект.Номенклатура);
Параметры.Вставить("Счет",Объект.Счет);
Параметры.Вставить("ФизЛицо",Объект.ФизЛицо);
ОткрытьФорму("Документ.ВашДокумент.Форма.ВашаФорма",Параметры,ЭтотОбъект,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Далее ловите эти параметры в событии ПрисозданииНаСервере через Параметры.*
(4)У меня есть уже вот такие процедуры в модуле формы документа
а в обработке вот такая процедура:
я получается из обработки передаю данные в документ , а теперь мне получается нужно из документа передать данные в обработку...
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ПодборСпецоснастка(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ПодборИнвентаря(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
Показатьа в обработке вот такая процедура:
&НаКлиенте
Процедура НоменклатураДляПодбораВыбор(Элемент, ВыбраннаяСтрока, Поле,СтандартнаяОбработка)
//ЭтаФорма.Закрыть(Элементы.НоменклатураДляПодбора.ТекущиеДанные.ПолучитьЭлементы());
//ЭтаФорма.Закрыть(Элементы.НоменклатураДляПодбора.ТекущиеДанные.ПартияМатериаловВЭксплуатации);
СтруктураВозврата = Новый Структура("Номенклатура,ПартияМатериаловВЭксплуатации,ФизЛицо");
СтруктураВозврата.Номенклатура = Элементы.НоменклатураДляПодбора.ТекущиеДанные.Номенклатура;
СтруктураВозврата.ПартияМатериаловВЭксплуатации = Элементы.НоменклатураДляПодбора.ТекущиеДанные.ПартияМатериаловВЭксплуатации;
СтруктураВозврата.ФизЛицо = Элементы.НоменклатураДляПодбора.ТекущиеДанные.ФизЛицо;
НаименованиеНоменклатуры = ПолучитьНаименование(Объект.Номенклатура);
Если НаименованиеНоменклатуры = "Спецодежда" тогда
НоваяСтрока = ЭтаФорма.ВладелецФормы.объект.Спецодежда.Добавить();
НоваяСтрока.Номенклатура =Элементы.НоменклатураДляПодбора.ТекущиеДанные.Номенклатура;
НоваяСтрока.ПартияМатериаловВЭксплуатации = Элементы.НоменклатураДляПодбора.ТекущиеДанные.ПартияМатериаловВЭксплуатации;
ИначеЕсли НаименованиеНоменклатуры = "Спецоснастка" тогда
НоваяСтрока = ЭтаФорма.ВладелецФормы.объект.Спецоснастка.Добавить();
НоваяСтрока.Номенклатура = Элементы.НоменклатураДляПодбора.ТекущиеДанные.Номенклатура;
НоваяСтрока.ПартияМатериаловВЭксплуатации = Элементы.НоменклатураДляПодбора.ТекущиеДанные.ПартияМатериаловВЭксплуатации;
ИначеЕсли НаименованиеНоменклатуры = "Хозинвентарь" тогда
НоваяСтрока = ЭтаФорма.ВладелецФормы.объект.ИнвентарьИХозяйственныеПринадлежности.Добавить();
НоваяСтрока.Номенклатура =Элементы.НоменклатураДляПодбора.ТекущиеДанные.Номенклатура;
НоваяСтрока.ПартияМатериаловВЭксплуатации = Элементы.НоменклатураДляПодбора.ТекущиеДанные.ПартияМатериаловВЭксплуатации;
НоваяСтрока.ФизЛицо = Элементы.НоменклатураДляПодбора.ТекущиеДанные.ФизЛицо;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьНаименование(ВыбНом)
Возврат СокрЛП(ВыбНом.Наименование);
КонецФункции
Показатья получается из обработки передаю данные в документ , а теперь мне получается нужно из документа передать данные в обработку...
(7) Выше написали, Вам надо передать параметры
Параметры.Вставить("Номенклатура",Объект.Номенклатура);
Параметры.Вставить("Счет",Объект.Счет);
Параметры.Вставить("ФизЛицо",Объект.ФизЛицо);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
(12)
Вот я прописала в документе :
А в обработке прописала:
А он ругает меня , говорит:
Вот я прописала в документе :
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
Параметры.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
А в обработке прописала:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЗаполнитьЗначенияСвойств(Объект.параметры);
КонецПроцедуры
А он ругает меня , говорит:
{Обработка.ПодборНоменклатуры1.Форма.Форма.Форма(253,2)}: Недостаточно фактических параметров (ЗаполнитьЗначенияСвойств)
<<?>>ЗаполнитьЗначенияСвойств(Объект.параметры); (Проверка: Толстый клиент (обычное приложение))
(13)ЗаполнитьЗначенияСвойств(Объект.параметры); Не точка а запятая!!!!!!!!!ЗаполнитьЗначенияСвойств(Объект,параметры); и тут ошибка
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Должно быть
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Глобальный контекст (Global context)
ОткрытьФорму (OpenForm)
Вариант синтаксиса: По имени
Синтаксис:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Должно быть
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Глобальный контекст (Global context)
ОткрытьФорму (OpenForm)
Вариант синтаксиса: По имени
Синтаксис:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
(13)Вообщем так лучше сделать
Параметры.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЗаполнитьЗначенияСвойств(Объект,Параметры);
КонецПроцедуры
Показать
(15) ошибка:( я может быть не там прописываю?
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
Параметры.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
{Документ.ФурзПеремещениеСпецодеждыСпецоснасткиХозинвентаря.Форма.ФормаДокумента.Форма(1168)}: Метод объекта не обнаружен (Вставить)
Параметры.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
Показать
(16)
Видимо у Вас на форме уже есть некие Параметры
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
Параметры2 = Новый Структура;
Параметры.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры2,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
ПоказатьВидимо у Вас на форме уже есть некие Параметры
(20) да, я так и сделала, но у меня вылезла ошибка:(
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
Параметры2= Новый Структура;
Параметры2.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
Параметры2.Вставить("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду("00000000011"));
//ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры2,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
Выдает ошибку:
{Документ.ФурзПеремещениеСпецодеждыСпецоснасткиХозинвентаря.Форма.ФормаДокумента.Форма(1176,33)}: Переменная не определена (ПланыСчетов)
Параметры2.Вставить("Счет", <<?>>ПланыСчетов.Хозрасчетный.НайтиПоКоду("00000000011")); (Проверка: Тонкий клиент)
Показать
(21)Нельзя искать на клиенте
Можно так
Можно так
&НаКлиенте
Процедура ПодборСпецодежда(Команда)
ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеЗакрытияФормыПодбора", ЭтаФорма,Параметры);
Параметры2= Новый Структура;
Параметры2.Вставить("ФизЛицо", Объект.ФизЛицоОтправитель);
Параметры2.Вставить("Счет", ВернутьПланСчетов());
//ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",,ЭтаФорма,Параметры,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ОткрытьФорму("Обработка.ПодборНоменклатуры1.Форма",Параметры2,ЭтаФорма,,,,ОповещениеОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
&НаСервере
Функция ВернутьПланСчетов()
Возврат ПланыСчетов.Хозрасчетный.НайтиПоКоду("00000000011");
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот