Обновление формы списка или формы подбора номенклатуры в 1С

18.04.19

База данных - Обновление 1С

Для актуального показа остатков в открытых формах списка номенклатуры в 1С толстый клиент. Использование механизма подписки на обработчика ожиданий и работа с журналом регистраций.

Столкнулся с проблемой в 1С: УТП. При  подборе номенклатуры в форме списка или в форме подбора необходимо обновлять форму для показания актуальных остатков при  работе множества пользователей. В поиске по интернету  по этой теме кроме записи в регистр сведений с определенной структурой и подписчика на события не нашел полезного. Вот и пришла идея !!!

Буду краток.

1. В форме  списка или подбора при открытии поставил подписку на событие 

          мдатаначало=текущаядата();
    ЭтаФорма.ПодключитьОбработчикОжидания( "обновлениеостатковтаймер" ,3);

 Просто объявите в начале  модуля формы перем мдатаначало;

2. Сам обработчик

процедура  обновлениеостатковтаймер()
    тз= новый таблицазначений;
    МассивМетаданных = Новый Массив; 
    МассивМетаданных.Добавить(Метаданные.РегистрыБухгалтерии.Хозрасчетный); 
    отб=новый структура("ДатаНачала,ДатаОкончания,Метаданные",мдатаначало,текущаядата(),МассивМетаданных);
    ВыгрузитьЖурналРегистрации(тз, отб);
    если тз.Количество()>0  тогда
        ///  обновить
        Если ЭлементыФормы.Список.ТекущиеДанные <> Неопределено
            И НЕ ЭлементыФормы.Список.ТекущиеДанные.ЭтоГруппа Тогда
            
            мСписокПрефиксовЦен = УправлениеЗапасами.ПолучитьСписокПрефиксовВыводимыхСумм(СписокЦенОстатков);
            УправлениеЗапасами.ПолучитьДеревоОстатковНоменклатуры(ОстаткиТоваров, ЭлементыФормы.Список.ТекущиеДанные.Ссылка, Истина, СписокЦенОстатков, , мСоответвиекурсовВалют);
            //Разворачиваем дерево
            Для Каждого СтрокаДереваОстатков Из ОстаткиТоваров.Строки Цикл
                ЭлементыФормы.ТабличноеПолеОстаткиТоваров.Развернуть(СтрокаДереваОстатков, Истина);
            КонецЦикла;
            РаботаСДиалогами.ОбновитьШапкиКолонокОстатков(ЭлементыФормы.ТабличноеПолеОстаткиТоваров, ЭлементыФормы.Список.ТекущиеДанные.ЕдиницаХраненияОстатков);
            ПересчитатьВалютыОстатковНоменклатуры();
        конецесли;
        мКэшОстатков.Очистить();
        ЭтаФорма.Обновить();
        мдатаначало=текущаядата();
    конецесли;
    
конецпроцедуры

 

Все ценное в обработчике. Это эти строки.   Все станет понятно для программиста.

Работа  происходит  с журналом  регистраций. Делается отбор в данном случае по Метаданные.РегистрыБухгалтерии.Хозрасчетный--- изменение по счетам, а значит, происходит  изменение остатков. Вот и все.  Если если тз.Количество()>0  тогда  надо  посылать для открытой формы обновить().  Можно делать отбор по (список большой).  Смотри работу с журналом регистраций.

 

тз= новый таблицазначений;
    МассивМетаданных = Новый Массив; 
    МассивМетаданных.Добавить(Метаданные.РегистрыБухгалтерии.Хозрасчетный); 
    отб=новый структура("ДатаНачала,ДатаОкончания,Метаданные",мдатаначало,текущаядата(),МассивМетаданных);
    ВыгрузитьЖурналРегистрации(тз, отб);
    если тз.Количество()>0  тогда

      здесь    способ обновление  или пересчета  для списка формы.

   конецесли;

 

3. При  закрытии формы отключаем обработчик ожидания.

этаформа.ОтключитьОбработчикОжидания("обновлениеостатковтаймер");

Это  работает на УТП 1С.   Обновляет остатки достаточно быстро в серверном варианте. Главное - понять идею. Прикрутить это можно везде, где  надо обновлять  и показывать актуальные остатки товара!!!! 

Всем удачи!! Дерзайте!! 

Обновление формы Списка подбора номенклатуры

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    145980    645    358    

235

Обновление 1С Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Те кто объединял конфигурации находящиеся на поддержке, обновлял подсистемы БСП прекрасно помнят упражнение «10000 тысяч кликов мышкой» или, непонятное словесное заклинание, после которого конфигурация снимается с поддержки целиком.

1 стартмани

26.09.2024    380    1    milkers    2    

7

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Вышел новый релиз для УТ11 5.19.63. На копии базы было выполнено обновление и вылезли проблемы с номенклатурой, подлежащей маркировке. В публикации описаны проблемы, обнаруженные в копии базы конкретной организации.

24.09.2024    532    gull22    1    

8

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

Как исправить медленное сравнение конфигурации с файлом cf, сохраненным из хранилища.

17.09.2024    3982    vatkir    14    

9

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Упрощенное обновление конфигураций 1С (предпочтительно самописных) с помощью батника и Яндекс Диска (по публичной ссылке)

1 стартмани

22.08.2024    453    0    user1694357    0    

3

Обновление 1С Системный администратор Россия Абонемент ($m)

На ИТС есть статья, в которой поверхностно описан процесс автоматического обновления тонких клиентов. В качестве примера, что логично, представлены методы конфигурации 1С. Но, в отличие от того же управления списками баз, для обновления не требуется хранить информацию, потому я решил переписать код на php, чтобы можно было отвязаться от 1С. Не работает для файловых баз, подключенных как File="ПутьКПапкеБазы"; (а жаль), для опубликованных файловых - работает.

1 стартмани

20.08.2024    507    MikeSh    10    

1

Обновление 1С Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

В случае, когда при обновлении конфигурации счет разделяется на несколько субсчетов, может возникать ошибка в видах субконто. Предлагается алгоритм, как это исправить.

05.08.2024    646    NikiforovVA    0    

1

Обновление 1С Программист Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Бесплатно (free)

По нашему опыту, есть 2 ситуации, когда хочется отдать обновление нетиповой 1С кому-то другому. А) Если конфигурация и её доработки отлично знакомы, но не хочется заниматься рутиной. Б) Когда обновление длительно откладывалось, накопился «снежный ком» изменений, а команда, которая их делала, давно и неоднократно менялась.

26.06.2024    1140    1c-izh    4    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. PowerBoy 3404 19.04.19 05:56 Сейчас в теме
Я б не связывался с журналом регистрации, медленно, ненадежно - я б тупо контролил итоговую сумму регистра.
2. pilgrim9131 3 19.04.19 09:29 Сейчас в теме
тоже вариант. ну я думаю все время получать запросом итоговую сумму по регистру не намного быстрее. а тут просто фильтр по журналу и все данные готовы. Тем более их не так уж много во время открытой формы подбора.!!! надо просто тестить... тогда будет понятно!! что быстрее.
3. vse-puchcom 19.04.19 12:34 Сейчас в теме
а просто ф5 не катит? или я не о том подумал?
jaroslav.h; +1 Ответить
Оставьте свое сообщение