|
Загрузка в табличное поле без зависания + сортировка по алфавиту | ☑ | ||
---|---|---|---|---|
0
never_be
27.03.13
✎
15:15
|
На форме в табличное поле загружаю список номенклатуры с остатками, это занимает какое-то время и в этот момент форма просто висит, можно ли как-то сделать чтоб загрузка была видимой, было видно как появляется каждое новое поле ?
Также не могу найти как сделать чтоб после загрузки применилась сортировка по алфавиту. |
|||
1
salvator
27.03.13
✎
15:17
|
1. Нафига?
2. Метод Сортировать, смотри СП |
|||
2
never_be
27.03.13
✎
15:24
|
(1) Бесит, при загрузки было бы видно что список загружается, удобней.
|
|||
3
Reset
27.03.13
✎
15:25
|
(2) Сделай
Состояние("Список загружается епта"); |
|||
4
Reset
27.03.13
✎
15:26
|
Построчное добавление строк в ТЗ и постоянное обновление формы - вредительство, я считаю
|
|||
5
never_be
27.03.13
✎
15:27
|
(4) Зато пользователь спокоен, а не напрягает почему у меня висит.
|
|||
6
salvator
27.03.13
✎
15:29
|
(2) У тебя скорее всего 99% времени выполянется запрос по остаткам. Поверь, визуально добавление строк отследить невозможно. Так что не занимайся ерундой.
(5) Пользователю посоветуй сделать зарядку в это время, полезно. |
|||
7
never_be
27.03.13
✎
15:31
|
(6) Буду пробовать как-то оптимизировать.
|
|||
8
salvator
27.03.13
✎
15:33
|
(7) Кинь-ка код
|
|||
9
never_be
27.03.13
✎
15:36
|
(8) Просьба не лошить я в 1С новичек.
Результат.Очистить(); //----Загрузка остатка на начало-------// Фильтр = Новый Структура; Фильтр.Вставить("Склад",СкладПВ); СумОст = РегистрыНакопления.уатПартииТоваровНаСкладах.Остатки(НачалоДня(НачПериода),Фильтр); Для каждого строка из СумОст Цикл ПР = Ложь; Для Каждого Тек из Результат Цикл Если Тек.НаименованиеРус = строка.Номенклатура Тогда ПР = Истина; Тек.ОстатокНаНачало = Тек.ОстатокНаНачало + строка.Количество; КонецЕсли; КонецЦикла; Если НЕ ПР Тогда НоваяСтрока = Результат.Добавить(); НоваяСтрока.НаименованиеТур = строка.Номенклатура.НаименованиеТур; НоваяСтрока.НаименованиеРус = строка.Номенклатура; НоваяСтрока.Код1 = строка.Номенклатура.Артикул; НоваяСтрока.Код2 = строка.Номенклатура.Артикул2; НоваяСтрока.ОстатокНаНачало = строка.Количество; КонецЕсли; КонецЦикла; //-------------------------------------------// |
|||
10
salvator
27.03.13
✎
15:43
|
А зачем ты перебираешь "Результат", если перед этим его очищаешь?
|
|||
11
H A D G E H O G s
27.03.13
✎
15:43
|
НоваяСтрока.НаименованиеТур = строка.Номенклатура.НаименованиеТур;
НоваяСтрока.НаименованиеРус = строка.Номенклатура; НоваяСтрока.Код1 = строка.Номенклатура.Артикул; НоваяСтрока.Код2 = строка.Номенклатура.Артикул2; Четкая денормализация, респект таким поцанам. |
|||
12
H A D G E H O G s
27.03.13
✎
15:45
|
Читаем сп, неофит
<Измерения> (необязательный) Тип: Строка. Список измерений, для которых надо получить остатки. Строка, содержащая имена измерений, разделенные запятыми. Если параметр не указан или указана пустая строка, то остатки будут сформированы по всем измерениям. |
|||
13
H A D G E H O G s
27.03.13
✎
15:45
|
И привыкаем делать все запросом.
|
|||
14
H A D G E H O G s
27.03.13
✎
15:46
|
Короче, парень, найди себе взрослого дяденьку и на пару лет к нему в ученики строгать кот. Ну как в Древней Спарте! И будет толк.
|
|||
15
Михаил Козлов
27.03.13
✎
15:47
|
(0) Можно индикатор на форму поместить. Например, на нижнюю командную панель.
|
|||
16
H A D G E H O G s
27.03.13
✎
15:49
|
(15) остатки заполнятся за 1 секунду. Индекатор непоможет.
|
|||
17
H A D G E H O G s
27.03.13
✎
15:51
|
У него СумОст - толпа номенклатур в разрезе серий, характеристик, организации, партий и прочей мутотени.
|
|||
18
never_be
27.03.13
✎
15:54
|
(14) Да сам уже дядька, поздно мне в ученики. Я не зарабатываю этим.
(10) (17) Из-за непонимания сделал так как есть, просто в полученной таблице СумОст есть одинаковые записи я их так объединаяю )) Понял что надо все переделать на запросы и будет все быстро. |
|||
19
never_be
27.03.13
✎
15:55
|
Да и еще, я не хочу проверять для каждой номенклатуры есть ли по ней остаток, так как сделал я хоть и очень криво но я получаю остаток только по номенклатуре по которой были движения.
|
|||
20
salvator
27.03.13
✎
16:04
|
(19) Это все можно сделать в одном запросе без условий и циклов.
|
|||
21
never_be
27.03.13
✎
16:09
|
(20) Я вывожу еще остатки на конец периода и приход, расход, полный код страшно показывать :)
|
|||
22
H A D G E H O G s
27.03.13
✎
16:22
|
(21) ОстаткиИОбороты - это твой идеальный вариант.
|
|||
23
never_be
27.03.13
✎
17:00
|
Добавил параметров в выборку остатков, ушел 1 цикл но на время загрузки это не повлияло :)
//----Загрузка остатка на начало-------// Фильтр = Новый Структура; Фильтр.Вставить("Склад",СкладПВ); СумОст = РегистрыНакопления.уатПартииТоваровНаСкладах.Остатки(НачалоДня(НачПериода),Фильтр,"Номенклатура, Склад","Количество"); Для каждого строка из СумОст Цикл НоваяСтрока = Результат.Добавить(); НоваяСтрока.НаименованиеТур = строка.Номенклатура.НаименованиеТур; НоваяСтрока.НаименованиеРус = строка.Номенклатура; НоваяСтрока.Код1 = строка.Номенклатура.Артикул; НоваяСтрока.Код2 = строка.Номенклатура.Артикул2; НоваяСтрока.ОстатокНаНачало = строка.Количество; КонецЦикла; //-------------------------------------------// |
|||
24
never_be
27.03.13
✎
17:03
|
(22) Щас разбираюсь с ними. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |