Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Май 2018, 11:19
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Изменения автоматического заполнение элемента формы справочника  (Прочитано 3478 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dima-irk38

  • *
  • Сообщений: 31
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-06
  • Сайт: 
  • Профессия: Программист 1С
Доврого времени суток :)
Вот, проблемка возникла :(
Имеется 1С:Предприятие 7.7 Континет Страхование. Имеется справочник Договора Страхования, где при создании
новой записи, появляется форма Рис. 1. На форме есть элемент ВидСтрахования (справочник ВидыСтрахования), когда возникает событие ПриВыборе
(т.е пользователь выбирает ВидСтрахования) в поле ВидБланка (сверху) автоматически появляется вид бланка (Справочник БланкиСтрогойОтчетности).
Задача такова: Изменить значение в элементе ВидБланка, при выборе определенного Вида Страхования. (т.е было
грузы, изменить в пример на строения).
Элемент ВидБланка имеет 2-ве функции (сыбытия) Рис.2 : 1. Комиссия() 2. ПриИзмВС().
Проанализировав код в процедуре ПриИзмВС(), нашел похожие на мой взгляд строки кода, которые могуг "подставлять"
значения элемента ВидБланка, но к сожалению данного кода я не понял его принцип :( Откуда же выбираются ВидыБланка.
Прошу помощи :)

Процедура ПриИзмВС();
Если ВидСтрахования.Выбран()=0 Тогда
Возврат
КонецЕсли;

СпрПодч=СоздатьОбъект("Справочник.ВС_ВидыБланков");
СпрПодч.ИспользоватьВладельца(ВидСтрахования);
СпВид=СоздатьОбъект("СписокЗначений");

СпрПодч.ВыбратьЭлементы();
Пока СпрПодч.ПолучитьЭлемент()=1 Цикл
Если СпрПодч.ПометкаУдаления()=0 Тогда
СпВид.ДобавитьЗначение(СпрПодч.ВидБланка);
КонецЕсли;
КонецЦикла;

Если СпВид.РазмерСписка()=1 Тогда
ВидБланка=СпВид.ПолучитьЗначение(1);
ИначеЕсли СпВид.РазмерСписка()>0 Тогда
ВБ=0;
Если СпВид.ВыбратьЗначение(ВБ,"Выберите вид бланка",,,0)=1 Тогда
ВидБланка=ВБ;
КонецЕсли;
КонецЕсли;


Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Судя по коду виды бланков хранятся в спр-ке ВС_ВидыБланков, подчиненному справочнику ВидыСтрахования (или еще как-то так. можно увидеть на закладке Тип рис.2). Т.к. у Грузы один подчиненный элемент, то он и подставляется автоматом. Если бы были еще элементы, то появлялось бы окно выбора где можно было бы выбрать Грузы или Здания
Кнопочка Спасибо - слева!

Оффлайн Андрей Федотов

  • ***
  • Сообщений: 231
  • РЕПУТАЦИЯ: 37
  • КПД: 16%
  • Регистрация: 2011-07-07
  • Компания: Future IT Solutions
  • Профессия: Разработчик 1С
Но в Вашем случае Вам нужно смотреть процедуры реквизита "ВидСтрахования", т.к. вы хотите изменить вид бланка именно при изменении вида страхования.
С уважением,
Андрей Федотов
Future IT Solutions

Оффлайн dima-irk38

  • *
  • Сообщений: 31
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-06
  • Сайт: 
  • Профессия: Программист 1С
Появилось свободное время. :) Да, действительно есть справочник ВС_ВидыБланков и он подчинен справочнику ВидыСтрахования. Рис 1. но этот справочник в режиме 1С:Предприятия является пустым :( Рис 2.
Запутался, однако!

Вот, в этой части кода он формирует список видов бланков из справочника ВС_ВидыБланков, но не учитывает элементы с пометкой на удаления.
СпрПодч.ВыбратьЭлементы();
Пока СпрПодч.ПолучитьЭлемент()=1 Цикл
Если СпрПодч.ПометкаУдаления()=0 Тогда
СпВид.ДобавитьЗначение(СпрПодч.ВидБланка);
Тут он добавляет элементы в список
КонецЕсли;
КонецЦикла;


Далее, проверяем есть ли в списке значения и если есть заполняем реквизит каким-то непонятным значением, откуда оно!?
Если СпВид.РазмерСписка()=1 Тогда
ВидБланка=СпВид.ПолучитьЗначение(1);


Это я понимаю в случаи если не нашелся бланк.
ИначеЕсли СпВид.РазмерСписка()>0 Тогда
ВБ=0;
Если СпВид.ВыбратьЗначение(ВБ,"Выберите вид бланка",,,0)=1 Тогда
ВидБланка=ВБ;
КонецЕсли;


Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Обрати внимание на заголовок окна на второй картинке - Не задан элемент - владелец.
Открой справочник Виды страхования (можешь третьей кнопкой справа).
Кнопочка Спасибо - слева!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
162 Сообщений
alex0402
78 Сообщений
oleg-x
69 Сообщений
AIFrame AIFrame
62 Сообщений
buketov.av buketov.av
46 Сообщений
wise wise
39 Сообщений
KOI8-R
35 Сообщений
ilyay ilyay
34 Сообщений
Анюта17
31 Сообщений
Alter
29 Сообщений

* Кто онлайн

  • Точка Гостей: 862
  • Точка Скрытых: 0
  • Точка Пользователей: 15
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal