Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как выделить цветом позиции в документе, по которым остаток =0

Как выделить цветом позиции в документе, по которым остаток =0
Я
   sagitt
 
29.12.21 - 10:48
Добрый день друзья, поздравляю всех с наступающим Новым Годом.

Необходимо выделить красным строки документа, если на остатках нет этой номенклатуры.
База самодельная, ни на что не похожа.

Ввел в реквизиты формы добавил колонку "Остаток", чтобы использовать для условного оформления, тип число. Но не могу понять, как ее можно заполнить остатками склада.
Конечно запрос то я создам, но в каких процедурах это надо делать не знаю.

в интернете по теме нашел
_https://zdst.net/1s-8-3-kak-dobavit-dopolnitelnuyu-vychislyaemuyu-kolonku-v-tablichnoj-chasti-upravlyaemoj-formy/
Но там заполняется табличная часть объекта, что делать не хочется, ведь это приведет к увеличению объема базы.

Подскажите, как правильно решить проблему.
   PuhUfa
 
1 - 29.12.21 - 10:51
(0) возьми любую типовую... БП, УТ, ЕРП, там в каждом документе есть примеры
   Kassern
 
2 - 29.12.21 - 10:55
(0) УФ - через условное оформление, ОФ - через событие ТЧ
   Kigo_Kigo
 
3 - 29.12.21 - 10:55
при выборе номенклатуры (или при заполнении ТЧ)запросом смотрим остаток, подставляем его, и если он ноль, раскрашиваем строку в чем трудность?
   sagitt
 
4 - 29.12.21 - 11:04
У меня УФ.
Трудность в том, как подставить.
Не пойму, как можно заполнить новую колонку.
   Kassern
 
5 - 29.12.21 - 11:06
(4) Создаете колонку с остатком, далее простое условие в Условном оформлении Остаток<0 Цвет такой-то
   vicof
 
6 - 29.12.21 - 11:06
Не в реквизиты формы, а в динамическом списке надо запрос менять.
   Kassern
 
7 - 29.12.21 - 11:09
(6) вы о чем? Какой список?) "Необходимо выделить красным строки документа"
   Kassern
 
8 - 29.12.21 - 11:09
тут речь о ТЧ документа, сколько я понял из (0)
   sagitt
 
9 - 29.12.21 - 11:10
У меня форма документа. На ней расположена табличная часть "Товары".
   Kassern
 
10 - 29.12.21 - 11:10
   Kassern
 
11 - 29.12.21 - 11:10
почитайте на досуге, может получится под новый год сделать разноцветные строчки)
   vicof
 
12 - 29.12.21 - 11:11
(7) Упс, сорян. Уже в глазах рябит то таких тем)
   vicof
 
13 - 29.12.21 - 11:11
от*
   sagitt
 
14 - 29.12.21 - 11:17
(10) Спвсибо за ссылки. Настроить условное оформление проблем не составляет но для начала надо получить остаток в какой то колонке ТЧ документа. Я уже приводил ссылку на решение аналогичной задаи, но там предполагается наличие поля остаток в реквизитах табличной части документа объекта.
Мне же хочется получить остатки динамически.
   sagitt
 
15 - 29.12.21 - 11:19
(1) Уважаемый  PuhUfa, не подскажите, в каком документе УТ можно посмотреть такой пример?
   Kassern
 
16 - 29.12.21 - 11:21
(14) если есть реквизит КодСтроки, или позиции у вас уникальные, то можете сделать программно условие, для списка таких строк
   vicof
 
17 - 29.12.21 - 11:21
(14) В (0) нормальное решение. С чего там объем базы увеличится?
   sagitt
 
18 - 29.12.21 - 11:25
(17) Если сейчас приходится хранить Xбайт на каждую строчку, то после добавления еще одного реквизита будет X+Y байт, где Y>0.
Документов очень много. база и так весит около 50 ГБ.
   sagitt
 
19 - 29.12.21 - 11:27
(14) А есть где-нибудь пример посмотреть, как реализовать такое программно условие?
   PuhUfa
 
20 - 29.12.21 - 11:27
(15) Да в том же заказе клиента или РТиУ. Посмотри как сделаны служебные колонки ТЧ
   vicof
 
21 - 29.12.21 - 11:27
(18) У тебя реквизит формы добавляется. Который заполняется программно.
   Kassern
 
22 - 29.12.21 - 11:27
(18) Гляньте на колонку артикул в типовой базе, по факту это всего лишь реквизит ТЧ, который заполняется из номенклатуры
   vicof
 
23 - 29.12.21 - 11:27
+(21) А не реквизит объекта.
   Kassern
 
24 - 29.12.21 - 11:28
Вам никто не говорит добавлять реквизит Остаток в ТЧ объекта
   МимохожийОднако
 
25 - 29.12.21 - 11:29
(18) не забудь потом сделать замер при открытии формы документа до и после динамического получения остатков. Возможно, при большой базе лучше добавить немного реквизитов, чем иметь тормоза.
   sagitt
 
26 - 29.12.21 - 11:30
Я описывал пример, который нашел. Возможно там опечатка.
   Kassern
 
27 - 29.12.21 - 11:30
(25) оставьте это для следующей темы ТС)
   Kigo_Kigo
 
28 - 29.12.21 - 11:30
(18) (19) Ты же будешь выделыть в ТЧ документа а не в динамическом списке списка документов, причем тут ТЧ документа и сам документ, тем более список этих документов
   МимохожийОднако
 
29 - 29.12.21 - 11:31
По большому счёту остаток нужен только при подборе товара в табличную часть документа. А после проведения получать остатки-нелогичное излишество.
   sagitt
 
30 - 29.12.21 - 11:36
(22) Артикул однозначно связан с номенклатурой, поэтому легко получается как Объект.Товары.Артикул
Мнеже необходимо получить данные по запросу.

(29) Я с вами согласен в целом, но у клиента существует своя точка зрения. А она как известно не нобязана быть логичной. Он просто так хочет.
А я должен сделать чтобы так было.
 
 
   Kassern
 
31 - 29.12.21 - 11:38
(30) ну так получайте и заполняйте этот реквизит формы каждый раз при изменении номенклатуры/строк
   Kassern
 
32 - 29.12.21 - 11:40
это плата за то, что вы не храните инфу в базе (приходится каждый раз открывая документ, считывать остатки). А потом получите интересное событие. Вас спросят, а какого художника товар товар светится красным, а мы его продали?)) А дело в том, что кто-то задним числом отредактировал отгрузку/списание/приход товара, а у вас нет информации, какой отображался остаток на момент проведения документа, вы лишь сможете отобразить, какой он на дату документа.
   vicof
 
33 - 29.12.21 - 11:44
(32) Можно подойти после этого к пользователю, взять за шкирку и тыкать носом в листочек с его техзаданием)
   Kassern
 
34 - 29.12.21 - 11:46
(33) а они будут с выпученными глазами говорить, мол вы же тут специалист, почему не сказали, что так может быть!
   vicof
 
35 - 29.12.21 - 11:51
(34) И после этого можно гнуть свою линию. Т.е. они признают, что ты специалист, и как ты сказал, так и будет.
   МимохожийОднако
 
36 - 29.12.21 - 11:53
(30) Подобный подход к задаче мне понятен. Я через него прошёл в своё время. Клиент прав, если платит. Советую изложить свои возражения на бумаге и завизировать у заказчика, чтобы потом при очередных непонятках сунуть ему в нос и взять еще раз денежку за отключение этой функциональности.
   Kassern
 
37 - 29.12.21 - 12:00
(35) другая логика у них, если ты специалист, то должен был предусмотреть и предупредить, а если не специалист, то за что тебе платили бабки?)
   sagitt
 
38 - 29.12.21 - 12:10
(31)Как его заполнить?
Чтобы заполнить нужо перебрать строки списка.
    для каждого с из Объект.Товары цикл

не пройдет: перебирается именно табличная часть документа, данных по новой колонке там нет.

У элементы.Товары (ТаблицаФормы, соотв тч товары) есть только Текущаястрока и ТекущиеДанные

Но я понимаю, если в 1С сделали возможность ввести колонку , значит должна быть возможность ее заполнить.
Подскажите, как.
   Kigo_Kigo
 
39 - 29.12.21 - 12:13
   МимохожийОднако
 
40 - 29.12.21 - 12:14
(38) выполняй операции НаСервере или в модуле документа.
   sagitt
 
41 - 29.12.21 - 12:16
(40) Так что нужно выполнить, чтобы в каждой строке прописать Остаток=1?
   vicof
 
42 - 29.12.21 - 12:18
   МимохожийОднако
 
43 - 29.12.21 - 12:19
(41) Надо написать несколько процедур в разных модулях.
   vicof
 
44 - 29.12.21 - 12:21
(37) Тут уже от личных качеств зависит, как себя поставишь)
   sagitt
 
45 - 29.12.21 - 12:32
(42) Спасибо. Все получилось.
   sagitt
 
46 - 29.12.21 - 12:39
(44)Причем и Специалиста и Клиента.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.