Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Подбор товара с остатком , Как убрать с подбора товар остаток которго = 0          
Sharzem Подменю пользователя
сообщение 30.12.12, 16:22
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

1 С 7.7. (7.70.027). Конфигурация: Переделанный до неузнаваня ТИС.
В общих словах, есть аптека. Справочник товаров очень огромный, нужно чтобы фармацевт при подборе товара видел только тот, который есть на остатке. Состряпал следующий код:
Процедура ПриОткрытии()
  
    глПриОткрытииФормыСправочника(Контекст);
    
    Касса = глПользователь.ТекущийЭлемент().Касса;
    
    Магазин = Касса.Магазин;
    Склад = Касса.Склад;
    Подразделение = Магазин.ОсновноеПодразделение;
    
    СписТов = 0;

    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Магазин1 = Регистр.ОстаткиТоваров.Магазин;
    |Подразделение1 = Регистр.ОстаткиТоваров.Подразделение;
    |Склад1 = Регистр.ОстаткиТоваров.Склад;
    |Товар = Регистр.ОстаткиТоваров.Товар;
    |Количество = Регистр.ОстаткиТоваров.Количество;
    |Функция КоличествоКонОст = КонОст(Количество);
    |Группировка Товар упорядочить по Товар.Наименование;
    |Условие(Магазин1 в Магазин);
    |Условие(Подразделение1 в Подразделение);
    |Условие(Склад1 в Склад);
    |"//}}ЗАПРОС
   ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
        СтатусВозвра(0)
    КонецЕсли;

    СписТов = СоздатьОбъект("СписокЗначений");

    Пока Запрос.Группировка(1) = 1 Цикл
        СписТов.ДобавитьЗначение(Запрос.Товар);
    КонецЦикла;

    Если СписТов <> 0 Тогда
        ИспользоватьСписокЭлементов(СписТов);
        ИерархическийСписок(0,0);
    КонецЕсли;
КонецПроцедуры


Суть проблемы: когда делаем ручками подбор, нахождение Элемента справочника происходит очень долго.
Вопрос: Как убрать товар с остатком 0 с внимания пользователя и чтобы при этом подбор не тормозил ?


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Ardi Подменю пользователя
сообщение 30.12.12, 17:04
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

1)Как именно происходит "нахождение"?
2)Список товара должен быть плоский или иерархический?


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Sharzem Подменю пользователя
сообщение 30.12.12, 17:06
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Цитата(Ardi @ 30.12.12, 17:04) *
1)Как именно происходит "нахождение"?
2)Список товара должен быть плоский или иерархический?


Подбор: набираем Анальгин, находит Анальгин.
Сортировка по наименованию, родителей в базе нет.


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Ardi Подменю пользователя
сообщение 30.12.12, 17:14
Сообщение #4

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Сделать подбор из таблицы значений. Без справочника.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Sharzem Подменю пользователя
сообщение 30.12.12, 17:20
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Цитата(Ardi @ 30.12.12, 17:14) *
Сделать подбор из таблицы значений. Без справочника.


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


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Ardi Подменю пользователя
сообщение 30.12.12, 18:50
Сообщение #6

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(Sharzem @ 30.12.12, 18:20) *
При подборе из таблицы значений каждый раз придется подниматься наверх, а это не удобно.

При ИспользоватьСписокЭлементов(СписТов); также необходимо подниматься на верх.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

sava1 Подменю пользователя
сообщение 30.12.12, 20:17
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Табличное поле на форму подбора + прямой запрос к таблице остатков

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.04.24, 5:34
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!