Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=23589)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Создание связи товаров в справочнике

Автор: Sede 09.06.15, 9:42

Добрый день.
1с версии 7.7
Помогите советом: Есть справочник Номенклатура, необходимо провести условное разделение всех товаров на группу основные и сопутствующие.
Для наглядности сделал рисунок.


Суть тут такова (Пример по рисунку)
Для телефона Samsung сопутствующие - Накладка Samsung, Универсальный зарядник, Сумка с замочком, Чехол на пояс, наклейка.
Для телефона Nokia сопутствующие - Защитная пленка Nokia, Силиконовая накладка Nokia, Универсальный зарядник, Сумка с замочком, Чехол на пояс.

Необходимо: При выборе основного товара показать сопутствующие, и наоборот при выборе сопутствующего товара показать список основных к которым он подходит.

Моя задумка следующая: Добавить реквизит типа строки в справочник в которое накидать коды связанных товаров через ";", потом разделять коды по отдельности (разделитель же есть) и доставать название из справочника. Касательно размера такого поля проблем, тормозов и прочего не возникнет? Или может как то такие коды вроде как шифровать/архивировать, дабы уменьшить размер такого поля.
( к примеру код в номенклатуре 6-значный, на одном товаре 200 сопутсвующих, итого длинна выходит 199 разделителей+200*6 = 1399 символов). Задумываюсь использовать что-то вроде шестнадцатиричного кода, но с использование всех букв (33*2 рус.букв 24*2 англ+ 10 цифр=124) значения трёх таких знаков дают 1,9 млн. вариантов, более чем достаточно, итого код сократится до 200*3=600 знаков.
При выборе товара - код будет разбирается, выдавая результат в виде кода.
Но стоит ли с этим заворачиваться? Или пофиг на длину - использовать обычные коды ? Как бы вы поступили?
Есть идеи/советы как установить/сделать такие связи?,

Автор: logist 09.06.15, 9:54

Цитата(Sede @ 09.06.15, 10:42) http://pro1c.org.ua/index.php?act=findpost&pid=99815
Есть идеи/советы как установить/сделать такие связи?,

Добавить отдельный справочник "Соответствия" из двух реквизитов: Основной товар, Соответствующий товар.

Автор: Sede 09.06.15, 10:10

Цитата(logist @ 09.06.15, 10:54) *
Добавить отдельный справочник "Соответствия" из двух реквизитов: Основной товар, Соответствующий товар.


А реквизит Соответствующий товар заполнять Код;Код; и т.д.?

Автор: logist 09.06.15, 10:17

Цитата(Sede @ 09.06.15, 11:10) *
заполнять Код;Код; и т.д.?

Нет. Оба реквизита это ссылки на справочник Номенклатура

p.s. это, что-то типа регистра сведений из 8-ки, если понимаете.

Автор: Sede 09.06.15, 10:24

Как я понял получаются записи вроде:
Товар 1 - сопТовар1
Товар 1 - сопТовар 2
Товар 1 - соптовар 3
....
Товар 1- сопТовар N
Товар 2 - сопТовар3 и т.д.

Вы как человек с опытом подскажите это нормально? Или может сделать сопутствующие товары - реквизит подчиненный справочник и туда записывать сопутствующие..

Автор: Vofka 09.06.15, 10:27

А в 7.7 в справочниках табличные части же есть? Если не ошибаюсь, то ТЧ может быть только одна. Так вот, если возможно, добавьте в справочник ТЧ "Сопутствующие товары". Если такой вариант не подходит, то как писали выше: создать новый справочник с 2 реквизитами: Основной товар, Сопутствующий товар.

Кстати, можно сделать подчиненный справочник.

Автор: logist 09.06.15, 10:27

Цитата(Sede @ 09.06.15, 11:24) http://pro1c.org.ua/index.php?act=findpost&pid=99819
Или может сделать сопутствующие товары - реквизит подчиненный справочник

Мне кажется с моим предложением будет удобней работать.

Автор: Sede 09.06.15, 10:31

Цитата(Vofka @ 09.06.15, 11:27) http://pro1c.org.ua/index.php?act=findpost&pid=99820
Мое предложение похоже на шутку?


Да нет, я не воспринял это за шутку. Просто я новичок и не знаю пока как правильнее это дело оформлять.

Спасибо за советы буду работать в этом направлении.

Автор: 5_kopeek 09.06.15, 10:52

Можно сделать для элементов справочника Товары реквизит с таким же типом, в котором хранить ссылку на основной товар. Установить для реквизита признак отбор и сортировка и потом легко и быстро можно получать сопутствующие товары. Такой подход обеспечивает минимальное вмешательство в структуру метаданных.

Автор: logist 09.06.15, 10:54

Цитата(5_kopeek @ 09.06.15, 11:52) *
Товары реквизит с таким же типом, в котором хранить ссылку на основной товар.

Не подходит, т.к. у одного товара может быть несколько основных.

Автор: 5_kopeek 09.06.15, 10:55

Да, действительно, упустила этот момент.

Автор: vadim007 09.06.15, 11:25

Так в 7-ке имеется тип ТМЦ Продукция. При его выборе активизируется кнопка Состав. Куда можно ввести сопутствующий товар.

Автор: awp 09.06.15, 11:34

Делайте так как описано

Цитата(logist @ 09.06.15, 10:54) *
Добавить отдельный справочник "Соответствия" из двух реквизитов: Основной товар, Соответствующий товар.


Форму выбора или подбора новую создавайте для отображения сопутствующих. Обязательно галочку Отбор по реквизиту для "Основной товар"

Далее просто отбор по реквизиту в справочнике.....




Автор: Домовик 09.06.15, 12:28

наверняка, список сопутствующих товаров для разных основных товаров будет повторяться. если это так, то в Соответствиях давать ссылку на справочник Шаблоны. В Шаблонах описать все основные наборы сопутствущих товаров...

Автор: Sharzem 09.06.15, 13:57

Вот идеальный ответ:

Цитата(Vofka @ 09.06.15, 11:27) http://pro1c.org.ua/index.php?act=findpost&pid=99820
А в 7.7 в справочниках табличные части же есть?


Нету табличной части в 7.7., но она заменяется Таблицей значений, которую легко можно заполнить ПриОткрытии + кнопочка "Добавить" и создается новый справочник в отдельной форме, после записи которого в Таблицу значений добавляем еще 1 строку.

Я бы именно так и реализовывал. Пользователю все понятно, программисту минимум работы.

Цитата(awp @ 09.06.15, 12:34) *
Делайте так как описано
Добавить отдельный справочник "Соответствия" из двух реквизитов: Основной товар, Соответствующий товар.

Форму выбора или подбора новую создавайте для отображения сопутствующих. Обязательно галочку Отбор по реквизиту для "Основной товар"

Далее просто отбор по реквизиту в справочнике.....

Заполнять такой справочник будет уж очень сложно. Представьте если 1 товар будет сопутствующим для так порядка 120 основных и основным для еще 120. Как пользователю разобраться в этой куче хлама ? Неудобно !!!
Можно и так, но нужно приложить максимально усилий что-б такое реализовать, и оно было нормально восприимчимым.

Автор: awp 09.06.15, 16:20

Цитата(Sharzem @ 09.06.15, 14:57) http://pro1c.org.ua/index.php?act=findpost&pid=99833
Заполнять такой справочник будет уж очень сложно. Представьте если 1 товар будет сопутствующим для так порядка 120 основных и основным для еще 120. Как пользователю разобраться в этой куче хлама ? Неудобно !!!
Можно и так, но нужно приложить максимально усилий что-б такое реализовать, и оно было нормально восприимчимым.


Форма для заполнения состоит из 1 таблицы значений для сопутсвующих.... Это для юзверов

Ну а первоначально заполнение делает из екселя который старательно подготовлен ТОВАРОВЕДОМ smile.gif

Автор: Домовик 09.06.15, 17:22

э, товарищи. вроде как справочник сам себе не подчиняется..
или это будет другой справочник, в котором будет реквизит, со ссылкой на первый?


заполнение и представление справочника Соответствие теоретически можно очень красиво и удобно реализовать.
у меня тендер выиграл Logist )

Автор: sava1 09.06.15, 18:05

Это классическое отношение много-много. По всем законам нормализации - првильное решение от Логиста.
Решается плоской таблицей с индексом по обеим полям (справочник, регистр).
Подчиненные справочники - это плодить левые записи - посчитайте сколько дублированных записей у Вас получиться
при соответствии 10-10.

Автор: Vofka 09.06.15, 19:32

sava1, следующая ситуация. Есть стол, у которого есть сопутствующий товар стул. При выборе стола - надо предложить стул. Плоская таблица, с одной строкой Стол - Стул решает, казалось бы, проблему. Но у стула стол сопутствующим товаром не является, т.е. при продаже стула стол предлагать не надо. Как это решить, если не "плодить левые записи"?

Автор: Домовик 09.06.15, 20:12

я еще чуть.
Vofka, если бы проблема была решаема только с пом. подч. справочников, то этот механизм перенесли бы в восьмерку. А так регистры сведений. вроде как.

Стул помещается в одну колонку(реквизит сопутствующие), стол - в другую.

про тендер - шутка. и то, и то - решение.

Автор: Zaval 09.06.15, 20:40

Тут вспоминали о ТЧ Справочника. В семерке для подобных целей иногда использовалась ссылка на документ. smile.gif
Документ хорош тем, что у него штатно предусмотрены Дата и Автор.

Автор: sava1 10.06.15, 7:13

Цитата(Vofka @ 09.06.15, 20:32) http://pro1c.org.ua/index.php?act=findpost&pid=99841
если бы проблема была решаема только с пом. подч. справочников, то этот механизм перенесли бы в восьмерку.

РС в 8 - более универсальная штука (+ периодические реквизиты 77 !). А если взять непериод. и независимый РС с отбором по ведущему измерению - Вы
и получите подчиненный справочник из 7.

Автор: Домовик 10.06.15, 7:44

я думала, регистры сведений в 8 - это безресурсный регистр семерочный, + возможность сохранения истории.
но неважно, все те же таблицы, по разному представленные.

Автор: Sede 10.06.15, 7:58

Цитата(Vofka @ 09.06.15, 20:32) *
sava1, следующая ситуация. Есть стол, у которого есть сопутствующий товар стул. При выборе стола - надо предложить стул. Плоская таблица, с одной строкой Стол - Стул решает, казалось бы, проблему. Но у стула стол сопутствующим товаром не является, т.е. при продаже стула стол предлагать не надо. Как это решить, если не "плодить левые записи"?


Вот прям в точку. Только у меня еще и много разных стульев. И в дополнение еще есть сопутствующие товары на сопутствующие (Ыы во задвинул 47046430.gif , лучше примерок напишу:
Основной товар - кровать - сопутствующий - матрас, у матраса сопутствующий - чехол на матрас, у чехла - сопутствующий - средства ухода.
Естественно при выборе кровати - предложить матрас, если матрас не нужен - вся цепочка отрезается, но если нужен - предлагаем далее... чехол, средства ухода,...)

Посему выходят такие записи:
основной / сопутствующий
Кровать / Матрас
Матрас / Чехол на матрас
Чехол на матрас / Средство ухода за чехлом..

ЗЫ.. Анекдот вспомнился, с похожей ситуацией :

Молодой человек из провинции приехал в большой город и заходит в огромный торговый центр, чтобы попытаться устроиться там на работу.
Менеджер спрашивает: — Есть у вас какой-нибудь опыт работы продавцом?
Молодой человек с готовностью отвечает: — Конечно! Там, откуда я приехал, я работал продавцом!
Менеджеру явно понравился молодой человек: — Начинайте прямо сейчас работать.
Первый рабочий день был очень напряженным, но молодой человек справился.
По окончании работы к нему подошел менеджер и спрашивает: — Ну, и сколько человек у вас сегодня сделали покупки?
- Один.
- Один? У нас в торговом центре продавцы в среднем обслуживают от 20 до 30 покупок в день! Да-а! И какую же сумму оставил в нашем центре обслуженный вами покупатель?
- 102 516 долларов 17 центов.
- Что-о-о? 102 тысячи 516 долларов и 17 центов?! Что же вы ему продали?
- Сначала я ему продал маленький рыболовный крючок, затем средний и после уже самый крупный. Затем я продал ему самую модную удочку. Когда ему упаковывали эти покупки, я спросил, где он собирается рыбачить? Он ответил, что в Финском заливе. На это я ему сказал, что там без лодки не обойтись. Мы спустились в отдел лодок и я ему посоветовал купить двухмоторную дизельную лодку. Ему она понравилась, но он засомневался, что его спортивный автомобиль не сможет буксировать такую лодку. Мы пошли в автомобильный отдел, я и тут посоветовал ему джип с прицепом. Вот такие покупки сделал сегодня мой первый клиент.
Менеджер с квадратными глазами следил за рассказом своего нового продавца: — Вы хотите сказать, что этот покупатель пришел купить рыболовный крючок, а в итоге купил лодку и джип с прицепом?
- Нет, нет. Он пришел купить пачку тампонов для своей жены. А я ему сказал, что раз уж выходные дни все равно полетели в задницу, так уж лучше податься на рыбалку!

Автор: sava1 10.06.15, 8:37

Тогда однозначно подчиненный справочник.
Единственно - работал бы я с этим справочником не штатными методами, а прямыми запросами.
Для подбора/выбора - спокойно строим Дерево (соединение таблицы сама с собой по Владелец) и вываливаем это пользователю - хай радуется.

Автор: Домовик 10.06.15, 9:02

Цитата(Sede @ 10.06.15, 4:58) http://pro1c.org.ua/index.php?act=findpost&pid=99860
Естественно при выборе кровати - предложить матрас, если матрас не нужен - вся цепочка отрезается, но если нужен - предлагаем далее... чехол, средства ухода,...)

вот в магазинах всегда хочется убить продавца в этом месте..

Автор: awp 10.06.15, 10:26

Цитата(sava1 @ 10.06.15, 9:37) *
Тогда однозначно подчиненный справочник.
Единственно - работал бы я с этим справочником не штатными методами, а прямыми запросами.
Для подбора/выбора - спокойно строим Дерево (соединение таблицы сама с собой по Владелец) и вываливаем это пользователю - хай радуется.


Вы предлагаете задублировать справочник номенклатуры N раз? (где N колво цепочек)

Делайте справочник с 2 полями - ТоварВладелец ТоварСопутс

При выборе номенклатуры - сразу отбор по владелцу и предложение только 1 уровня... и так далее - Это всего 1 маленькая процедура.....



Автор: sava1 10.06.15, 10:45

Что значит "задублировать"?

Автор: Sharzem 10.06.15, 10:53

Цитата(sava1 @ 10.06.15, 9:37) *
Единственно - работал бы я с этим справочником не штатными методами, а прямыми запросами.


Тю, и что такое глобальное при подборе нужно решать с применением прямых запросов да еще и построением дерева в 7.7. ???
Есть регистр остатков, есть такое понятие как Таблица значений, которую можно прикрутить справа, слева, снизу или вообще отобразить в отдельной форме что еще нужно ?
Мой взгляд на Ваше предложение такой:
Прямым запросом построим список товаров которые есть на остатке (научимся сначала писать прямой запрос + пользоваться Формексом), засунем это все в Таблицу значений, построим дерево. Чем в таком случае будет радоваться пользователь ? Тем что ему постоянно нужно будет на клавиатуре нажимать "HOME", потому-что он находится на букве "Я" а нужно набрать слово на "А" ? Нужно еще создать доп.списки значений и поля ввода, туда пользователь будет ставить постоянно курсор, либо делать перехват клавиатуры + еще нужно сворачивать еще ранее развернутый узел дерева...... Непонимаю.....

А у Вас уже что-то подробное внедрено ? Если не сложно, упустив прямые запросы, по-поводу дерева в подборе 7.7. можно поподробней ?

Во как темка зацепила )))

Автор: awp 10.06.15, 11:00

Цитата(sava1 @ 10.06.15, 11:45) *
Что значит "задублировать"?


Справочник Товары - содержит в себе всЁ - то есть продать можно как кровать так и средство ухода за матрацем.

То есть матрац может быть в спр. Товары и в спр. Сопутсвующие 1 левела и тд...




Автор: sava1 10.06.15, 11:04

Уважаемый, Формекс это что-то другое (а не прямые запросы). "Иногда лучше промолчать и казаться дураком, чем что-то сказать и подтвердить это".
Глобальное то, что уровень вложенности подчиненых элементов не ограничен - мы можем выложить все связи и дать возможность пользователю выбрать сразу весь ассортимент.

Автор: Sharzem 10.06.15, 11:08

Цитата(sava1 @ 10.06.15, 12:04) http://pro1c.org.ua/index.php?act=findpost&pid=99877
Для подбора/выбора - спокойно строим Дерево (соединение таблицы сама с собой по Владелец) и вываливаем это пользователю - хай радуется


Забыл приложить

Автор: Домовик 10.06.15, 11:27

уровень вложенности неограничен как раз в обычной таблице Соответствие.

там основные признаки:
- если товар находится только в колонке Основные- это верхушка, ствол
- и там, и там - промежуточные вершины
- только Сопутствующее - листочек. ,

раскрутить дерево можно.
там ветки повторяются, одни и те же крепят к разным стволам.



А вот количество подчиненных справочников должно быть регламентировано и продумано...

Автор: sava1 10.06.15, 11:55

Цитата(Sharzem @ 10.06.15, 12:08) http://pro1c.org.ua/index.php?act=findpost&pid=99878
Справочник Товары - содержит в себе всЁ - то есть продать можно как кровать так и средство ухода за матрацем. То есть матрац может быть в спр. Товары и в спр. Сопутсвующие 1 левела и тд...

А теперь про "задублирование"....

На первой странице этот вопрос уже поднимался - можно было просто прочитать...

Цитата(Sharzem @ 10.06.15, 11:53) http://pro1c.org.ua/index.php?act=findpost&pid=99875
количество подчиненных справочников должно быть регламентировано и продумано

Там будет только один справочник, подчинен Номенклатуре (Товару)

дерево отчетов

Автор: awp 10.06.15, 12:41

Цитата(sava1 @ 10.06.15, 12:55) http://pro1c.org.ua/index.php?act=findpost&pid=99880
Уважаемый, Формекс это что-то другое (а не прямые запросы). "Иногда лучше промолчать и казаться дураком, чем что-то сказать и подтвердить это".


Если сказать и ошибиться то дураком будешь не более 5 минут.... а если промолчать то всю жизнь!

Цитата(sava1 @ 10.06.15, 12:04) *
Глобальное то, что уровень вложенности подчиненых элементов не ограничен - мы можем выложить все связи и дать возможность пользователю выбрать сразу весь ассортимент.


при связи "много ко многим" - Удачи! smile.gif


Наверное пора организовывать что-то наподобие скайп конференции smile.gif

Автор: sava1 10.06.15, 12:54

Цитата(awp @ 10.06.15, 13:41) *
Дайте структуру нового подч. справочника..

А там только одно поле - ссылка на этот-же справочник

Автор: Домовик 10.06.15, 13:05

то есть, нижний уровень у вас в подчиненном спр... вы обращаетесь к реквизиту подчиненного, он же спр.Товары, и поять открываете подчиненный...

уже голова закипает от вложенностей, даже новости вот читаю:
"Активисты нашли коррупцию в попытке правительства создать агентство против коррупции
"

Автор: awp 10.06.15, 13:13

Цитата(sava1 @ 10.06.15, 13:54) *
А там только одно поле - ссылка на этот-же справочник


убедил(И) icon_beer17.gif

Но думаю что реализация Вашей идеи будет равнозначна реализации идеи Логиста. Также я думаю что по скорости обработки они идентичны..

Автор: Zaval 10.06.15, 13:14

Ого, каки разборки разгорелись 26000000.gif , "господа енаралы", это упрощенная задача производства, реализованного во многих конфах.
То же разузлование, только не нужны коэффы применяемости и группы аналогов.

Автор: sava1 10.06.15, 13:22

Цитата(awp @ 10.06.15, 14:13) http://pro1c.org.ua/index.php?act=findpost&pid=99884
То же разузлование,

А мы и не знали 09000000.gif .
А пример - УПП-Отчет пр-ва за смену - материалы - подбор по аналогам.

Модеры! Закрывайте балаган, баньте всех - надо работать.

Автор: logist 10.06.15, 13:25

Цитата(sava1 @ 10.06.15, 14:22) *
Модеры! Закрывайте балаган, баньте всех - надо работать.

Отчего же, интересная дискуссия, я тут в сторонке наблюдаю))

Автор: Sharzem 10.06.15, 13:30

Цитата(sava1 @ 10.06.15, 12:55) *
Да.Если интересно - Гугл в помощь.


А теперь про "задублирование"....

На первой странице этот вопрос уже поднимался - можно было просто прочитать...

Прямые запросы - скорость выборки раз в 100 превысит перебор 1с -ми методами.
Дерево - выводим дерево, свернутое до 1го уровня соответствия. Если пользователь выбирает что-то - разрешаем разворачивать вниз...

Там будет только один справочник, подчинен Номенклатуре (Товару)

дерево отчетов


Вы наверное издеваетесь. Дерево в данном случае - это полная хня, что я Вам пытался донести, а тем более построенное штатными средствами. Какое отношение имеет Прамой запрос к построению Дерева ? Автору темы нужен нормальный справочник и подбор исходя из информации находящейся там. Никому не нужно просто обычное "красивое" отображение информации о сопутствующих товарах. Каждый раз при подборе Вы будете выполнять запрос и строить дерево - удачи !
Научитесь прислушиваться к мнению других и если кто-то неправ, обьясните в чем, а не блестайте Циклом.

Автор: Zaval 10.06.15, 13:37

Цитата(sava1 @ 10.06.15, 14:22) *
А мы и не знали 09000000.gif .
А пример - УПП-Отчет пр-ва за смену - материалы - подбор по аналогам.


У Вас - восьмеркомания. ПУБ более уместен.

Автор: sava1 10.06.15, 15:03

Цитата(Sharzem @ 10.06.15, 14:30) http://pro1c.org.ua/index.php?act=findpost&pid=99888
Каждый раз при подборе Вы будете выполнять запрос и строить дерево

Множественный выбор никто не отменял.
Цитата(Sharzem @ 10.06.15, 14:30) http://pro1c.org.ua/index.php?act=findpost&pid=99888
Автору темы нужен нормальный справочник и подбор

Как по Вашему мнению пользователь будет подбирать товар ? (опишите процесс)
Цитата(Zaval @ 10.06.15, 14:37) *
ПУБ более уместен.

Больше 8 лет не видел ПУБ вживую. Да и до того не балдел.

Автор: Домовик 10.06.15, 18:36

стабильности нет. террористы опять захватили самолет.

Автор: Sede 11.06.15, 9:25

47046430.gif
Учиться, учиться и еще раз учиться.
На данном этапе последовал совету LOGIST-а . Сделал справочник, 2 поля, оба ссылки.
Остальным также спасибо за дискуссию, 47046430.gif .
Теперь думаю сделать выбор одного - множественный выбор. Благо более-менее номенклатура вроде в норме.
Но пока не знаю как реализовать. погуглю может чтонить нарою.

Автор: Vofka 11.06.15, 10:00

Ребята, не хулиганьте. Каждый имеет свою точку зрения, своё видение. При этом не нужно друг друга поливать гуаном. Мы же с вами приличные люди, а не миста.ру icon_oink.gif .

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua