Имя: Пароль:
1C
1С v8
раскрасить ТЧ документа по условию
0 dvrk
 
02.06.22
09:37
Привет, мне дали список номенклатурных позиций, которые должны цветом в документе выделяться
я хочу сделать через ОформлениеСтроки
а как мне лучше получить список этой номенклатуры? ну т.е. известен ей артикул, код - они уникальны
но как мне его получать вообще? запросом, где условие ном.код = 1 или ном.код = 2 или ном.код = 3 .... или ном.код = 30
? понимаю что это тупо, но чёт не пойму как ещё
помогите)
1 lodger
 
02.06.22
09:39
(0) условное оформление покури.
2 dvrk
 
02.06.22
09:39
Если ОформлениеСтроки.ДанныеСтроки.Номенклатура.Код = 31034544 Тогда
        ОформлениеСтроки.Ячейки.Номенклатура.ЦветФона = WebЦвета.Зеленый;
        КонецЕсли;

вот мой тупой пример, в котором мне нужно будет лепить кучу строк
3 dvrk
 
02.06.22
09:39
(1) УТ 10 ОФ
4 Ryzeman
 
02.06.22
09:40
во-первых, запиши в коллекцию, например, в массив, во-вторых, лучше через условное форматирование сделать.
Ну и в третьих - а у тебя список этих номенклатурных позиций менять не будет? Или ты каждый раз будешь код менять?
5 Ёпрст
 
02.06.22
09:42
(0) Для начала, где-то храни этот список номенклатуры - в РС или в справочнике, или в реквизите с типом Хранилище значений
6 dvrk
 
02.06.22
09:43
(4) (5) я всё понимаю, я сейчас делаю временное решение, без создания всяких справочников рсов и т д...
7 Kassern
 
02.06.22
09:43
(0) Вы вначале должны определить, почему именно Код = 31034544 должен быть зеленым? Это зависит от самой номенклатуры, или от ее движений, или от взаиморасчетов, или от чего вообще? Если же это просто свойство номенклатуры, быть зеленой в строчках, тогда отдельным свойством этот признак отметьте и по нему красьте. Если же какие-то движения/условия сделали ее зеленой, то по ним и делайте оформление, а не проверкой 100500 кодов в условии
8 Ёпрст
 
02.06.22
09:44
всё остальное, в ПриПолуяченииДанных имей ссылки из ОформлениеСтрок и пихай в запрос,в котором условие на твой список. Усё
9 Kassern
 
02.06.22
09:44
(6) в УТ10 есть уже готовый регистр, ЗначениеСвойствОбъектов или как-то так
10 Ёпрст
 
02.06.22
09:45
(6) временное решение - заведи свойство номенклатуры, штатно, в типовой УТ всё есть для этого
11 dvrk
 
02.06.22
09:54
ща.
12 dvrk
 
02.06.22
10:11
Ну я добавил свойство, запросом получаю этих контрагентов по свойству из регистра ЗначенияСвойствОбъектов
А как мне теперь сравнить что в текущей строке номенклатура содержится в результате запроса?
13 dvrk
 
02.06.22
10:17
Для каждого чототам из результат  цикл
Если строкатч.номенклатура = чототам тогда крашу?
14 Мультук
 
гуру
02.06.22
10:18
(13) Крась. Уже можно (с)
15 Kassern
 
02.06.22
10:19
(12) ну так у вас в событии же есть текущая строка? Вот номенклатуру из нее в условие, а по результату запроса уже решаете как красить строчку
16 Kassern
 
02.06.22
10:19
Какое событие используете?
17 dvrk
 
02.06.22
10:22
(16) ТоварыПриВыводеСтроки
18 Kassern
 
02.06.22
10:23
(17) там вроде есть событие при получении данных, или как-то так. Тогда можно за раз все строки пройти и покрасить
19 Kassern
 
02.06.22
10:23
в общем пробуйте, главное, чтобы не тормозило)
20 Kassern
 
02.06.22
10:24
в УТ11 вы бы просто условием в условном оформлении прописали и все бы покрасилось быстро модно молодежно)
21 dvrk
 
02.06.22
10:25
(18) мне не нужно за раз их все красить, мне именно при добавлении строки надо
22 Kassern
 
02.06.22
10:29
(21) вот тут про разницу событий:
https://helpf.pro/faq/view/1576.html
У вас оба метода будут работать при любых обновлениях данных и для всех видимых строк. А не так, вы строчку добавили, только по ней событие отработало.
23 Ёпрст
 
02.06.22
10:31
(21)
на вот, занимайся


Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
    СоответствиеОформления = Новый Соответствие;
    массивНоменклатуры = новый Массив;
    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
         массивНоменклатуры.Добавить(ОформлениеСтроки.ДанныеСтроки.Номенклатура);
         СоответствиеОформления .Вставить(ОформлениеСтроки.ДанныеСтроки.Номенклатура,ОформлениеСтроки);
     КонецЦикла;
     Запрос = Новый Запрос("ВЫБРАТЬ
                           |    ЧеТамУТЕбя.Номенклатура КАК Номенклатура
                           |ИЗ
                           |    ...........
                           |ГДЕ
                           |    ЧеТамУТЕбя.Номенклатура В(&Ссылка)
                           |    ");
     Запрос.УстановитьПараметр("Ссылка",массивНоменклатуры);
     Выборка = Запрос.Выполнить().Выбрать();
     Пока Выборка.Следующий() Цикл
         ОформлениеСтроки = СоответствиеОформления .Получить(Выборка.Номенклатура);
         ОформлениеСтроки.Ячейки.Номенклатура.ЦветФона = WebЦвета.Красный;
    КонецЦикла;
КонецПроцедуры

24 Megas
 
02.06.22
10:34
(23) Отлично!

Ещё можно СоответсвиеКЭШ добавить, что бы каждый раз не делать запросы на то что уже делал.
25 yopQua
 
02.06.22
10:38
(23) хираси
тут хотели дату через СОМ 77 получать из строки и в 8 возвращать, потому что 77 умеет как надо, а 8 нет, очень похоже
26 Мультук
 
гуру
02.06.22
10:39
(23)

P.S.

Правильно, нефиг новичкам учиться на своих ошибках.
Пусть и дальше копи-пастят из гугля и пишу говнокод, отцам в результате больше заплатят за рефакторинг.
27 dvrk
 
02.06.22
10:42
вы чё.
28 yopQua
 
02.06.22
10:43
(26) ну мошт и здраво
29 dvrk
 
02.06.22
10:59
почему запрос долго формируется?
ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Объект.Ссылка КАК ОбъектСсылка
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
        ПО ЗначенияСвойствОбъектов.Объект = Контрагенты.Ссылка
ГДЕ
    ЗначенияСвойствОбъектов.Свойство.Код = "123"
    И ЗначенияСвойствОбъектов.Значение.Наименование = "МойЦвет"
30 dvrk
 
02.06.22
10:59
там всего 30 позиций в результате
31 Kassern
 
02.06.22
11:01
(29) а зачем вы к контрагенту цепляете, если эту таблицу нигде не используете?
32 Kassern
 
02.06.22
11:01
для чего вообще соединение делаете?
33 dvrk
 
02.06.22
11:02
(31) хз думал из-за того что нет связи в результате запроса в выборке ничё нет ошибка чтения
34 dvrk
 
02.06.22
11:03
(32) всё равно 8 секунд отчет формируется без контрагента
ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Объект.Ссылка КАК ОбъектСсылка
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    ЗначенияСвойствОбъектов.Свойство.Код = "123"
    И ЗначенияСвойствОбъектов.Значение.Наименование = "МойЦвет"
35 dvrk
 
02.06.22
11:04
(34) ладно, 6.5
но там всего 30 объектов
36 Kassern
 
02.06.22
11:05
(34) а зачем вы через 2+ точки ко всему обращаетесь?
37 Kassern
 
02.06.22
11:06
там же составной тип у значений. А когда вы обращаетесь через точку, 1ска считывает все возможные таблицы связанные. Перепишите запрос нормально. Зачем вот Объект.Ссылка? Как будто вам реально объект запрос выдаст))
38 dvrk
 
02.06.22
11:07
(36) ТИПЗНАЧЕНИЯ(ЗначенияСвойствОбъектов.Объект) = ТИП(Справочник.Номенклатура) вот с этим быстрее
39 Kassern
 
02.06.22
11:07
Пишите, что-то типа:
ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Объект КАК Объект
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    ЗначенияСвойствОбъектов.Свойство= &НужноеСвойство
    И ЗначенияСвойствОбъектов.Значение= &МойЦвет
40 dvrk
 
02.06.22
11:07
(39) ну да, стало 0.3 сек
41 Kassern
 
02.06.22
11:08
(38) Просто сравните эти два запроса (34) (39) и напишите разницу)
42 Kassern
 
02.06.22
11:08
(40) ну вот, это хороший урок, чтобы отучиться писать через множество точек. Либо делать это с пониманием.
43 dvrk
 
02.06.22
11:08
(41) ну обращения через точки и всё
44 Kassern
 
02.06.22
11:10
(43) вы по факту вашу таблицу ЗначенияСвойствОбъектов соединили со всеми таблицами, которые в составном типе у объекта (а их дофига там) и потом уже с этой громадиной условием резали строки. Вот вам и 7секунд
45 dvrk
 
02.06.22
11:10
(42) а что, лучше в коде установить параметр где я буду поиск по коду делать чем в запросе по коду искать или что?
46 Kassern
 
02.06.22
11:11
(45) В запросе лучше использовать параметры. Вы можете потом этот запрос вынести вообще из процедуры вашей в отдельную функцию и передавать в нее нужные параметры. Тогда у вас будет код более универсальным.
47 dvrk
 
02.06.22
11:12
(46) ну в параметр я буду передавать Справочники.ЗначенияСвойствОбъектов.НайтиПо..... это лучше?
48 dvrk
 
02.06.22
11:17
(46) я не совсем понимаю как сделать, вот если делать по примеру (23), то у меня пишет ОбъектСсылка    Ошибка чтения значения
49 Kassern
 
02.06.22
11:18
(47) так лучше.
50 Kassern
 
02.06.22
11:19
(48) Показывай уже, что получилось
51 dvrk
 
02.06.22
11:21
(50) так ничего не получилось, в выборке ничего нет ошибка чтения значения
52 Kassern
 
02.06.22
11:21
(51) ну так код покажи, который у тебя с ошибкой
53 dvrk
 
02.06.22
11:26
(52)    Выборка = ЗАпрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    
КонецЦикла;
54 dvrk
 
02.06.22
11:26
(53) ОбъектСсылка    Ошибка чтения значения
55 Kassern
 
02.06.22
11:26
запрос показывай
56 dvrk
 
02.06.22
11:28
(55) ВЫБРАТЬ
                   |    ЗначенияСвойствОбъектов.Объект КАК ОбъектСсылка
                   |ИЗ
                   |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                   |ГДЕ
                   |    ЗначенияСвойствОбъектов.Свойство =  &Свойство
                   |    И ЗначенияСвойствОбъектов.Значение = &Значение";
57 yopQua
 
02.06.22
11:34
еп еп
58 Мультук
 
гуру
02.06.22
11:36
(0)

Сначала была номенклатура с ее артикулом. Нужно было по артикулу раскрашивать строки. Тут все стандартно.

Теперь откуда-то возникли контрагенты.

Запрос почему-то вместо получения номенклатур и их цветов получает х.з что.
Зачем-то делается отбор по цвету. Зачем ?
59 Kassern
 
02.06.22
11:36
(56) так ты же писал, что у тебя запрос меньше секунды отрабатывает, а сейчас пишешь, что у тебя ошибка, это как так?
60 dvrk
 
02.06.22
11:37
(59) в консоли он отрабатывает и так
61 dvrk
 
02.06.22
11:40
(58) запрос получает номенклатуру, которую в ТЧ нужно раскрашивать.
62 dvrk
 
02.06.22
11:43
если я где-то что-то про контрагентов писал, то это флешбеки въетнамские
63 dvrk
 
02.06.22
11:46
а, я вижу я много где контрагенты писали, это ошибка, мне нужна только номенклатура
64 dvrk
 
02.06.22
11:48
я просто не понимаю почему я не могу обойти результат запроса своего
65 Kassern
 
02.06.22
11:49
(64) скинь весь кусок, начиная от Запрос=Новый Запрос до Выборка=Запрос.Выполнить().Выбрать()
66 dvrk
 
02.06.22
11:51
(65) блин только удалил, сейчас напишу
67 dvrk
 
02.06.22
11:53
(65) только без передачи значения в параметр                        Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                   |    ЗначенияСвойствОбъектов.Объект КАК ОбъектСсылка
                   |ИЗ
                   |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                   |ГДЕ
                   |    ЗначенияСвойствОбъектов.Свойство.Код = ""#0001""
                   |    И ЗначенияСвойствОбъектов.Значение.Наименование = ""ВесеннеЗелный""";
                
                                         Выборка = ЗАпрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    
КонецЦикла;
68 dvrk
 
02.06.22
11:53
Выборка.ОбъектСсылка
ОбъектСсылка    Ошибка чтения значения
69 Kassern
 
02.06.22
11:54
(67) Ну так в цикл попадает?
70 dvrk
 
02.06.22
11:56
(69) ну нет с Пока Выборка сразу на конецпроцедуры прыгает
71 dvrk
 
02.06.22
11:57
(69) я добавляю номенклатуру, которая в результате запроса 100% есть
72 Kassern
 
02.06.22
11:58
(70) ну так получается что никакой ошибки нет и запрос нормально отрабатывает, а вы просто пытаетесь через отладку получить значение пустой выборки?))
73 Kassern
 
02.06.22
11:59
сделайте нормально через параметры и верно их укажите (учитывая тип данных) и будет вам счастье
74 dvrk
 
02.06.22
11:59
(72) не понял.
75 dvrk
 
02.06.22
12:00
(73) а что сейчас у меня неверно выполняется? я в документе выбираю номенклатуру, которая этим запросом получается
76 Kassern
 
02.06.22
12:01
(75) вы не верно указываете параметры для отбора вот и все дела. Чудес не бывает
77 Kassern
 
02.06.22
12:01
(75) не верно, это когда ошибка при выполнении кода, у вас ошибки нет, просто пустая выборка по вашим условиям. Все верно 1ска отрабатывает
78 dvrk
 
02.06.22
12:02
(76) параметры для отбора это
|    ЗначенияСвойствОбъектов.Свойство.Код = ""#0001""
                   |    И ЗначенияСвойствОбъектов.Значение.Наименование = ""ВесеннеЗелный"""; ????
79 Kassern
 
02.06.22
12:02
(78) именно
80 dvrk
 
02.06.22
12:02
(77) почему консоль тогда всё нормально по этим же условиям находит
81 Kassern
 
02.06.22
12:03
сделайте через параметры и пропишите их верно в УстановитьПараметр()
82 dvrk
 
02.06.22
12:03
(81) сейчас сделаю.
83 Kassern
 
02.06.22
12:04
(80) значит вы где-то косячнули
84 dvrk
 
02.06.22
12:08
(83) ёпрст теперь ещё запутался что откуда брать
85 Kassern
 
02.06.22
12:09
что именно? Откуда свойство тянуть? Из плановВидовХарактеристик или как-то так
86 Kassern
 
02.06.22
12:09
Откуда значение тянуть, так уж сами смотрите какого типа его завели
87 dvrk
 
02.06.22
12:12
(85) аааа, так я конч
я в рабочей базе свойства завёл а делаю это всё в тестовой где ничего не сделал
88 Kassern
 
02.06.22
12:14
как я и писал, чудес не бывает...
89 Ryzeman
 
02.06.22
12:16
(88) хватает же у тебя терпения...
90 dvrk
 
02.06.22
12:18
(88) сейчас попробую
91 dvrk
 
02.06.22
12:19
(88) так вот сделал
           Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                   |    ЗначенияСвойствОбъектов.Объект КАК ОбъектСсылка
                   |ИЗ
                   |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                   |ГДЕ
                   |    ЗначенияСвойствОбъектов.Свойство.Код = ""#0001""
                   |    И ЗначенияСвойствОбъектов.Значение.Наименование = ""ВесеннеЗелный""";
                
                                         Выборка = ЗАпрос.Выполнить().Выбрать();
                                         Пока Выборка.Следующий() Цикл
                                        Если Выборка.ОбъектСсылка = ДанныеСтроки.Номенклатура Тогда     
      ОформлениеСтроки.Ячейки.Номенклатура.ЦветФона = WebЦвета.ВесеннеЗеленый;
  иначе
      КонецЕсли;
92 dvrk
 
02.06.22
12:20
(88) нормально или что-то не учёл и у меня всё сломается??
93 Kassern
 
02.06.22
12:20
(91) коряво сделал...
94 dvrk
 
02.06.22
12:22
(93) почему.
95 Kassern
 
02.06.22
12:22
1) Установи уже параметры, убери обращение через точку в запросе
2) Укажи в запросе условие с номенклатурой, зачем ты каждый раз пробегаешь все записи из регистра в цикле?
В итоге у тебя получится следующее: передаешь в запрос номенклатуру, если выборка следующий() тогда красишь строчку нужным цветом.
96 Kassern
 
02.06.22
12:23
либо передаешь массив номенклатуры, и уже красишь весь массив, если это событие при получении данных
97 Kassern
 
02.06.22
12:23
(94) понял теперь почему?
98 dvrk
 
02.06.22
12:24
(95)
1)это ок, это я понял - сделаю
2)не понял.
99 dvrk
 
02.06.22
12:24
(97) какое условие указать? я ж в запросе получаю ВСЮ номенклатуру, которую красить надо если в доке она есть
100 Kassern
 
02.06.22
12:25
(98) (99) ты же делаешь в событии ПриПолученииСтроки. У тебя это событие отрабатывает для КАЖДОЙ строки. Так зачем ты каждый раз пробегаешь в цикле по всем свойствам и сравниваешь с текущей строкой?
101 Kassern
 
02.06.22
12:26
Укажи явно в запросе какая номенклатура тебе нужна
102 dvrk
 
02.06.22
12:28
(100) не, там делаю ТоварыПриВыводеСтроки
остальная раскраска(не моя) там же происходит, поэтому я решил там же делать..
103 Kassern
 
02.06.22
12:29
(102) я про это и имел в виду, объясни, зачем ты в цикле пробегаешь все товары с этим цветом и сравниваешь с текущей строкой?
104 Kassern
 
02.06.22
12:31
ты с тем же успехом мог убрать цвет и отбора и в цикле написать, Если Выборка.Номенклатура=ТекСтрока.Номенклатура И Выборка.Цвет=Зеленый тогда Красить КонецЕсли. Но ты ведь использовал отбор для этого. Чем тебе номенклатура не угодила тогда?
105 dvrk
 
02.06.22
12:34
(104) хз.
106 Kassern
 
02.06.22
12:35
(105) а если логически подумать. У вас есть в событии номенклатура, вы хотите для нее получить цвет, зачем обходить все номенклатуры с этим цветом, когда можно сразу получить цвет для нее?
107 dvrk
 
02.06.22
12:38
(106) ну я понял что вы говорите, но как сделать не понял
108 yopQua
 
02.06.22
12:38
ох еп еп на 100 взлетело

что вы там мутите
добавил свойство "Красить" тип булево для номенклатуры, в элементах справочника где надо проставил, в документе или где надо ПередОткрытием получил список нужной номенклатуры, то есть
Выбрать ЗначенияСвойств.Объект Где Свойство = &Свойство И Значение = Истина(?)
ОДИН раз список получил и с ним ПриПолученииДанных сравниваешь

Для Каждого ОФормлениеСтроки Тратата Цикл
Если МассивНоменклатуры.Найти(ОформлениеСтроки.Данные.Номенклатура) <> Неопределено Тогда
ОформлениеСтроки.Ячейки или что там .Цвет = Цвет;
КонецЕсли;
КонецЦикла;

писать запрос в ПриПолученииДанных - полная лажа
109 Kassern
 
02.06.22
12:39
(107) вы не поняли как в запросе отобрать по номенклатуре?
110 dvrk
 
02.06.22
12:40
(109) мне в запрос нужно передать но енклатуру из события?
111 Kassern
 
02.06.22
12:41
(110) Вот же вы сравниваете в цикле "Если Выборка.ОбъектСсылка = ДанныеСтроки.Номенклатура Тогда", Укажите сразу в запросе, что вам нужна эта номенклатура
112 yopQua
 
02.06.22
12:43
все не читал, но это
>>ты с тем же успехом мог убрать цвет и отбора и в цикле написать, Если Выборка.Номенклатура=ТекСтрока.Номенклатура И Выборка.Цвет=Зеленый тогда Красить КонецЕсли. Но ты ведь использовал отбор для этого. Чем тебе номенклатура не угодила тогда?
наводит на мысли, что у вас там уже запрос в приполученииданных в цикле и еще вложенный цикл обхода этого запроса, при том что крутить так же циклом оформлениястрок еще никто не отменял
113 dvrk
 
02.06.22
12:44
(111) не понял, я же запросом и так получил всю нужную мне номенклатуру и теперь если она в документ попадает - то крашу
114 Kassern
 
02.06.22
12:45
(113) тяжелый случай...
115 Kassern
 
02.06.22
12:45
(113) зачем вам в запросе ВСЯ нужная номенклатура, когда в коде вы потом только ОДНУ обрабатываете?
116 dvrk
 
02.06.22
12:45
(114) да.
117 dvrk
 
02.06.22
12:46
(115) в смысле ОДНУ, а если в ТЧ будет 15 позиций которые нужны раскрасить разные
118 Kassern
 
02.06.22
12:46
Допустим у вас в документе 10 строчек с номенклатурой. так вот ваше событие отработает ДЕСЯТЬ раз, для каждой строчки.
119 Kassern
 
02.06.22
12:47
(117) вы до сих пор не поняли, что это событие вызывается для КАЖДОЙ строки?
120 Kassern
 
02.06.22
12:47
В итоге у вас получается: для 10 строк вы 10 раз вызвали это событие, и в каждом 100раз цикл програли на сравнение текущей строки. Один вопрос накуа?
121 dvrk
 
02.06.22
12:47
(119) я понял, но как сделать что вы мне говорите - не понял, вот.
122 Kassern
 
02.06.22
12:49
"в место тысячи слов" - установите уже отбор по номенклатуре и попробуйте, как я вам в (95) написал
123 Kassern
 
02.06.22
12:49
(121) как вы цвет в запросе указали?
124 Kassern
 
02.06.22
12:50
ГДЕ ВашаТаблица.Объект=&Номенклатура

Запрос.УстановитьПараметр("Номенклатура",ВашаСтрока.Номенклатура)
125 Kassern
 
02.06.22
12:50
Вы же уже знаете как пользоваться условиями в запросе, в чем сложность я не понимаю?
126 dvrk
 
02.06.22
12:51
(122) я же говорю, я не понимаю какой отбор установить по номенклатуре и зачем отбор, если там и так вся нужная... ну туплю/не знаю/даун - не важно, результат - не понимаю (123)
(124) зачем? я правда не понимаю
127 yopQua
 
02.06.22
12:52
(124) зачем вы детей плохому учите? не надо в цикле запрос делать, а-та-та
128 Kassern
 
02.06.22
12:52
(126) попробуйте.
А дальше без всякого цикла:
Если Выборка.Следующий() тогда
ПокраситьСтроку
КонецЕсли
129 Kassern
 
02.06.22
12:53
(127) ну что поделать, если он решил при выводе строки пихать свою расскраску
130 yopQua
 
02.06.22
12:53
ну хоть при выводе хоть при получении данных запрос не стоит использовать
131 Kassern
 
02.06.22
12:54
тут банально не могу достучаться, чтобы ТС понял, что не надо обходить всю выборку, когда нужно получить данные по конкретной номенклатуре
132 Kassern
 
02.06.22
12:54
(130) а что делать, если вся аналитика для покраски находится в связанных таблицах?)
133 yopQua
 
02.06.22
12:55
я грю список разукрашки надо получить один раз и хранить в массиве, списке, тз где угодно, а при полученииданных смотреть на вхождение номенклатуры текущей строки в этот массив и красить
134 Ryzeman
 
02.06.22
12:56
(127) >не надо в цикле запрос делать

сейчас придут семёрочники и будут драться клюшками)
135 yopQua
 
02.06.22
12:57
(134) у них дата из строки 25.05.2022 платформой формируется, как сегодня выяснилось, так что они сегодня в тренде и им можно))
136 yopQua
 
02.06.22
12:57
но только сегодня
137 Kassern
 
02.06.22
12:58
Попробую так для ТС объяснить. Вот дали например задание получить остаток по номенклатуре. По аналогии ваш код выглядел так:

Выбрать
ТаблицаОстатков.Номенклатура,
ТаблицаОстатков.Остаток
ИЗ ТаблицаОстатков.остатки КАК ТаблицаОстатков
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Номенлкатура=НужнаяНомеклатура Тогда
    Сообщить(Остаток такой то);
КонецЕсли
КонецЦикла;
138 Мультук
 
гуру
02.06.22
12:58
(133)

Автор не понимает о чем ты и как (зачем) это сделать.
Пусть сначала сделает как-нибудь.
У него как-нибудь уже 4-й час не выходит.
139 dvrk
 
02.06.22
13:00
(132) короче. объясню: я не знал что так в запрос можно передавать номенклатуру с ТЧ и в запросе он будет искать
140 Kassern
 
02.06.22
13:00
А я же говорю, что оптимальнее так:
Выбрать
ТаблицаОстатков.Номенклатура,
ТаблицаОстатков.Остаток
ИЗ ТаблицаОстатков.остатки КАК ТаблицаОстатков
ГДЕ ТаблицаОстатков.Номенклатура=&НужнаяНоменклатура
Запрос.УстановитьПараметр("НужнаяНоменклатура",НужнаяНоменклатура);
Выборка=Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Цикл
    Сообщить(Остаток такой то);
КонецЕсли;
141 dvrk
 
02.06.22
13:00
(137)   Запрос.УстановитьПараметр("Номенклатура", ДанныеСтроки.Номенклатура);
                                         Выборка = ЗАпрос.Выполнить().Выбрать();
                                         Пока Выборка.Следующий() Цикл
                                            
      ОформлениеСтроки.Ячейки.Номенклатура.ЦветФона = WebЦвета.ВесеннеЗеленый;

      
КонецЦикла;
142 dvrk
 
02.06.22
13:01
(140) да, я понял, я не знал что в запрос можно просто передать номенклатуру из текущей строки
143 Kassern
 
02.06.22
13:01
(142) но вы ведь как-то свойство и цвет передавали))
144 Kassern
 
02.06.22
13:01
(142) Уберите цикл, он тут не нужен
145 dvrk
 
02.06.22
13:02
(143) ну вот я думал что свойство и цвет я не передаю а в запросе просто отбираю.
146 yopQua
 
02.06.22
13:04
ох еп еп
(144) открывайте центр по обучению на базе известного форума
147 dvrk
 
02.06.22
13:05
(144) спасибо огромное большое, вроде всё работает как хотел, извиняюсь за себя.
148 Ryzeman
 
02.06.22
13:06
(147) >>извиняюсь за себя

До слёз)
149 dvrk
 
02.06.22
13:07
(148) ну мне стыдно, чо поделать
150 dvrk
 
02.06.22
13:10
(144) если список поменяется, то я поменяю просто номенклатуру, у которой это свойство и значение или как то лучше можно сделать?
151 Kassern
 
02.06.22
13:12
(150) как лучше сделать поймете через годик другой, сейчас, чтобы хотя бы работало)
152 dvrk
 
02.06.22
13:17
(151) ладно... спасибо большое, пойду на рабочей пробовать
153 dvrk
 
02.06.22
13:33
в рабочей запрос не получает номенклатуру хотя сделал тоже самое.
154 dvrk
 
02.06.22
13:33
)
155 Kassern
 
02.06.22
13:34
значит данными не заполнили как в копии
156 Kassern
 
02.06.22
13:34
либо коды другие
157 dvrk
 
02.06.22
13:34
Зелный написал вместо Зеленый.
158 dvrk
 
02.06.22
14:03
(156) какой материал мне изучить? курсы/книги
159 Kassern
 
02.06.22
14:24
(158) я в свое время во франче обучался, был видеокурс и 9 контрольных задач, если мне не изменяет память. А так же талмут здоровый был по 1с. А все остальное уже на практике осваивал, либо читал различные статьи. Тут главное пытливый ум. Вот вы пишите, что незнали, что можно указывать параметры в запросе. Я бы на вашем месте начал бы уже гуглить про запросы, скд, базы данных, как 1с взаимодействует с БД, какие соединения бывают таблиц в запросе. Уже бы все это дело обкатывал на тестовой базе с минимум данных, чтобы наглядно увидеть, как это работает.
160 Kassern
 
02.06.22
14:26
по запросам можете у хрусталевой книжки почитать.
161 dvrk
 
02.06.22
14:30
(159) я гуглил запросы, но как я мог нагуглить что-то типа "в параметр запроса можно передать номенклатуру из текущей строки...." ?
162 Kassern
 
02.06.22
14:34
(161) запрос это всего лишь инструмент для работы с базой данных. У вас 100500 различных табличек в БД. Если у вас SQL версия, то можете зайти и наглядно увидеть это. Вы можете запрашивать практически любые данные из таблиц БД
163 Kassern
 
02.06.22
14:36
Когда вы делаете Справочники.Номенклатура.НайтиПоКоду("12345");
Это равносильно:
Выбать
Номенклатура.Ссылка
Из Справочник.Номенклатура КАК Номенклатура
Где Номенклатура.Код="12345"

Для БД особой разницы нет, платформа ваше НайтиПоКоду просто превратит в запрос к БД
164 Ryzeman
 
02.06.22
14:37
(161) тут надо больше к основам. Коллекции, элементы формы, как пользоваться синтакс-помощником, отладкой.
Если в принципе есть понимание что такое запрос, как его правильно составить и параметризировать, дальше должна возникнуть мысль - откуда брать параметры. Для этого надо подумать что и где есть в рамках твоей процедуры - табличная часть. Посмотреть ей свойства, что там есть, что оно возвращает и что оттуда можно вытащить. Всё это уже есть в самой 1с.
165 dvrk
 
02.06.22
14:37
(163) а зачем ме тогда делать свойство = &Свойство если разницы нет
166 Kassern
 
02.06.22
14:53
(165) А это уже мы приходим к принципам программирования. В общем случае не рекомендуется через точку писать, я выше уже написал почему (ваше 7сек и меньше 1сек). Но это не главное, завтра вам нужно будет 3мя цветами окрашивать строки. Номенклатура1 будет зеленым, номенклатура2 синими, а номенклатура3 красным. Что делать будете? Переписывать запрос? Если же у вас цвет был параметром в запросе, вы бы просто передавали нужный параметр:
Процедура ВашеСобытиеСтроки (ДанныеСтроки,ОформлениеСтроки)

ЦветСтроки=ПолучитьЦветСтрокиТЧ(ДанныеСтроки.Номенклатура)
Если ЗначениеЗаполнено(ЦветСтроки) Тогда
    КрасимСтрочку
КонецЕсли;


КонецПроцедуры

Функция ПолучитьЦветСтрокиТЧ(Номенклатура)
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
                   |    ЗначенияСвойствОбъектов.Объект КАК ОбъектСсылка
                   |ИЗ
                   |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                   |ГДЕ
                   |    ЗначенияСвойствОбъектов.Свойство =  &Свойство
                   |  И ЗначенияСвойствОбъектов.Объект =  &Номенклатура";
    Запрос.УстановитьПараметр("Свойство",ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ЦветСтроки"));
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    Выборка=Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Результат=Выборка.Значение;
    Иначе
        Результат="";
    КонецЕсли;
    Возврат Результат;
КонецФункции
167 yopQua
 
02.06.22
15:00
(166) и все равно буду настаивать, что вызывать это получение цветов для каждой отображаемой строки - лажа, большая нагрузка. если еще чего нибудь добавить, то вот уже и визуально тормоза стали видны
168 Kassern
 
02.06.22
15:06
(167) Я для 10ой ут использовал метод получения данных. Он всего 1 раз отрабатывал, а не для каждой строчки при обновлении. А там уже красил. В 11УТ все условным оформлением решается. Я просто хз, хватит ли у ТС компетенции переписать раскраску на это событие)
169 Kassern
 
02.06.22
15:08
(167) то что я написал выше, это всего лишь пример зачем использовать параметры в запросе, а не гвоздить коды через точку в нем.
170 yopQua
 
02.06.22
15:10
(168) какой метод, как выше при выводе строки? он же постоянно работает при скролле/редактировании и т д
171 yopQua
 
02.06.22
15:12
(169) я понимаю, но такой код меня пугает, потом начинаются зависания клиента/сервера/субд и всего на свете, вылавливай потом
172 Kassern
 
02.06.22
15:13
(170) емнип в 10ке всего 2 события для для обновления строк, один при выводе каждой строчки отрабатывает, другой один раз для всех строчек.И это не список со 100500 строками, а скорее всего документ с условными 5-10 строчками.
173 Kassern
 
02.06.22
15:13
в общем надо с умом подходить к этому вопросу, тогда ничего страшного в этом нет
174 Kassern
 
02.06.22
15:14
(171) Как вы предлагаете красить строчка в ТЧ документа на ОФ?
175 Kassern
 
02.06.22
15:14
*строчки
176 yopQua
 
02.06.22
15:16
я наверно чего то не понимаю - 10ка ут или унф 100500, это на уровне платформы происходит, нет?
(174) -- (108)
177 Kassern
 
02.06.22
15:17
(176) 10ка на ОФ, там нет условного оформления, вот и приходится в событиях ТЧ строки красить
178 Kassern
 
02.06.22
15:18
(176) вот вы предлагаете получить цвета один раз при открытии документа, а если данные о цвете меняются регламентом каждую минуту, где гарантия, что будет верный цвет у строк?
179 Kassern
 
02.06.22
15:19
а при условии, что строк мало и выполняется запрос за доли секунды, а неактуальность цвета может принести конторе серьезные убытки, то это вообще преступное решение))
180 Kassern
 
02.06.22
15:19
в общем все от контекста зависит
181 Fish
 
02.06.22
15:23
(179) " а неактуальность цвета может принести конторе серьезные убытки" - А если ещё и сотрудник окажется дальтоником :))
182 yopQua
 
02.06.22
15:24
(177) об этом и говорю - массив при открытии получил, при получении данных смотришь на наличие номенклатуры каждой строки в массиве и красишь
(178) это чепуха, слишком тонкие тонкости для автоматизации. изначально пользователь определяет какие цвета у чего должны быть. ну и так то открыл документ - одни синие, другие зеленые, потом смотришь синие стали желтыми, а зеленые пепельно серыми)) потом оп опять назад вернулось, сидишь наслаждаешься и понимаешь - новый год уже близко ))
183 Kassern
 
02.06.22
15:29
(182) "изначально пользователь определяет какие цвета у чего должны быть" - да нифига, зная ТС и его флешбеки, у него по любому завязано на продажах клиенту цветовая схема. А не так, вот это ОС - оно такого цвета, а это топливо - оно такого цвета)
184 Kassern
 
02.06.22
15:29
я более чем уверен, что на цвет влияет не сам товар, а его движения в конторе, возможно в разрезе контрагентов
185 Kassern
 
02.06.22
15:30
а эти данные могут быть и очень важные для отгрузки, иначе бы ТС не дали задание раскрасить строки в ТЧ.
186 Kassern
 
02.06.22
15:31
Другое дело, если бы это был сложный запрос, обращающийся к 100500 таблицам, тогда вообще вопросов нет, а тут одна таблица с отбором
187 yopQua
 
02.06.22
15:33
да, контекст решает, но сложно придумать критическую необходимость "на лету" цвета хватать, сделать то можно, но млааа, проще послать и совесть чиста будет
и потом цвет "зеленый", это как потом писать
если "зеленый" тогда новый цвет(0, 255, 0) или как там это делается, тоже чепуха же. тогда надо лепить в список свойств окно выбора цвета с палитрой и все как мы любим, что б там цвет хранился. да шня шня извините
(183) вот, логика говорит. откуда у него цвета? предположения что разные группы номенклатуры, что продукция или полуфабрикат, что купленный или нет или еще мало ли чего, но сам цвэт задает пользователь
188 yopQua
 
02.06.22
15:33
(186) он где то сказал, что там уже есть разукраска, он к ней добавил
189 yopQua
 
02.06.22
15:34
(184) тогда цвет на контрагента ставить надо)
190 Kassern
 
02.06.22
15:35
(189) а если часть товар он выкупает хорошо, а часть плохо?))
191 Kassern
 
02.06.22
15:35
*товара
192 yopQua
 
02.06.22
15:36
+ не только сложность запроса дает нагрузку, но и количество данных в таблице. у нас значениясвойств за много лет представляют из себя огромное чудовище, в принципе работает сносно, но это с учетом, что половину вынесли в другие копии этого регистра
193 Kassern
 
02.06.22
15:37
в общем тут бесполезно гадать, контекст только в конторе известен. Это как с остатком доступным в списке номенклатуры - с одной стороны можно прикрутить множество таблиц, вычислить его и вывести. А можно в отдельной табличке хранить посчитанный остаток, товары в пути и прочее. И уже простым соединением выводить без тормозов, но теряя оперативность данных.
194 yopQua
 
02.06.22
15:38
(190) а как тут поможет установка цвета на позицию? надо посчитать сначала хорошо в этом месяце или плохо, а потом цвет назначать) то есть обратная песня. если и так, то у него расчет хорошего и плохого в тч, потом цвета
195 yopQua
 
02.06.22
15:39
(193) все ты вы помните ;)
196 Kassern
 
02.06.22
15:39
(194) у него хороший и плохой может в рег задании расчитать и записать в свойства, а при выводе строки уже отображать посчитанный результат
197 yopQua
 
02.06.22
15:40
(196) не может у него быть, он свойства только в этой ветке назначил
198 Kassern
 
02.06.22
15:41
(197) ))
199 Kassern
 
02.06.22
15:42
у него до этого была тема с раскраской и контрагентами
200 Kassern
 
02.06.22
15:42
просто сейчас на свойства перешел
201 yopQua
 
02.06.22
15:45
ладно, фантазировать можно много, но цветовая оперативность - если и делать, то только для набора скилла, реальный выхлоп как правило стремиться к нулю
202 Kassern
 
02.06.22
15:47
(201) я в свое время тоже на УТ10 делал раскраску, там был лишь 1 цвет, для товаров определенного качества. Но опять же, вы говорите делать это 1 раз при открытии, а как быть, когда Строки будут добавлять/редактировать/заполнять из внешних источников?
203 Kassern
 
02.06.22
15:48
если производительность позволяет, то можно и динамически красить, главное с умом подойти к вопросу)
204 yopQua
 
02.06.22
15:51
или дискотечку под цветомузыку из документ устроить. цветовой диджей свойства расставляет, бармен строчки в документ добавляет, тусня..
(202) не понял вопроса, какая разница откуда в документе строчки появились
205 Kassern
 
02.06.22
15:54
(204) у одного клиента более 1ляма позиций номенклатуры, а теперь представьте, что нужно будет при открытии документа по всем получить цвета)) Чтобы просто посмотреть документ, в котором 2строчки в ТЧ) Вы ведь это предлагаете?
206 yopQua
 
02.06.22
15:54
а, типа на момент открытия дока в регистре нет номенклатуры, которая потом через загрузку создастся? создается тоже с цветами?
дать кнопку обновления, подключить обработчик ожидания или еще полдесятка вариантов. но при выводе строки ни ни!
207 Kassern
 
02.06.22
15:55
Я же предлагаю, динамически для 2 строчек получить нужный цвет. Говорю же все от контекста зависит)
208 yopQua
 
02.06.22
15:57
(205) ну устанут они руками расставлять цвета для 1ляма позиций, он ведь руками ставил свойства. пусть при добавлении строки делать запрос со связкой к тч, пусть по кнопке, пусть еще как, но не в выводестроки/полученииданных
209 yopQua
 
02.06.22
15:58
(207) ни ни) будет тормозить, слишком часто запрос будет делаеться
210 yopQua
 
02.06.22
15:59
я не о фильтрах, а о получении признака цвета в таких процедурах, как выше обозначены
211 Kassern
 
02.06.22
16:00
(209) для 2 строк запрос сделается всего 1 раз, там ничего скролить не получится и выполнится он практически мгновенно
212 Kassern
 
02.06.22
16:01
он может еще раз выполнится, если строки будут редактироваться. Например поменяют одну номенклатуру на другую. И это правильно
213 Kassern
 
02.06.22
16:02
а вот получить раскраску для ляма позиций, а потом ее еще хранить в временной таблице, потом к ней обращаться и искать нужную для 2 строк ТЧ не самый оптимальный способ.
214 yopQua
 
02.06.22
16:06
а о получении признака цвета запросом в таких процедурах, как выше обозначены
(211) нет, ну можно сделать, что бы оно и совсем не вызывалось - не добавлять строк и все)
ладно, спасибо за дисскус, надо бы и поработать
пс. лям позиций даже во "Все по тридцать" не наберется, а сотня/две вполне может быть, даже пусть тысяча/две - ну съест пару метров памяти
215 Kassern
 
02.06.22
16:08
(214) простой пример - сэкондхенд, где шмотки покупаются тоннами, каждая имеет свой уникальный артикул/штрихкод. За 5лет работы легко может быть больше ляма номенклатуры. На сайте только активных позиций более 300тысяч
216 Kassern
 
02.06.22
16:09
и каждую ручками заводили, взвешивали и описывали)
217 dvrk
 
02.06.22
16:36
(197) у меня свойства с цветом и так были, только это свойство разукрашивает в подборе, а не в документе, но мне и таким же цветом надо в документ, поэтому использовал его
218 yopQua
 
03.06.22
13:36
(216) да, если "серийная" тема, то конечно же они после продажи и цвет сняли и номекналтуру бы как ссылку в идеале из базы выкинуть. а для 1с так вобще при такой работе лучше юзать не ссылку справочника, а просто некий код. а то так то надо рег. задание, которое создает новую бд, переносит в нее остатки и самоуничтожается с периодичностью раз в полгода где то, небольше
219 Ryzeman
 
03.06.22
13:46
(218) Я бы сделал что-то аналогичное PLU. Характеристики бы коду привязывал к регистру сведений, уже который в свою очередь с нужной периодичностью можно чистить. Главное нумерацию нигде не пролялякать)
220 Kassern
 
03.06.22
13:47
(218) "и номекналтуру бы как ссылку в идеале из базы выкинуть" - ага, а через 3 месяца их чукотки почтой России товар возвратом приходит и упс, а его уже "выкинули")) Срез базы конечно нужен, но там немного другие временные рамки, да и не такая это тривиальная задача
221 Ryzeman
 
03.06.22
13:52
(220) ну в предложенной им логики не проблема - регистрируешь новый товар)
222 yopQua
 
03.06.22
13:53
(219) ну я тоже где то так представляю
(220) это не инструкция к действию, абстрактно, к реальности отношения не имеет. Рекламация на штаны, звучит не плохо). А по факту как бы такого не произойдет, если сильно не постараться и не удалить насильно ссылку. Это я "в идеале" говорю
223 yopQua
 
03.06.22
13:56
Вы же наверно работали с маркировкой шин, сигарет и остальных гос. систем, вам и виднее, там должно быть реализовано, хотя подозреваю, что номенклатурой сделано
224 Kassern
 
03.06.22
14:04
(223) сами сущности через номенклатуру, а коды маркировок вроде через регистр
225 Kassern
 
03.06.22
14:05
(221) если как новый товар, тогда надо снова взвесить, сделать мерки, отфотографировать и т.д. это работа 3х отделов минимум и это все ради нескольких шмоток, которые пришли возвратом и имеют уже все данные.
226 Kassern
 
03.06.22
14:06
я уж молчу, когда товар "теряется" на складе, а потом через пару лет "находится"))
227 Ryzeman
 
03.06.22
14:22
(226) Тут же весь вопрос в техпроцессе и масштабах. Так например с едой и PLU. Тебе за год может приходить 2000 партий яблок, и абсолютно каждую божью партию надо взвешивать, измерять и т.п. Хотя может точно такие же привозили две недели или три. И при таком раскладе если теряется и находится товар - то он так же взвешивается и измеряется.

В случае же с Second Hand я так подозреваю никто ничем подобным не занимается и вовсе. Там есть что то типа "кофта 1 категории цена от 500 до 900". Но там я не работал и не знаю как изнутри устроено. Но сделал бы наверное так.
228 Kassern
 
03.06.22
14:24
(227) это если ты мелкооптом торгуешь, а если в розницу, то каждая шмотка должна быть с описанием, уровнем качества, несколькими фотографиями и мерками)
229 Ryzeman
 
03.06.22
14:26
(227) >>И при таком раскладе если теряется и находится товар - то он так же взвешивается и измеряется.

Хотя если честно на это часто забивали болт и тупо присовокупляли к ближайшей схожей по ТТХ партии, а то и просто к той которая плюс-минус килограмм похожая и стоит в отборе))) Как раз работел тем, кто ищет товар.
230 Kassern
 
03.06.22
14:28
(229) со шмотками немного сложней, тут каждая вещь уникальная и нет как таковой серии, или линейки товаров
231 Ryzeman
 
03.06.22
14:31
(230) ну если это реально необходимо, то наверное как с автозапчастями - миллиард номенклатур, из которых ты регулярно торгуешь хорошо если десятком тысяч а на стоках 2-3 сотни тысяч.
232 Kassern
 
03.06.22
14:35
(231) есть что-то схожее, только вот автозапчасти ты можешь восполнить (ходовые позиции), а с сэком такое не проканает, такую же шмотку ты никогда не закажешь)
233 dvrk
 
03.06.22
14:37
(232) я хочу как вы быть умным что делать надо
234 Kassern
 
03.06.22
14:41
(233) читайте книжки, решайте задачи по 1с от простых к сложным. По каждому затыку нет смысла сюда писать, нужно самому разбираться пробовать. Я в свое время мог всю ночь просидеть и экспериментировать с 1ской, чтобы задачу решить, а потом пробовал ее разными способами решать. Так же нужно уметь разбивать задачи на подзадачи. Чем больше практики и больше любопытства, тем больше будет результат.
235 yopQua
 
03.06.22
15:47
(224) вот и ответ, миллиона номенклатур нет
(233) это зачод)
он тебя в этой теме научил плохому ((
236 yopQua
 
03.06.22
15:48
это даже хуже, чем в сауну ездить. потому что без нормальной зарплаты в сауну не съездишь)
237 Kassern
 
03.06.22
15:50
(235) "вот и ответ, миллиона номенклатур нет" - с чего такой вывод? Одно дело когда один и тот же товар с одинаковыми свойствами и кучей кодов маркировок,  другое дело, когда у тебя реально больше ляма на складе уникальных вещей, каждая со своими свойствами.
238 Kassern
 
03.06.22
15:51
(235) "он тебя в этой теме научил плохому" - все задачи решаются в определенном контексте, серебряной пули тут нет. Вполне возможно ТСу вообще не надо никакие строки красить и все решается на административном уровне)
239 Kassern
 
03.06.22
15:52
в общем, если с подобными специфичными бизнес-процессами не сталкивались, это еще не значит, что их не существует))
240 yopQua
 
03.06.22
16:31
(237) хммм.. странно, но тут появилось ощущение, что вы не понимаете разницы между номенклатурой и серией или другой уникальной "сущностью"
ну например возьмем алиэкспресс, ассортимент позиций от российских производителей там порядка 3.5 млн в 2020 году https://ru.wikipedia.org/wiki/AliExpress
уникальных позиций больше в столько раз, на сколько нужно умножить количество номенклатурных позиций, то есть поштучный учет если брать. не хотите же вы сказать, что работали/работаете/работает тс в организации, у которой номенклатурный реестр больше чем у али экспресса, пусть даже только российский ассортимент? а если и работаете, то система явно не на 1С подобных продуктах. если запустить такую машину как али на 1С, то это.. то это даже не запустится.
уникальные единицы не организовываются через номенклатуру, это делают через plu/коды/идентификаторы, назвать можно как угодно. о чем вы сами и сказали в 224. что у вас за секондхэнд такой, где на каждый свитер создается новая номенклатура? такое быть может, но это косяк архитектора/внедренца. для этого же есть характеристики по цветам, размерам и фасонам, что способно при определенных условиях (как в вашем примере со штучным учетом) сократить номенклатуру и в сотни тысяч раз
241 Kassern
 
03.06.22
16:37
(240) "ля этого же есть характеристики по цветам, размерам и фасонам" - вы просто не в теме этого бизнеса)
242 Kassern
 
03.06.22
16:39
Одно дело, когда ты покупаешь с фабрики шмотки, или обувь и у тебя это СТОКОВАЯ позиция. Одна и та же модель но с разным цветом или размером. Другое дело, когда тебе пришло 8тонн мешков с шмотками. А что там внутри - вообще хз. Есть только общие критерии (зима/лето и примерное качество вещей). В одно мешке может быть книжка, сапоги, зимняя куртка и лифчик и все от разных европейских брендов
243 Kassern
 
03.06.22
16:40
и каждая такая вещь из мешка описывается и продается как самостоятельный товар
244 Kassern
 
03.06.22
16:43
за эти 8тонн у тебя не будет ни одной такой же пары ботинок пусть и другого цвета/размера за рееедким исключением (когда в фарбика старую коллекцию в с сек отдала и каким-то чудом после сортировки этот товар одной партией попал одному заказчику) в общем это как словить одинаковый гуид))
245 yopQua
 
03.06.22
16:46
(242) да пусть продается, никто не против, но создавать для нее новую номенклатуру - чушь
Книжка, мышка, сапоги - номенклатура, бренд - характеристика/свойство
что значит "такой же пары"? для этого и есть аналитики, которые сгруппируют товары и дадут им набор характеристик, который и обозначит что "такое же", а что нет
246 Kassern
 
03.06.22
16:48
весь вопрос же был когда лучше делать запрос. Я же сказал, что все зависит от контекста и привел реальный пример, когда делать это при открытии не выгодно. Для ТСа имхо вообще пофиг как делать, у него там 30позиций в цветах, что так что так у него будет работать одинаково, просто должно быть понимание, когда и что оптимальней
247 Kassern
 
03.06.22
16:48
(245) это нереально для этого бизнеса
248 Kassern
 
03.06.22
16:49
слишком разношёрстный товар, хрен ты его сгруппируешь
249 yopQua
 
03.06.22
16:51
ботинки: страна, бренд, материал верха/подошвы, размер, цвет - вся информация, которая должна быть предоставлено покупателю (или кому там), а ее, эту информацию, никто ограничивать не запрещал. обозначили для ботинок десять параметров - все, больше до свиданья
(247) почему же? вернее, что именно не реально
(248) ботинки и в африке ботинки, не надо их различать по длине стяжка по шву
а артикулы (или что там) с таможни - это другая история, а не цвета и размеры
250 yopQua
 
03.06.22
16:52
а не цвета и размеры для уникальной позиции
251 Kassern
 
03.06.22
16:54
(249) Там еще как минимум несколько градаций качества идет для каждой вещи, так как это Сэк. Так же частенько вещь вообще без лейбла, либо он оторван и не понятно куда эти ноунейм ботинки присовокуплять)
252 Kassern
 
03.06.22
16:55
так же разные свойства для детских и взрослых вещей и т.д.
253 yopQua
 
03.06.22
16:56
(246) да понятное дело пофиг
(251, 252) списки имеют свойство расширяться) а присовокуплять - это ж не проблема программы
254 Kassern
 
03.06.22
16:56
и типы товаров вообще зашкаливают, что только не пихают в сэк)) Даже один раз пришел прибор который монеты распределяет
255 yopQua
 
03.06.22
16:57
от *андона до батона))
256 yopQua
 
03.06.22
16:58
ну для андона сэк наверно неуместно.. хотя кризис же в стране и демография плохая, мошт и актуально
257 Kassern
 
03.06.22
16:58
(253) "это ж не проблема программы" - это большая административная проблема, которая вряд ли окупится. В общем геморрой) Да и потом с покупателями рулится и принимать возвраты, потому, что вещь не относится к тому "фасону" к которому ее сгруппировали и т.д.
258 yopQua
 
03.06.22
16:59
ничего негативного не имею ввиду, сели что, просто юмор
259 Kassern
 
03.06.22
16:59
(255) примерно так и получается))
260 dvrk
 
05.06.22
19:57
(259) https://ibb.co/tZcqd4v во че нашел себе)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.