8.х Конфликт типов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем OXED, 24 ноя 2014.

  1. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Добрый день.
    Помогите пожалуйста, с переопределением типов.
    Есть дерево значений вот такого вида:
    Capture.JPG
    Изначально в первой колонке были только ссылки на справочник проекты, во второй колонке только на
    этапы, в третьей ссылки на виды работ. Мне необходимо 3 колонки слепить в одну. Я хотел просто перекопировать ссылки из 2 и 3 колонки в первую, и скрыть 2 и 3 колонки.
    :
    Заполняю все вот таким простым способом:
    Capture2.JPG
    А теперь момент истины:
    Этап в проект копируется (2 колонка в 1), а вот работа в проект не хочет.
    В первой колонке задан составной тип данных с указанием всех трех видов ссылок.
    Получается абсолютно одинаковые строчки кода №1 и №2, но первая выполняется как надо, а вторая - нет. В чем может быть проблема? Может кто-то знает?

    P.S. Забыл добавить - пытался принудительно указать пустую ссылку, предопределенное значение - ничего не помогает. На выходе получаю проект = неопределено

    И еще 1 важный момент - интерактивно я без каких либо проблем могу указать то что мне нужно - выбираю справочник "виды работы", затем нужное значение
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Проект - какие там типы указаны?
  3. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    В поле проект 3 типа:
    СправочникСсылка.Проекты,
    СправочникСсылка.ВидыРабот,
    СправочникСсылка.ПроектныеЗадачи

    В поле работа - СправочникСсылка.ВидыРабот
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а что говорит отладчик? и структуру можно увидеть дерева
  5. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Но при этом в поле Проект записывается значение поля Этап, где тип - СправочникСсылка.ПроектныеЗадачи
    --- Объединение сообщений, 24 ноя 2014 ---
    Вот так еще пробовал, эксперимента ради, в лоб присвоить:
    Проект = ПредопределенноеЗначение("Справочник.ВидыРабот.ПустаяСсылка"); - не работает
    Проект = ПредопределенноеЗначение("Справочник.ПроектныеЗадачи.ПустаяСсылка"); - работает
    --- Объединение сообщений, 24 ноя 2014 ---
    Отладчик не ругается, а просто после оператора присваивания выдает что поле проект имеет значение неопределено
    "структуру можно увидеть дерева" - что именно показать? В предприятии изначальный вид? Или результат запроса?
    Последнее редактирование: 24 ноя 2014
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в конфигураторе...
    глупо, но спрошу - может опечатка в названии справочника?
  7. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Само дерево на 3м уровне иерархии: Дерево.JPG

    Тип работы и проекта в момент срабатывания оператора присваивания:
    Проект.JPG
    Работа.JPG
    И само поле с составным типом:
    тип.JPG
    --- Объединение сообщений, 24 ноя 2014 ---
    После отрабатывания строки:
    Работа.Проект = Работа.Работа;

    Получается - "Работа.Проект = неопределено"
  8. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    смотрите, что на мой взгляд у вас происходит... Работ.Проект с типом СправочникСсылка. Проекты, а вы на том этапе пытаетесь присвоить значение с типом СправочникСсылка.ВидыРабот - может в этом конфликт?
  9. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    Я первым делом так же подумал, но ведь если я присваиваю значение с типом СправочникСсылка.ПроектыеЗадачи, то все отлично получается

    Можно ли как-то сначала поменять тип, без значения, а потом передать значение?
  10. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а сами справочники меж собой никак не связаны?

    ну можно перед присвоением попробвать присвоить Неопределено
  11. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    1. Проекты являются владельцем проектных задач. Установил владельца у видов работ и попробовал - не помогло
    2. Пробовал. Так же пробовал сначала пустую ссылку присвоить другого справочника. результата ноль.
  12. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну в принципе странно, попробовать не начем (под рукой ничего с деревьями нет)... как вариант, развернуть копию базы и попробовать - может глючит банально... вроде как должно работать
  13. TopicStarter Overlay
    OXED
    Offline

    OXED Опытный в 1С

    Регистрация:
    10 апр 2012
    Сообщения:
    256
    Симпатии:
    0
    Баллы:
    26
    ДА! Решил проблему, правда самым деревянным способом
    Результат запроса выгружаю в дерево и меняю этапы. Сами работы не работают в этот момент.
    Потом переношу дерево в реквизит формы и обратно и циклом 2й раз прохожу и меняю 3й уровень иерархии

    После этого: все заработало:
    ЗначениеВРеквизитФормы(Дерево,"ДеревоПроектов");
    Дерево = РеквизитФормыВЗначение("ДеревоПроектов",тип("ДеревоЗначений"));

    Правда для меня все равно остается загадкой почему сразу с 2 и 3 уровнем 1С не хочет работать. Либо я что-то принципиально не правильно делаю

    Tiger86, спасибо огромное за помощь и потраченное время
  14. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну время потрачено было не зря... мне тоже стало интересно, я раньше работала с деревом, но у меня не было 3 уровня иерархии, потому видимо не столкнулась с таким казусом. Рада что у вас все получилось

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