УТ 10.3.80.1 Можно ли в качестве ресурса или реквизита регистра сведений использовать Таблицу значений?
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
ЗначениеВСтрокуВнутр(ваша_тз)
И
симметричный метод:
тз = ЗначениеИзСтрокиВнутр;
Пример:
P.S.
Это работает, но не делайте так, просто потому, что это из категории "так надо делать оооочень хорошо понимая, зачем и почему", например, если вы пишете обмены.
В частности ваша задача про "каждая запись этого регистра должна содержать некую таблицу" в намекает на то, что у вас уже на этом этапе серьезные проблемы с архитектурой и вы решили их обойти методом отрубания головы.
И
симметричный метод:
тз = ЗначениеИзСтрокиВнутр;
Пример:
&НаКлиенте
Процедура Команда1(Команда)
поместитьТЗ();
КонецПроцедуры
&НаСервере
Процедура поместитьТЗ()
тз = Новый ТаблицаЗначений();
тз.Колонки.Добавить("Кол1", Новый ОписаниеТипов("Строка", ,
Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная)));
тз.Колонки.Добавить("Кол2", Новый ОписаниеТипов("СправочникСсылка.Этапы"));
новСтр = тз.Добавить();
новСтр.Кол1 = "Что-то там текстовое";
новСтр.Кол2 = Справочники.Этапы.НайтиПоКоду("000000001");
Объект.РеквизитТЗ = ЗначениеВСтрокуВнутр(тз); //РеквизитТЗ - Строка(0)
КонецПроцедуры
&НаСервере
Процедура Команда2НаСервере()
тз = ЗначениеИзСтрокиВнутр(Объект.РеквизитТЗ);
КонецПроцедуры
&НаКлиенте
Процедура Команда2(Команда)
Команда2НаСервере();
КонецПроцедуры
ПоказатьP.S.
Это работает, но не делайте так, просто потому, что это из категории "так надо делать оооочень хорошо понимая, зачем и почему", например, если вы пишете обмены.
В частности ваша задача про "каждая запись этого регистра должна содержать некую таблицу" в намекает на то, что у вас уже на этом этапе серьезные проблемы с архитектурой и вы решили их обойти методом отрубания головы.
(5)
Мой вариант: вроде бы работает. Покритикуйте, если что-то не так.
В частности ваша задача про "каждая запись этого регистра должна содержать некую таблицу" в намекает на то, что у вас уже на этом этапе серьезные проблемы с архитектурой и вы решили их обойти методом отрубания головы.
Примерно так:)
Мой вариант:
Процедура ПриОткрытии()
ЭлементыФормы.Объем.Заголовок = УпДлина*УпШирина*УпВысота;
Если Комплектующие <> "" Тогда
ТЗКомплектующие = ЗначениеИзСтрокиВнутр(Комплектующие);
КонецЕсли;
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Комплектующие = ЗначениеВСтрокуВнутр(ТЗКомплектующие);
КонецПроцедуры
Показать
(8)
(7)
(1) в ут 10.3 есть рс КомплектующиеНоменклатуры, а так если покопаться в в любой типовой конфигурации есть и другие метаданные для хранения, навскидку Номенклатура поставщиков, регистр штрихкоды, товары на ккм, соответствие алкопродукции
Я знаю, но уже сделано так. И что-то еще будет ...
(7)
(6) Что такое Комплектующие?
В данном случае это строка.
(10) надо уметь абстрагироваться! вообще 1С это в основном ссылочная методология!
у вас комплект это Ссылка на справочник компплектации
вот и добавьте в свою строку РС Ссылку на этот комплект!
или второй вариант, а почему вы уперлись именно в одну строку РС?
это же таблица! в ней может быть МНОГО строчек!!!
вот и грузите/создавайте столько же строчек РС сколько в комплектации!
просто при работе читаете не ОДНУ строчку а сразу Набор Записей !
(ну все же механизмы есть)
у вас комплект это Ссылка на справочник компплектации
вот и добавьте в свою строку РС Ссылку на этот комплект!
или второй вариант, а почему вы уперлись именно в одну строку РС?
это же таблица! в ней может быть МНОГО строчек!!!
вот и грузите/создавайте столько же строчек РС сколько в комплектации!
просто при работе читаете не ОДНУ строчку а сразу Набор Записей !
(ну все же механизмы есть)
(14)Напишу подробнее.
Есть некие изделия, которые поставляются покупателю в разобранном виде. Кроме обычных характеристик, покупатель хочет в сопроводительных документах получить и много других. И еще документы должны быть в строгой форме - "шаг вправо, шаг влево - расстрел". Для того, чтобы это все поменьше мешалось с типовой конфигурацией было решено сделать РС, а потом все брать оттуда.
Так было сделано. Теперь требования несколько изменились. Теперь в документах должно быть описано не целиком изделие, а части, на которые оно разобрано. Поэтому и появилась необходимость дополнительно внеси в РС таблицу значений. Плюс ко всему все нужно сделать за очень короткое время.
Слово "Комплектующий" в данном случае не очень подходит, но другого не придумали.
Есть некие изделия, которые поставляются покупателю в разобранном виде. Кроме обычных характеристик, покупатель хочет в сопроводительных документах получить и много других. И еще документы должны быть в строгой форме - "шаг вправо, шаг влево - расстрел". Для того, чтобы это все поменьше мешалось с типовой конфигурацией было решено сделать РС, а потом все брать оттуда.
Так было сделано. Теперь требования несколько изменились. Теперь в документах должно быть описано не целиком изделие, а части, на которые оно разобрано. Поэтому и появилась необходимость дополнительно внеси в РС таблицу значений. Плюс ко всему все нужно сделать за очень короткое время.
Слово "Комплектующий" в данном случае не очень подходит, но другого не придумали.
(24)
(22) а вы форме регистра кнопку сделайте для изделия она будет открывать другой регистр с комплектующими этого изделия
Я понимаю, что можно сделать красивее. Те, кто ставил задачу сами не совсем представляли что нужно получить. А сейчас просто нет времени :(
(16) но ведь все равно кто-то же эти части, где-то как-то заводит!
свяжите эти части с Изделием! добавьте ему еще одну ТЧ ЧастиПоставки
само изделие у вас в Регистре и по ссылке на Изделие получите его тч.ЧастиПоставки
(это как один из вариантов, вашим полетом фантазии)
свяжите эти части с Изделием! добавьте ему еще одну ТЧ ЧастиПоставки
само изделие у вас в Регистре и по ссылке на Изделие получите его тч.ЧастиПоставки
(это как один из вариантов, вашим полетом фантазии)
(28)
(Для пользователя user1826630 - брысь!)
(16) но ведь все равно кто-то же эти части, где-то как-то заводит!
свяжите эти части с Изделием! добавьте ему еще одну ТЧ ЧастиПоставки
само изделие у вас в Регистре и по ссылке на Изделие получите его тч.ЧастиПоставки
(это как один из вариантов, вашим полетом фантазии)
Уже в базу введено много информации по старому формату. Если сейчас все переделывать, то старые данные нужно как-то перевести в новый формат. А времени на это нет! И что делать?
свяжите эти части с Изделием! добавьте ему еще одну ТЧ ЧастиПоставки
само изделие у вас в Регистре и по ссылке на Изделие получите его тч.ЧастиПоставки
(это как один из вариантов, вашим полетом фантазии)
(Для пользователя user1826630 - брысь!)