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

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

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). Т.к. у Грузы один подчиненный элемент, то он и подставляется автоматом. Если бы были еще элементы, то появлялось бы окно выбора где можно было бы выбрать Грузы или Здания
Кнопочка Спасибо - слева!

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

  • ***
  • Сообщений: 212
  • РЕПУТАЦИЯ: 36
  • КПД: 17%
  • Регистрация: 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С
Обрати внимание на заголовок окна на второй картинке - Не задан элемент - владелец.
Открой справочник Виды страхования (можешь третьей кнопкой справа).
Кнопочка Спасибо - слева!


Теги:
 


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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal