Имя: Пароль:
1C
1С v8
раскрасить ТЧ документа по условию
,
0 dvrk
 
02.06.22
09:37
Привет, мне дали список номенклатурных позиций, которые должны цветом в документе выделяться
я хочу сделать через ОформлениеСтроки
а как мне лучше получить список этой номенклатуры? ну т.е. известен ей артикул, код - они уникальны
но как мне его получать вообще? запросом, где условие ном.код = 1 или ном.код = 2 или ном.код = 3 .... или ном.код = 30
? понимаю что это тупо, но чёт не пойму как ещё
помогите)
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 во че нашел себе)