Выделение нескольких строк в табличной части документа #337541


#0 by katya2
Документ Перемещение ТМЦ, при отсутствии на складе нужного количества товара выводится соответствующий комментарий, документ не проводится. Если табличная часть большая, а наименование товара длинное и несколько наименований отличаются только последними индексами, то получается неудобно смотреть в комментарий, а потом искать нужный товар в табличной части документа. Пользователь попросил меня каким-то образом выделять в табличной части документа позиции номенклатуры, которых не хватает на складе. Покопавшися в свойствах, я не нашла такой возможности. Единственное, до чего я додумалась - создать новый реквизит табличной части и в него выводить какой-то знак в строчках нужной номенклатуры. Но и это реализовать у меня пока не получилось. Подскажите, как лучше решать эту задачу, или ссылку, где она уже решалась.
#1 by ТелепатБот
#2 by Garkin
"создать новый реквизит табличной части и в него выводить какой-то знак в строчках нужной номенклатуры" Достойный внимания вариант. Почему не получилось?
#3 by Фокусник
если помечать нужно с возможностью сохранения пометки - то новый реквизит, например число 0 - не помечено, 1 - помечено. Причем визуально лучше текст добавить - плюсики. Устанавливать его в процедуре ПриНачалеРедактирования - определять форма.текущаяколонка, если нужная колонка, то реквизит = 1 или 0. В отображаемом тексте ?(реквизит = 1, "+", ""). Если чего не понятно - пригласите программиста (:
#4 by katya2
Не знаю, как записать значение в строку табличной части открытого документа. Почитала форум и поняла, что это делается при записи документа (правда, как делается - не поняла). То есть нужно лезть и редактировать типовые процедуры типа Записать. И подумала, что это как-то криво, не красиво... Неужели, эта проблема нигде не всплывала?
#5 by katya2
Помечать нужно просто, чтоб было видно в открытом документе, без сохранения пометок. Вроде понятно вы написали, попробую так сделать. Только не понятно, когда табличная часть обновится, чтоб плюсики видно стало. Программиста приглашать не нужно :) Я учусь на базе (копии домашней) магазина моего отца. У них программиста нет, но и запросы маленькие.
#6 by laeg
Без изменения конфигурации ни как
#7 by у лю 427
самое простое, без сильного вмешательства на форму дока под табл частью кладем текст, в него пишем формулу ВЫВОДНАИМЕНОВАНИЯ а форму дока добавляем функцию Функция ВЫВОДНАИМЕНОВАНИЯ если пустоеЗначение(LineNum) = 1 тогда возврат ""; конецесли; если пустоеЗначение(Товар) = 1 тогда возврат "Товар в строке не выбран"; конецесли; если пустоеЗначение(Товар.ПолнНаименование) = 1 тогда возврат Товар.Наименование; конецФункции длина поля для вывода текста должна быть на всю ширину дока.... и будет видно полное название товара при перемещении по таб части
#8 by katya2
Процедура ПриНачалеРедактирования вызывается при попытке редактировать табличную часть. Мне нужно, чтобы строки выделялись как-то сразу после попытки проведения. Ну в крайнем случае при нажатии какой-то кнопки или галочки.
#9 by у лю 427
Добавление новой колонки (текстовой) в табличную часть нагляднее, но сложнее об этом с такими знаниями пока рано думать
#10 by katya2
А это уже реализовано в типовой. Именно так и сделано - под табличной частью строка с полным наименованием номенклатуры + артикул. Но все равно приходится бегать туда-сюда курсором по табличной части в поисках нужных товаров, которых нет на складе.
#11 by katya2
Спасибо :) Буду учиться...
#12 by у лю 427
если работа с базой ненапряжная - тогда можно сделать проще на форму в табчасть добавить кнопку Проверить в табличную часть добавить числовую колонку НЕДОСТАТОЧНО по кнопке запускается процедура, которая рассчитывает остатки товаров и заполняет колонку НЕДОСТАТОЧНО, но только для тех товаров, которых не хватает. Причем записать нужно ОСТАТОК товара на складе - чтобы юзер сразу видел строки с недостающим товаром и сразу видел, сколько можно отпустить
#13 by у лю 427
а можно кнопку проверить не добавлять, а в кнопку ОК в формулу в начало добавить вызов процы  #Записать? ПРОВЕРИТЬ Провести ....... а в процедуре - заполнять колонку, если недостача товара и если была хоть одна недостача, тогда в этой проце следует написать если ЕстьНедостача > 0 тогда СтатусВозврата; конецесли
#14 by katya2
Спасибо за идею насчет записи остатка! Как это делать - буду разбираться потихоньку. Пока вопросов больше нет. офф: Я уже сделала подобную колонку и назвала ее  "Не хватает на складе". Но все конечно не уместилось и осталось только "Не х..."
#15 by у лю 427
именно нех!!!..... но учти - это будет давать проколы при интенсивной работе с базой....
#16 by у лю 427
лень проверять.... это ж 8-ку надо запускать.... так как там в доке написано, Дмитрий Сергеевич? По полной схеме или по сокращенной....?
#17 by у лю 427
пардон - не туда влепил....
#18 by МимохожийОднако
Было бы интереснее добавить дополнительную печатную форму, в которой бы выводился список товара, которого не хватает. Там же можно показать сколько не хватает. Формировать, если вдруг не проводится документ :-)
#19 by у лю 427
для активной работы это не актуально... хотя не повредит для общего случая....
#20 by dk
колонка или наименование конечно интересно, но может достаточно будет выводить номер строки в комментариях?
#21 by DigitalDolphin
Привет Катя :) ... или Катерина :) На самом деле твоя проблема решаеться просто.. в момент проведения (процедура ОбработкаПроведения - модуль проведения) ищещь место где отслеживает недостача товара и в этом месте пишешь код для пометки строки звездочкой, плюсиком или еще чего... конкретно код написать не могу, нужна конфигурация. Кстати если изменять документ в процедуре ОбработкаПроведения, то изменения автоматически сохраняться :) Более подробно без конфы я тебе не напишу, так что удачи..
#22 by у лю 427
вообще то моветон из модуля документа писать в док - но в данном случае не очень страшно.... P.S. вряд ли она найдет - опыта маловато
#23 by katya2
Сделала! Может, кому-то пригодится. Добавила в документ ПеремещениеТМЦ дополнительный реквизит и соотв. колонку в табличной части ОстатокНаСкладе. В ней просто вывожу остаток выбранной номенклатуры на выбранном складе. Сделала так: в модуле формы документа написала функцию: А внутри функции ПриИзмененииНоменклатуры в самом конце добавила строку: Если что-то неграмотно или некрасиво, прошу поправить.
#24 by DigitalDolphin
Ну в принципе конечно своей цели ты добилась, но грамотным решение назвать нельзя. По сути то что ты сделала есть метод регистра который это как раз выполняет твою задачу. И ты могла написать ОстаткиТМЦ.СводныйОстаток(-"Правильно указываешь параметры"-) :-) СводныйОстаток(<?>,) Синтаксис: СводныйОстаток(<Измерен1>,<Измерен2>...,<ИмяРесурса>) Назначение: Возвращает значение сводного остатка заданного ресурса регистра. Параметры: <Измерен1>,<Измерен2>... - значения измерений регистра; <ИмяРесурса> - название требуемого ресурса регистра. Замечание: Измерения могут задаваться с пропусками (неуказанное значение - просто запятая), фиксируются только указанные измерения. Метод используется только для регистров остатков.
#25 by DigitalDolphin
Да... Катерина хорошего сына Егора воспитываешь.. Молодец :-)
#26 by katya2
Спасибо! Переделала с функцией СводныйОстаток, все работает.
#27 by DigitalDolphin
Катерина... Выходи на связь в Mail.ru через агент... пообщаемся. Мой адрес imgsrc_dd@mail.ru    Жду :-)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С