Нужно вывести Характеристики группы номенклатуры в ТЗ. Не могу сообразить - как лучше сформировать такую ТЗ? Получается в каждой строке будет Номенклатура, Характеристика, и далее пары Свойство-Значения свойств, причем количество колонок от товара к товару может меняться... Как лучше сделать такую ТЗ? В чем собственно задача-вывести характеристики группы товаров в таблицу, подправить и сохранить.
"Группа"- в смысле какой-то список товаров, у которого нужно проставить свойства в характеристике. Ну например список - Ботинки А, Ботинки Б, Ботинки С. И нужно у них выставить свойства "Материал - Кожа, Размер - 43, Цвет - Черный"
"Группа"- в смысле какой-то список товаров, у которого нужно проставить свойства в характеристике. Ну например список - Ботинки А, Ботинки Б, Ботинки С. И нужно у них выставить свойства "Материал - Кожа, Размер - 43, Цвет - Черный"
По теме из базы знаний
- Ведение учета услуг в разрезе характеристик для УТ 10.3
- Переоценка по всем характеристикам номенклатуры УТ 10.3
- Формирование в УТ 10.3 прайс-листов с выгрузкой в Excel 2003 с картинками товара в примечаниях (пиктограммами)
- Интеграция OZON, Wildberries, Яндекс Маркет в 1С:УТ 10.3, КА 1.1, УПП 1.3
- Авансы, кредиты и предоплаты ФФД 1.05. Изменение типовой УТ 10.3.72.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
так опять приходим к вопросу - как в тз создать колонки для свойств-значений? этих пар для каждого товара может быть до 10... А что будет именем колонки? Название свойства или значения? А там могут быть пробелы, символы и прочий мусор,из за которых нельзя их использовать в качестве имени. Если их удалять, то получаются неоднозначные названия ( получаются одинаковые имена)
(6) если убрать символы и прочее мешающее - будут неоднозначные названия.Более того - есть такие что изначально называются одинаково, но для разных товаров . Например "Размер" для ботинка и для рубашки одно название, но свойства и значения свойств у них разные
(8)Я о том, что если конфигурация типовая, то при разных назначениях свойств в справочнике характеристик (например, по группам номенклатуры), даже если названия этих свойств одинаковые - это разные объекты.
Да и всегда можно названия сделать в чем-то разные.
Кроме этого, если это одно свойство, даже при одинаковых наборах характеристик, не обязательно их использовать все для разных групп номенклатуры.
Да и всегда можно названия сделать в чем-то разные.
Кроме этого, если это одно свойство, даже при одинаковых наборах характеристик, не обязательно их использовать все для разных групп номенклатуры.
(15) сделать то можно - как это обрабатывать? если б колонку нужно было просто создать - задал название рандомом. а нужно обработать действия пользователя и загрузить результат обратно в номенклатуру. также вариант действия - в обработке нужно создать свойство, присвоить значение и присвоить номенклатуре
(17)
Сделайте форму как в справочнике - с деревом слева, но справа будет ТаблицаЗначений вместо СправочникСписок.
Отслеживайте перемещение текущей папки в дереве, перезаполняйте таблицу. Отслеживайте также щелчки в таблице значений на папки, и меняйте текущую папку с перезаполнением таблицы.
Теперь колонки со значениями свойств. Их или заранее сделайте 10-20 штук, и включайте им видимость-невидимость, или при каждом перезаполнении таблицы удаляйте-добавляйте динамически. Предпочтительнее первое. Допустим они будут называться ЗначениеСвойства1, ЗначениеСвойства2 и т.д.
При перезаполнении таблицы:
С использованием информации о текущей папке нужно запросом выбрать в массив все свойства, которые применимы к текущей папке и любой номенклатуре, находящейся непосредственно внутри (но не во вложенных папках).
Я как понял, у вас для разных папок свои назначения свойств, поэтому при открытии каждой папки вам не нужны все колонки свойств, а нужны только применимые к этой папке.
Далее динамически (сложением и подстановкой строк) соберите текст запроса по номенклатуре и характеристикам с левым соединением по значению каждого возможного из ранее полученных свойств, чтобы их значения падали в колонки (ЗначениеСвойства1, ЗначениеСвойства2...) в том же порядке, как свойства положены в массив. Номенклатуру отберите по текущей папке.
Загрузите результат на экранную таблицу. Пройдитесь по колонкам ее свойств и задайте из массива доступный тип (чтобы пользователь мог перевыбрать значения в ячейках только по соответствующему типу свойства), заголовок (наименование свойства), настройте видимость колонок, чтобы спрятались неиспользованные.
Здесь также можно СохранитьЗначения/ВосстановитьЗначения по ширинам каждого возможного свойства, потому как они будут каждый раз, в зависимости от текущей папки, в разных колонках, и вас задерет перенастраивать размеры.
Тогда у вас на каждую перерисовку будут всего два запроса, это будет достаточно быстро работать.
Изменения ячеек колонок ЗначенияСвойстваX отслеживаете событием, по номеру получаете свойство из массива, менеджером значений РС перезадаете значение свойства. Все.
Делать, разумеется, сложнее, чем писать, советовать всегда легче. Удачи. :-)
Сделайте форму как в справочнике - с деревом слева, но справа будет ТаблицаЗначений вместо СправочникСписок.
Отслеживайте перемещение текущей папки в дереве, перезаполняйте таблицу. Отслеживайте также щелчки в таблице значений на папки, и меняйте текущую папку с перезаполнением таблицы.
Теперь колонки со значениями свойств. Их или заранее сделайте 10-20 штук, и включайте им видимость-невидимость, или при каждом перезаполнении таблицы удаляйте-добавляйте динамически. Предпочтительнее первое. Допустим они будут называться ЗначениеСвойства1, ЗначениеСвойства2 и т.д.
При перезаполнении таблицы:
С использованием информации о текущей папке нужно запросом выбрать в массив все свойства, которые применимы к текущей папке и любой номенклатуре, находящейся непосредственно внутри (но не во вложенных папках).
Я как понял, у вас для разных папок свои назначения свойств, поэтому при открытии каждой папки вам не нужны все колонки свойств, а нужны только применимые к этой папке.
Далее динамически (сложением и подстановкой строк) соберите текст запроса по номенклатуре и характеристикам с левым соединением по значению каждого возможного из ранее полученных свойств, чтобы их значения падали в колонки (ЗначениеСвойства1, ЗначениеСвойства2...) в том же порядке, как свойства положены в массив. Номенклатуру отберите по текущей папке.
Загрузите результат на экранную таблицу. Пройдитесь по колонкам ее свойств и задайте из массива доступный тип (чтобы пользователь мог перевыбрать значения в ячейках только по соответствующему типу свойства), заголовок (наименование свойства), настройте видимость колонок, чтобы спрятались неиспользованные.
Здесь также можно СохранитьЗначения/ВосстановитьЗначения по ширинам каждого возможного свойства, потому как они будут каждый раз, в зависимости от текущей папки, в разных колонках, и вас задерет перенастраивать размеры.
Тогда у вас на каждую перерисовку будут всего два запроса, это будет достаточно быстро работать.
Изменения ячеек колонок ЗначенияСвойстваX отслеживаете событием, по номеру получаете свойство из массива, менеджером значений РС перезадаете значение свойства. Все.
Делать, разумеется, сложнее, чем писать, советовать всегда легче. Удачи. :-)
(18) если б все так было просто :)
1. Нужно видеть в строках все товары отобранные по условию одновременно, а не "поштучно"
2. Номенклатура растет, свойства добавляются, переписывать каждый раз обработку?
да вообще, если оторваться от конкретной этой задачи - как решить такую проблему? Загрузить в ТЗ неизвестное количество колонок с неизвестными названиями. И как-то с ними работать... У меня кроме варианта кол_1, кол_2, ... и работать по смещению - ничего не придумалось
1. Нужно видеть в строках все товары отобранные по условию одновременно, а не "поштучно"
2. Номенклатура растет, свойства добавляются, переписывать каждый раз обработку?
да вообще, если оторваться от конкретной этой задачи - как решить такую проблему? Загрузить в ТЗ неизвестное количество колонок с неизвестными названиями. И как-то с ними работать... У меня кроме варианта кол_1, кол_2, ... и работать по смещению - ничего не придумалось
(19)
Или Вы не совсем меня поняли, или я Вас. Но пояснить за 5 минут, как написать обработку, которую делать часа 2-3, крайне тяжело, поэтому наши разногласия понятны.
Мое решение все функции предоставит, переписывать ничего никогда не потребуется. Разве что, если вы заранее понимаете, что 10 свойств вам может не хватить, предусмотрите 30 скрытых колонок, или вообще - добавляйте их динамически при обновлении таблицы.
Если оторваться от задачи, то именно так и делать, как Вы сказали - КолонкаЗначений0, КолонкаЗначений1, задавать им программно синоним (видимый заголовок), и иметь альбом соответствий номера колонки каким-то данным (как у меня в примере - массив задействованных свойств).
Тогда вы всегда можете сколхозить типа-лямбду СтрокаТаблицы["КолонкаЗначений"+Формат(ИндексНашейКолонки, "ЧГ=")] = НовоеЗначение;, если непонятен именно этот момент.
Вернусь к первоначальной задаче, если вам не нравятся индексы, можно динамически заводить колонки типа КолонкаСвойства_{Тут код или GUID свойства, для которого в этой колонке лежат значения}.
Если не нравятся таблицы значений и хочется типового иерархического/сплошного просмотра и отбора, то можно еще завести форму справочника свою, в список добавить колонки1,2,3... (в список, НЕ в реквизиты справочника) и наполнять их по событию ПриПолученииДанных() - это если нужно, чтобы работал отбор по штатному реквизиту справочников (по этим колонкам все равно не будет).
Или Вы не совсем меня поняли, или я Вас. Но пояснить за 5 минут, как написать обработку, которую делать часа 2-3, крайне тяжело, поэтому наши разногласия понятны.
Мое решение все функции предоставит, переписывать ничего никогда не потребуется. Разве что, если вы заранее понимаете, что 10 свойств вам может не хватить, предусмотрите 30 скрытых колонок, или вообще - добавляйте их динамически при обновлении таблицы.
Если оторваться от задачи, то именно так и делать, как Вы сказали - КолонкаЗначений0, КолонкаЗначений1, задавать им программно синоним (видимый заголовок), и иметь альбом соответствий номера колонки каким-то данным (как у меня в примере - массив задействованных свойств).
Тогда вы всегда можете сколхозить типа-лямбду СтрокаТаблицы["КолонкаЗначений"+Формат(ИндексНашейКолонки, "ЧГ=")] = НовоеЗначение;, если непонятен именно этот момент.
Вернусь к первоначальной задаче, если вам не нравятся индексы, можно динамически заводить колонки типа КолонкаСвойства_{Тут код или GUID свойства, для которого в этой колонке лежат значения}.
Если не нравятся таблицы значений и хочется типового иерархического/сплошного просмотра и отбора, то можно еще завести форму справочника свою, в список добавить колонки1,2,3... (в список, НЕ в реквизиты справочника) и наполнять их по событию ПриПолученииДанных() - это если нужно, чтобы работал отбор по штатному реквизиту справочников (по этим колонкам все равно не будет).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот