Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 21:57
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Отбор номенклатуры в форме справочника по наличию в 1с77 ТИС  (Прочитано 3888 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн immortal59

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-11-03
  • Сайт: 
  • Профессия: Программист 7.7
Помогите, пожалуйста в 1с77 тис. Сделан фильтр Справочник.Номенклатура по наличию на складе с использованием иерархии. Для этого каждый раз при переходе из группы в группу запрашиваются все элементы с положительным остатком. Это занимает много времени. Можно как-то ускорить этот процесс не отключая иерархию. Вот код в списке справочника:

Процедура СменаРежима(Род="")
   Если (ВНаличии = 1) Тогда
      Если (Род = "") Тогда
         Род = ИспользоватьРодителя();
      КонецЕсли;
      СписокТоваров=СоздатьОбъект("СписокЗначений");
      Запр = СоздатьОбъект("Запрос");
      ТекстЗапр = "
      |Фир = Регистр.ОстаткиТмц.Фирма;
      |Скл = Регистр.ОстаткиТмц.Склад;
      |Тмц = Регистр.ОстаткиТмц.Номенклатура;
      |Кво = Регистр.ОстаткиТмц.Количество;
      |Функция Ккво = КонОст(Кво);
      |Условие (Скл в Склад);
      |Группировка Скл;
      |Группировка Тмц упорядочить по Тмц.Наименование;";
      Если Запр.Выполнить(ТекстЗапр)=0 Тогда
         Возврат;
      КонецЕсли; 
      Пока Запр.Группировка("Скл")=1 Цикл
         Пока Запр.Группировка("Тмц") = 1 Цикл
            Если Запр.Тмц.Выбран() = 0 Тогда
               Продолжить;
            КонецЕсли;   
            Если Не(Запр.ТМЦ.Родитель = Род) Тогда
               Продолжить;
            КонецЕсли;
            Если (Число(Запр.Ккво)>0) Тогда
               СписокТоваров.ДобавитьЗначение(Запр.Тмц);
            КонецЕсли;
         КонецЦикла;
      КонецЦикла;
      ИспользоватьСписокЭлементов(СписокТоваров); 
   Иначе
      ИспользоватьСписокЭлементов();
   КонецЕсли;
КонецПроцедуры   


Процедура ПриВыбореРодителя(Род)
   СменаРежима(род)   
КонецПроцедуры


Помогите, очень надо:(


Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
условие на принадлежность к родителю, поместите в условие запроса: Условие(ТМЦ в Род);
намного не ускорится, но все же.


 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 326
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal