Колонки "цена" и "кол-во" в списке номенклатуры
Читают тему
Вход в личный кабинет
Для получения доступа к форуму необходимо
авторизоваться
или
зарегистрироваться
на сайте.
{{ formTitle ? formTitle : 'Заказ обратного звонка' }}
{{ formDescription }}
Сообщить об ошибке
Появилась необходимость в том, чтобы в списке номенклатуры появились 2 новый колонки, цена и кол-во, причем цена чтобы бралась именно розничная.
Вот что я сделал для реализации цены:
- Открыл конфигуратор
- Справочники->номенклатура
- добавил реквизит "цена"
- в форму списка добавил колонку, ее элемент указываю - "поле ввода"
- на поле ввода вешаю код
Программировать на 1с пока не умею, код искал в интернете, но ни один вариант не подошел, все время выдает ошибки в коде.Подскажите как решить проблему, что почитать вкратце, чтобы понять как получить значения, и как их отобразить.
Вот на мой взгляд самый близкий к правде пример, вот только он не работает тоже
Еще не уверен в том, на какое событие вешать код.
ПС: я понимаю что чайнику сразу все не втолковать, но если вопрос сложный, направьте меня на хорошую литературу, я сейчас читаю 1с программирование как 2х2, очень уж запутанно она написана.
Так привязать функцию к выводу в списке можно было только в 7-ке. В 8-ке нужно использовать ПриВыводеСтроки а лучше ПриПолученииДанных
Я так понял, что нужно на событие поля ввода "ПриПолученииДанных" повесить некую связь колонки с данными из регистра.
Все правильно сказали. Лучше всего это делать в обработчике СписокПриПолученииДанных. Сделать по аналогии с выводом ШК номенклатуры. Там уже есть в качестве примера.
Попутно пара вопросов.
1. Зачем надо было добавлять реквизит справочника? Не нужен он в этом случае.
2. Запрос по получению цены не будет работать для случаев:
- Цена задана для единиц измерения или характеристик
- Тип цен розничный является расчетным.
Ну и надо понимать, что такой сервис как вывод цены в список серьезно нагрузит систему. К тому же цена получается точечными запросами для каждой строки.
Добрый день.
Все правильно сказали. Лучше всего это делать в обработчике СписокПриПолученииДанных. Сделать по аналогии с выводом ШК номенклатуры. Там уже есть в качестве примера.
Попутно пара вопросов.
1. Зачем надо было добавлять реквизит справочника? Не нужен он в этом случае.
2. Запрос по получению цены не будет работать для случаев:
- Цена задана для единиц измерения или характеристик
- Тип цен розничный является расчетным.
Ну и надо понимать, что такой сервис как вывод цены в список серьезно нагрузит систему. К тому же цена получается точечными запросами для каждой строки.
В принципе, ход решения теперь понятен, спасибо.
Отвечаю на вопросы:
1. Это я в поисковиках вычитал, сам не понял зачем такие сложности, мол суть в том, что в этот реквизит будут записаны данные из регистра, и уже реквизит должен связываться с колонкой, передавая ей данные.
2.1. Аналитика учета цен по номенклатуре.
2.2. Вот это я не знаю где смотреть, но думаю что он не расчетный, даже уверен в этом.
А вот то что цена выходит точечными запросами, Вы меня неприятно удивили, так как смысл данной манипуляции в том, чтобы менеджер сразу же видел цену и остатки нужной номенклатуры и ближайших к ней позиций.
Еще подсказки по поводу оптимизации.
1. Прежде чем получать/выводить цену проверить а отображается ли данная колонка. Если нет, то и не делать ничего.
2. Цены/остатки можно закешировать в переменной какой либо (в таблице значений). Получать их оттуда. А вот если в ТЗ не нашлось, то уже тянуть из базы.
Нагрузка системы, согласен, дел неблагодарное, но хотелось бы попробовать, ведь если будет терпимо, то будем использовать. А вот то что цена выходит точечными запросами, Вы меня неприятно удивили, так как смысл данной манипуляции в том, чтобы менеджер сразу же видел цену и остатки нужной номенклатуры и ближайших к ней позиций.
Или на худой конец АРМ
А форма подбора чем не устроила то?
Или на худой конец АРМ
Вот, получилось как то так из того кода что нашел склеить.
вот только пишет при открытии справочника ошибку:
Ну, я то не против, но менеджерам нужна цена/остатки в колонке списка номенклатуры.
а тут лучше так
Евгений, использовал Ваш код, но та же ошибка про значение параметра "номка", может это изи за того что я СписокПриПолученииДанных повесил на событие НачалоВыбора?
С запросом лучше так
Ругается 1С по идеи на то что параметр не установили.
| И ЦеныНоменклатуры.Номенклатура = &номка ");
);
Насчет подбора. Во всех документах с ТЧ товаров есть кнопка подбора. Там уже есть вывод цен, остатков ...
Ну а в запросе параметр такой "интересный" есть. На правильный исправить надо.
Насчет подбора. Во всех документах с ТЧ товаров есть кнопка подбора. Там уже есть вывод цен, остатков ...
Но если честно то я не понял вообще, наверное как и вы зачем это колонка нужна когда во всех необходимых местах и так все подсвечено и показано. А при прокрутки несколькими сотрудниками списка номенклатуре при установки цен в позицией 2 000 на серваке будет просто ад кромешный. Тормозить будет так что мало не покажется.
СВ запросах в будущем попытаюсь использовать виртуальную таблицу, спасибо за совет, пригодится, так как этот запрос - мой первый в 1с запрос.
Вот про тормоза в системе вы говорите все верно, их надо избегать, учитывая тот факт что и так система не шибко блещет скоростью. Но, увы, функцию отбора менеджеры бракуют. Им не хочется ничего нигде не сортировать, ни вводить, кроме номера каталожного. Им нужно чтобы когда клиент звонит, менеджер открывал бы 1с, заходил бы в справочник номенклатуры, а там уже чтобы рядом с каждой позицией были цены и остатки для их удобства. Нет, не чтобы отбирать нужный диапазон цен, а чтобы не нажимать внизу табличной части на вкладки цены и остатки.
Вот вам и ответ зачем надо: чтобы не нажимать на вкладки цены и остатки.
Естественно, что если все так плохо с тормозами будет, придется им отказаться от этой чудо идеи
По моему удобнее
А вот АРМ действительно удобно, не подозревал о его наличии и возможностях, сказывается отсутствие опыта.
Огромное спасибо вам Александр и Евгений, мне очень помогли ваши советы.