Ввод на основании 1С 8.2
Показывать по
10
20
40
сообщений
- 1
- 2
25.05.2011
09:11
#11
"Как-то так
&НаКлиенте
Процедура Команда1(Команда)
// Вставить содержимое обработчика.
Форма = ПолучитьФорму("Справочник.Номенклатура.Форма.ФормаЭлемента");
Форма.Открыть();
Форма.Объект.Наименование = "Товар";
КонецПроцедуры"
&НаКлиенте
Процедура Команда1(Команда)
// Вставить содержимое обработчика.
Форма = ПолучитьФорму("Справочник.Номенклатура.Форма.ФормаЭлемента");
Форма.Открыть();
Форма.Объект.Наименование = "Товар";
КонецПроцедуры"
25.05.2011
09:27
#12
Автор создает объект на сервере (не знаю почему), и пытается не записав его открыть форму этого объекта уже на клиенте.
25.05.2011
09:55
#14
Для вызова метода Заполнить(). Можно передать значения реквизитов, полученные после заполнить() в серверной части, в качестве параметра и вставлять их в реквизиты объекта формы в клиентской части. Это избавит нас от написания собстванных алгоритмов заполнения.
25.05.2011
09:59
#15
Может, я не правильно поставил задачу. Я хочу реализовать нестандартный ввод в типовой конфигурации УТ. Там уже существует прописанная процедура ОбработкаЗаполнения(). В эту процедуру я хочу внести небольшое изменение, которое будет срабатывать в зависимости от определенного условия, которое определяет пользователь. Это условие я пытаюсь передать в ДанныхЗаполнения. Поэтому просто открыть форму на клиенте без программного создания документа я не могу, так как в этом случае параметр ДанныеЗаполнения определяется платформой сам.
26.05.2011
10:45
#16
"&НаСервере
Процедура РеализацияНаПродажуСервер(Объект1)
ДанныеЗаполнения=Новый Структура;
ДанныеЗаполнения.Вставить("ДокументОснование",Объект.Ссылка);
ДанныеЗаполнения.Вставить("Партнер",Объект.Партнер);
ДанныеЗаполнения.Вставить("ДатаОтгрузки",Объект.ДатаПервойОтгрузки);
ДанныеЗаполнения.Вставить("Продажа",Истина);
ДокументРеализация = ДанныеФормыВЗначение(Объект1, Тип("ДокументОбъект.РеализацияТоваровУслуг"));
ДокументРеализация.Заполнить(ДанныеЗаполнения);
ЗначениеВДанныеФормы(ДокументРеализация,Объект1);
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
ДанныеЗаполнения=Новый Структура;
ДанныеЗаполнения.Вставить("ДокументОснование",Объект.Ссылка);
ДанныеЗаполнения.Вставить("Партнер",Объект.Партнер);
ДанныеЗаполнения.Вставить("ДатаОтгрузки",Объект.ДатаПервойОтгрузки);
ДанныеЗаполнения.Вставить("Продажа",Истина);
Форма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента");
Объект1=Форма.Объект;
РеализацияНаПродажуСервер(Объект1);
КопироватьДанныеФормы(Объект1,Форма.Объект);
Форма.Открыть();
КонецПроцедуры
Сто рублей с тебя"
Процедура РеализацияНаПродажуСервер(Объект1)
ДанныеЗаполнения=Новый Структура;
ДанныеЗаполнения.Вставить("ДокументОснование",Объект.Ссылка);
ДанныеЗаполнения.Вставить("Партнер",Объект.Партнер);
ДанныеЗаполнения.Вставить("ДатаОтгрузки",Объект.ДатаПервойОтгрузки);
ДанныеЗаполнения.Вставить("Продажа",Истина);
ДокументРеализация = ДанныеФормыВЗначение(Объект1, Тип("ДокументОбъект.РеализацияТоваровУслуг"));
ДокументРеализация.Заполнить(ДанныеЗаполнения);
ЗначениеВДанныеФормы(ДокументРеализация,Объект1);
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
ДанныеЗаполнения=Новый Структура;
ДанныеЗаполнения.Вставить("ДокументОснование",Объект.Ссылка);
ДанныеЗаполнения.Вставить("Партнер",Объект.Партнер);
ДанныеЗаполнения.Вставить("ДатаОтгрузки",Объект.ДатаПервойОтгрузки);
ДанныеЗаполнения.Вставить("Продажа",Истина);
Форма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента");
Объект1=Форма.Объект;
РеализацияНаПродажуСервер(Объект1);
КопироватьДанныеФормы(Объект1,Форма.Объект);
Форма.Открыть();
КонецПроцедуры
Сто рублей с тебя"
31.05.2011
09:48
#17
"Если документ получать не надо, то еще проще
&НаКлиентеПроцедура Команда1(Команда) ДанныеЗаполнения=Новый Структура; ДанныеЗаполнения.Вставить("ДокументОснование",Объект.Ссылка); ДанныеЗаполнения.Вставить("Контрагент",Объект.Контрагент); ДанныеЗаполнения.Вставить("Дата",Объект.Дата); Парам = Новый Структура("ЗначенияЗаполнения",ДанныеЗаполнения); Форма = ОткрытьФорму("Документ.Счет.Форма.ФормаДокумента1",Парам); КонецПроцедуры" 24.06.2012
21:52
#18
"Для тех, кто еще предлагает (использует) какие-то сложные схемы организации программного ввода на основании:
Это всЁ. Больше ничего придумывать не нужно. При таком вызове стандартно отрабатывает ОбработкаЗаполнения в модуле вызываемого документа"
&НаКлиентеПроцедура ВводНаОснованииПоКнопке(Элемент) Параметры=Новый Структура("Основание",СсылкаНаОснованииКоторойВводимДокумент); ОткрытьФорму("Документ.НашВидСоздаваемогоДокумента.Форма.ФормаДокумента",Параметры,,Ложь,);КонецПроцедуры Это всЁ. Больше ничего придумывать не нужно. При таком вызове стандартно отрабатывает ОбработкаЗаполнения в модуле вызываемого документа"
- 1
- 2
Читают тему
(гостей: 1)