|   |   | 
| 
 | заполнение формы новой группы справочника | ☑ | ||
|---|---|---|---|---|
| 0
    
        Alt321 15.12.21✎ 13:34 | 
        У меня есть такой код
 &НаКлиенте Процедура СоздатьГруппу(Команда) СозданиеГруппы = Новый Структура("Наименование"); СозданиеГруппы.Наименование = Наименование; Если СоздатьГруппуНаСервере(СозданиеГруппы) = 0 Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Наименование не введено"; Сообщение.Сообщить(); Иначе ОткрытьФорму("Справочник.Контрагенты.ФормаГруппы",,ЭтаФорма) КонецЕсли КонецПроцедуры &НаСервере Функция СоздатьГруппуНаСервере(СтруктураСправочника) СправочникКонтрагенты = Справочники.Контрагенты; НоваяГруппа = СправочникКонтрагенты.СоздатьГруппу(); НоваяГруппа.Наименование = СтруктураСправочника.Наименование; Если ЗначениеЗаполнено(НоваяГруппа.Наименование) Тогда НоваяГруппа.Записать(); Возврат 1; Иначе Возврат 0; КонецЕсли; КонецФункции Он программно создаёт группу. Его нужно доработать,то есть нужно открывать форму группы справочника и программно заполнять соответствующие реквизиты. А записывать эту информацию или нет, решит пользователь. Попробовал всё что знаю и у меня не получилось . | |||
| 1
    
        Kassern 15.12.21✎ 13:37 | 
        (0) вы гуглили дальше по списку, который я вам отправлял?     | |||
| 2
    
        Alt321 15.12.21✎ 13:43 | 
        (1) да, сейчас у меня всё создаётся и записывается
 Но сейчас задача заключается в том , что у меня 2 формы Одна 1(Моя) в которую записываются значения затем по кнопке создать группу открывается 2 форма(стандартная) и в неё должны переносится значения если это нужно | |||
| 3
    
        Kassern 15.12.21✎ 13:47 | 
        (0) Как вариант.
 &НаКлиенте Процедура СоздатьОтчетКомиссионера(Команда) Форма = ПолучитьФорму("Документ.ОтчетКомиссионера.ФормаОбъекта"); ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее Форма.Открыть(); КонецПроцедуры &НаСервере Функция ЗаполнитьДокументНаСервере(ДанныеФормы); Док = Документы.ОтчетКомиссионера.СоздатьДокумент(); Док.Дата=ТекущаяДата(); //Заполняем остальные поля ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ КонецФункции | |||
| 4
    
        Alt321 15.12.21✎ 13:48 | 
        (3) Спасибо , сейчас буду пробовать     | |||
| 5
    
        Alt321 15.12.21✎ 14:29 | 
        (3) &НаКлиенте
 Процедура СоздатьГруппу(Команда) Форма = ПолучитьФорму("Обработка.ВводКонтрагентов.Форма.Форма"); //<-------- ДанныеФормы = Форма.Объект; СоздатьГруппуНаСервере(ДанныеФормы); КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); Форма.Открыть(); КонецПроцедуры &НаСервере Функция СоздатьГруппуНаСервере(ДанныеФормы) СправочникКонтр = Справочники.Контрагенты; НоваяГруппа = СправочникКонтр.СоздатьГруппу(); НоваяГруппа.Наименование = ДанныеФормы.Наименование; ЗначениеВДанныеФормы(НоваяГруппа, ДанныеФормы); //ЗначениеВДанныеФормы(ДанныеФормы, НоваяГруппа); КонецФункции Подскажи по коду: В переменную Форма , я должен класть форму стандартную или свою ? Потому что когда я передаю данные на сервер у меня почему-то не отображается что там что-то есть, только пустая строка | |||
| 6
    
        Kassern 15.12.21✎ 14:31 | 
        (5) "ПолучитьФорму("Обработка.ВводКонтрагентов.Форма.Форма")" - тут нужна форма нового объекта. В Вашем случае контрагента     | |||
| 7
    
        Alt321 15.12.21✎ 15:33 | 
        (6) 
 Похоже я до конца не понял Получить значения на клиенте всё ещё не могу у меня 2 формы: 1(моя) - Обработка.ВводКонтрагентов.Форма.Форма, 2(стандартная) - Справочник.Контрагенты.ФормаГруппы; Мне нужно из моей формы(Там 1 поле Наименование) при нажатии на кнопку открыть форму и перенести наименование во 2 форму. Но в данный момент когда я через дебаггер смотрю, то значения пустые "ДанныеФормы = Форма.Объект;" Код целиком &НаКлиенте Процедура СоздатьГруппу(Команда) Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаГруппы"); ДанныеФормы = Форма.Объект; СоздатьГруппуНаСервере(ДанныеФормы); КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); Форма.Открыть(); КонецПроцедуры &НаСервере Функция СоздатьГруппуНаСервере(ДанныеФормы) НоваяГруппа = Справочники.Контрагенты.СоздатьГруппу(); НоваяГруппа.Наименование = ДанныеФормы.Наименование; //<---------- Если я поменяю "ДанныеФормы" на произвольную строку , то всё работает, а если хочу получить наименование с данных формы то там пустые строки ЗначениеВДанныеФормы(НоваяГруппа, ДанныеФормы); КонецФункции | |||
| 8
    
        Kassern 15.12.21✎ 15:36 | 
        (7) Структуру заполняемых полей передайте доп реквезитом:
 СоздатьГруппуНаСервере(ДанныеФормы,СтруктураЗаполнения); А для новой группы: ЗаполнитьЗначенияСвойств(НоваяГруппа,СтруктураЗаполнения) | |||
| 9
    
        Alt321 15.12.21✎ 15:38 | 
        (8) 
 Ок, спасибо | |||
| 10
    
        Alt321 15.12.21✎ 16:27 | 
        &НаКлиенте
 Процедура СоздатьГруппу(Команда) СозданиеГруппы = Новый Структура("Наименование"); СозданиеГруппы.Наименование = Наименование; Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаГруппы"); ДанныеФормы = Форма.Объект; СоздатьГруппуНаСервере(ДанныеФормы, СозданиеГруппы); КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); Форма.Открыть(); КонецПроцедуры &НаСервере Функция СоздатьГруппуНаСервере(ДанныеФормы, СозданиеГруппы) НоваяГруппа = Справочники.Контрагенты.СоздатьГруппу(); НоваяГруппа.Наименование = СозданиеГруппы.Наименование; ЗаполнитьЗначенияСвойств(НоваяГруппа, СозданиеГруппы); КонецФункции (9) ок функция теперь получает реквизит , но в конечном итоге почему-то не отображается во 2 форме заполнение | |||
| 11
    
        Kassern 15.12.21✎ 16:35 | 
        (10) Вы строчку одну забыли...
 ЗначениеВДанныеФормы(НоваяГруппа,ДанныеФормы); | |||
| 12
    
        Alt321 15.12.21✎ 16:37 | 
        (11) 
 Я понял, Спасибо что помог | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |