Всем здравствуйте ребята, вообщем вопрос такого характера: разработал форму и макет документа, теперь пытаюсь программно сделать автозаполнение полей как в табличной части, так и на самой форме (скрин 1 "Форма документа"), итак нужно чтобы при изменении физического лица заполнялись поля на основании справочника ФизическиеЛица, Табличная часть на основании Регистра Сведений "ЦеныНоменклатуры" (как я думаю), а поля Товаровед, на основании пользователя, который сейчас работает в системе, т.е. если зашел Администратор ( то Администратор), Из того, что получилось, это в табличной части заполнить из справочника пробу и шифр:
&НаКлиенте
Процедура ЦенностиНаименованиеИОписаниеЦенностейПриИзменении(Элемент)
СтрокаТЧ = Элементы.Ценности.ТекущиеДанные;
Проба=ПодставитьПробу(СтрокаТЧ.НаименованиеИОписаниеЦенностей);
СтрокаТЧ.ШифрИлиПроба = Проба;
КонецПроцедуры
&НаСервере
Функция ПодставитьПробу(НаименованиеИОписаниеЦенностей)
Спр = Справочники.Номенклатура.НайтиПоНаименованию(НаименованиеИОписаниеЦенностей);
Возврат Спр.ювПроба;
КонецФункции
После того, как получилось заполнить поле из справочника, я начал пробовать заполнить все поля на основании Регистра Сведений в Табличном поле, и для примера пытался заполнить цену номенклатуры из Регистра Сведений:
Функция ПолучитьЦену(НаименованиеИОписаниеЦенностей)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних";
Выборка= Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
НаименованиеИОписаниеЦенностей = Выборка.Цена;
КонецЦикла;
Возврат НаименованиеИОписаниеЦенностей;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецФункции
Поле цена начала заполнятся, но некорректными данными.
А на самом документе формы, пробовал сделать при изменении ФизЛица, заполнить дата рождения из справочника, но что-то тоже не выходит. Понимаю, что многие сейчас могут написать "учи матчасть итд" но я пытаюсь разбираться и не пишу сразу, чтобы вы за меня решили этот вопрос. Но может кто, что дельного подскажет по поводу автоматического заполнения полей.
Поля формы: При изменение ФизЛица
Поля таблицы: При изменении Номенклатуры в таблицы
Поле товаровед: При открытии формы, как то так должно работать, на мой взгляд, всем спасибо за советы!
Настоятельно рекомендую ознакомиться с платформой, до того как начнете писать что-то для работающих предприятий. Вопросы, конечно, останутся, но они будут более осмысленными и будут лежать на стыке возможностей платформы и творческих озарений.
Для бедных или жадных в свободном доступе есть много материалов по платформе. На ИС есть возможность приобрести учебные курсы.
Вам самому не стыдно на форуме задавать вопросы из разряда "как добавить кнопку на форму"?
метод научного тыка тоже иногда выручает, но в данном случае это метод просто тыка, и то с натяжкой. Лучше всё же почитать книги, как посоветовали в (2), так либо быстрее научитесь, либо быстрее поймете что оно Вам не надо.
изменении физического лица заполнялись поля на основании справочника ФизическиеЛица
&Наклиенте
ФизЛицоПриИзменении(..
ЗаполнитьДанныеФлНаСервере();
&НаСервере
Процедура ЗаполнитьДанныеФлНаСервере()
....
"ВЫБРАТЬ Первые 1 ФЛ.ДатаРождения ... бла бла бла
Из Справочник.ФизическиеЛица Как ФЛ
.. где ФЛ.Сылка= &ФизЛицо.. "
Запрос.УстановитьПараметр("ФизЛицо",Объект.ФизЛицо)
Результат=Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка=Результат.Выбрать().Следующий();
ЗаполнитьЗначенияСвойств(Объект,Выборка);