массив в ячейку таблицы #683876


#0 by Barmalei
Всем привет вроде бы не сложная задачка, но за полчаса решения не нашел.. имеем список значений на форме, в списке у нас сотрудники (на выбор) имеем таблицу на той же форме, надо сохранить в ячейку таблицы  наш список сотрудников (точнее ссылки на них для последующей работы со ссылками) решение "в лоб"  не прошло МассивСотрудников=ЭтаФорма.СписокСотрудников.ВыгрузитьЗначения; Объект.Таблица[0].Колонка1=МассивСотрудников;      Колонка1 -  тип строка неограниченная и многострочная. Казалось бы все ок, на первом шаге у нас и правда массив ссылок, а на втором строка со словом "массив" и все.  Такое ощущение у Колонки1 не хватает какого то параметра для хранения массивов. Что же ему еще надо. зы ЗначениеИзСтрокиВнутр и ЗначениеВСтрокуВнутр держу на готове, но думаю получится без них. Опять же хранилище в таблицу не вывести.
#1 by Рэйв
Напиши в ячейке "Мой массив сотрудников", а сам массив помести в расшифровку. С ней и работай.
#2 by Славен
СпиокЗначений суй
#3 by БледноЗолотистый
Тип колонки почему не массив?
#4 by БледноЗолотистый
Таблица на сколько я понимаю хранит не сам массив, а ссылку на него, при изменении массива, меняется и содержимое таблицы.
#5 by Barmalei
Ну да.. массив то временный и далее чистится. А хотелось этот набор ссылок хранить в реквизите таблицы навсегда. попробовал совсем в лоб Объект.Таблица[0].Колонка1=ЭтаФорма.СписокСотрудников; выгружает наименования сотрудников через запятую.. то бишь не ссылки. Можно конечно и так оставить, одна проблемка будет с однофамильцами :) когда искать по наименованию
#6 by dsdred
5 а колонку эту списком с типом справочник сотрудников сделать не надо случаем?
#7 by Barmalei
так он же больше 1 ссылки не запомнит тогда ?
#8 by dsdred
Как это? Колонка1 - СписокЗначений с типом Справочник.Сотрудников Объект.Таблица[0].Колонка1.ЗагрузитьЗначения(МассивЗначений) как то так...
#9 by alexmobile
реквизиту объекта нельзя поставить тип СписокЗначений. Можно использовать тип ХранилищеЗначения, но 1с не рекомендует там хранить ссылки - "Важно! В системе не поддерживается ссылочная целостность по объектам, сохраненным в базе данных в полях типа ХранилищеЗначения. Это означает, что при попытке удаления, например, элементов справочников система не контролирует ссылки на эти элементы, сохраненные в ХранилищеЗначения. "
#10 by Barmalei
вот и я удивился как это. у меня 2 варианта пока есть..   1) ЗначениеИзСтрокиВнутр и ЗначениеВСтрокуВнутр  но тут тоже проблемы с поддержкой ссылок.. всякие пометки на удаление не зафиксируются. 2) Табличка на форме с 2 колонками.. в первой будет № строки основной таблицы, а во второй ссылка на сотрудника. Плюс тут есть - ссылка будет прямой и удалить сотрудника на шару не выйдет :)
#11 by БледноЗолотистый
Объект.Таблица[0].Колонка1=ЭтаФорма.СписокСотрудников.ВыгрузитьЗначения; Делай так, тип только у колонки массив установи.
#12 by alexmobile
Или как вариант создай еще одну дополнительную табличную часть у объекта, там храни этот список. С основной табличной частью свяжи ключем. При выводе на форму в нужную ячейку сгружай реквизит дополнительной табличной части.
#13 by Barmalei
это в 8.3 можно задавать реквизиту табличной части тип? У меня дает: строку, ссылку и прочие ненужности. Программно задал ограничение типу, но это не то.. ЭтаФорма.Элементы.ТаблицаСотрудники.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов); угу.. это и был мой план Б ) так я еще в 7.7 выходил из положения, выходит в 8.2 легче не стало.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С