Как назначить тип спр-ку в 8-ке

Тема в разделе "1C и всё что с ней связано", создана пользователем Дайнеко, 28 сен 2010.

  1. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Объект в конфигурации - справочник типа "СправочникСсылка". Проблемы 2

    * Как назначить определенный вид ("Клиенты")? Просмотрел типовые Торговля, Бухгалтерия, УПП в поисках примера. Ни одного объекта неопределенного вида! Вот умеют люди жизнь упростить!

    * Задача предшествует первой: есть реквизит типа Счет из ПланаСчетов. Как выяснить тип субконто1 у данного счета? Ну а затем буду данный тип назначать своему справочнику.
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    1) Спр = Справочники.Контрагенты.ПустаяССылка()

    2) ВыбСчет.ВидыСубконто[0].ВидСубконто.ТипЗначения

    В типовой БП 1.6 есть процедура "ПриВыбореСчетаВТабличномПоле" в модуле "Работа с диалогами". Можем вам она целиком и подойдет.
     
  3. Гость

    1. Есть куча объектов неопределенного вида. Если у реквизита есть несколько возможных типа (Составной тпи данных), то пустое значение будет Неопределено, а не пустая ссылка, как в случае с заданием единственного возможного типа. В вашем случае не понятно кому именно и для чего присваивается вид

    2. Процедура "ТипЗнч()" скажет что за тип. Описание есть в синтакс-помощнике.
     
  4. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    1) Наверное тогда, в более общем случае ,подойдет функция "ПривестиЗначение".
     
  5. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Спасибо. Насчет "ТипЗначения" сам не дотумкал.

    А вот с первым вопросом чуть не так. Мне нужна не пустая ссылка в переменной, а реквизиту документа типа "СправочникСсылка" присвоить нужной тип в момент его редактирования на форме. Точнее так, указал пользователь "ВыбСчет", а программа присвоит "ВыбКлиент"-у тип равный Субконто1.
    Но благодаря ссылке на БП 1.6 нашел. Наверно, оно:
    Код ( (Unknown Language)):
            ТипСубк = Счет.ВидыСубконто[Сч - 1].ВидСубконто.ТипЗначения;
    ......
    ЭлементыСубконто["Субконто" + Сч] = ТипСубк.ПривестиЗначение(ЭлементыСубконто["Субконто" + Сч]);
    Ну и понял свое заблуждение: в типовой БП полям, используемым для заполнения в проводки, присваивается тип "Характеристика.ВидыСубконтоХозрасчетные". Я же предполагал делать Справочник.

    Спасибо ответившим.
     
  6. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Если присвоить пустую ссылку, то и тип приводится, и пользователю предлагается выбрать из нужного справочника.
     
  7. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
  8. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Спасибо, но что-то не идет. "Значение не является значением объектного типа (Тип)". Когда смотрю отладчиком, у объекта нет свойства "Тип". А тип у объекта = "Неопределено". Значит у него не может быть такого свойства?

    А вот все получилось через "ПривестиЗначение". Нужно было время, чтобы прочувствовать понятия ОписаниеТипов и просто Тип.
     
Загрузка...

Поделиться этой страницей