Как обновить данные динамического списка 1с 8
Перейти к содержимому

Как обновить данные динамического списка 1с 8

  • автор:

Обновление списков при интерактивных действиях пользователя

Область применения: управляемое приложение, мобильное приложение.

1. Платформа 1С:Предприятие по умолчанию обновляет содержимое динамических списков при выполнении пользователем стандартных команд по изменению элементов этого списка ( Записать , Провести , Пометить на удаление и т.п.) и при добавлении новых элементов. Но в ряде ниже перечисленных случаев такое обновление следует предусмотреть явно в прикладном коде.

2. Команды, которые изменяют объекты и размещаются в форме списка, должны заботиться об обновлении списка объектов после своего выполнения. Например, после изменения одного объекта рекомендуется вызывать метод ОповеститьОбИзменении :

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

ОбъектСсылка = ПараметрКоманды;
// Меняем объект
// .
ОповеститьОбИзменении(ОбъектСсылка);

При изменении нескольких объектов целесообразно обновлять список однократно, в конце операции:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

Для Каждого ОбъектСсылка Из ПараметрКоманды Цикл
// Меняем объект
// .
КонецЦикла;

ОповеститьОбИзменении(ТипЗнч(ПараметрКоманды[0]));

3. Также должно быть обеспечено обновление данных в динамическом списке, у которого не назначена основная таблица. Такие динамические списки могут отображать данные из нескольких таблиц.

3.1. Если данные добавляются или изменяются командой, расположенной в форме динамического списка, то необходимо обновить список явно после выполнения команды.

3.2. Если данные изменяются в какой-либо другой форме (например, в форме объекта), то необходимо организовать обновление списка через оповещение. Для этого в каждой форме объекта, данные которого выводятся в динамическом списке, следует реализовать обработчик события ПослеЗаписи с использованием метода Оповестить :

Оповестить («Запись_», ПараметрыОповещения, ОбъектСсылка);

  • Запись_ — имя события, в котором — имя объекта, как оно задано в метаданных. Например, для документа «Расходная накладная» имя события будет «Запись_РасходнаяНакладная» .
  • ПараметрыОповещения – как правило, это параметр события ПослеЗаписи формы объекта. Состав свойств структуры может быть расширен исходя из потребностей прикладной логики.
  • ОбъектСсылка – ссылка на записываемый объект.

Затем в обработчике события Оповещение в форме динамического списка разместить код по обновлению динамического списка вида:

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

Если Врег(ИмяСобытия) = Врег(«Запись_РасходнаяНакладная»)
Или Врег(ИмяСобытия) = Врег(«Запись_НакладнаяНаПеремещение») Тогда
Элементы.СписокНакладных.Обновить();
КонецЕсли;

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

3.3. При изменении сразу нескольких объектов в параметре ОбъектСсылка метода Оповестить следует передавать значение Неопределено .

Оповестить(«Запись_РасходнаяНакладная», ПараметрыЗаписи, Неопределено);

Windows 8 for Windows

Windows 8

Now that the world has moved on from CRT monitors to flat, touchscreen laptops, it’s only right for Microsoft to develop a fitting operating system. In 2013, the company introduced Windows 8 to do just that. Unfortunately, it didn’t get as many fans as it fell short, especially in the UI department. Then came its biggest update, Windows 8.1.

Is bigger better?

Microsoft listened to their woes and delivered Windows 8.1 in the hopes of making this version more accepted by the public.

Fans of Windows 7 & Vista weren’t exactly thrilled about Windows 8. Firstly, it differs so much from the interface users have gone accustomed to and loved. Their biggest complaint, where in the world is the start button? Microsoft listened to their woes and delivered Windows 8.1 in the hopes of making this version more accepted by the public. You also have the ability to hide the start screen or be directed to the app list instead. This list is basically a full screen start menu which you can organize into a number of different categories. It’s not the same as that of Windows 7, but it’s definitely not as bad as Windows 8. Windows 8.1 also improved its personalization features on your start screen. You now have to option to create smaller or larger screen tiles to your heart’s desire. Use smaller tiles to make your start screen more productive as you can see more apps all at once. Bigger tiles show more up to date details. You can glance at the weather forecast without actually opening the application. The start screen can also adjust to larger resolutions so you have more rows of tiles without needing a huge empty space. The varying sizes of tile apps allow for more convenience in using your mouse or trackpad to navigate. More options to suit you Microsoft also included over 100 different color combinations you can use to personalize your desktop. Windows 8.1 comes with a number of pre-installed starts screen patterns or you can even use your own desktop wallpaper as its background. Desktop apps color coordinate themselves to match the most dominant color in its logo. You can easily see changes on your desktop without jumping in and out of the PC settings app. Just simply go to the personalization panel in the Charms bar and try to change your wallpaper and see if it looks nice.

Search and multitasking

The updated search function goes beyond the ordinary OS search engine. It’s now a platform built right unto your computer’s system that allows you to search locally and on the internet for whatever you need. Locating a document using this feature will not only lead you to the file but will also offer you search results from the internet and on your app settings. Multitasking is also made easier in Windows 8.1. Switch from one app to the other by simply moving your cursor all the way into the left hand corner, hit click and it leads you to the last app you used.

Where can you run this program?

Computers running on Windows 8 can get a free update to Windows 8.1. You simply have to go to the Windows store and follow the steps to upgrade manually. Windows 8.1 requires your machine to have at least a 1 GHz processor or faster with support for PAE, NX, and SSE2. You will also need at least 1 GB of RAM if you’re running on a 32-bit processor or 2 GB RAM for those on 64-bit, and hard disk space of 16 GB or 20 GB respectively. For optimal performance, Windows requires a Microsoft DirectX 9 graphics device with WDDM driver.

Is there a better alternative?

If you want to stick to a Windows operating system, then Windows 10 would be the wisest choice. It has better security measures and is more reliable and efficient compared to its predecessors. Developers made its recent update less frustrating by reducing clutter, especially in the start menu. You may also customize it by adding applications to suit your needs. This OS also allows you to remove built-in apps you don’t think you’ll use like Movies & TV, Groove Music, Paint 3D, and more. macOS 10.14 Mojave is the latest operating system for Apple machines. It offers several features that help improve the aesthetic of your computer. Save your eyes from damage by switching to Dark Mode. Organize random content in your desktop through Stacks. Quick Look allows you to perform actions on files without actually opening any application. There are so many useful features to check out.

Our take

Windows 8.1 is definitely an improvement from Windows 8’s underwhelming performance. You may take a little more time to get used to it but you have more options to customize this operating system. It’s best for laptops with touch screen capabilities. It’s a relief that the start button is back, but its interface still feels a little bit awkward. However, if you didn’t enjoy Windows 8, this update isn’t going to change your opinion about it.

Should you download it?

Yes. If you’re still on Windows 8, it’s high time for you to get an upgrade to 8.1. But if you have the option to get Windows 10, it’s best to grab the opportunity as it would definitely be the wiser choice.

  • Impressive search functionality
  • Customizable

Download and install drivers in Windows 8.1

Support for Windows 8.1 ended on January 10, 2023. We recommend you move to a Windows 11 PC to continue to receive security updates from Microsoft.

Windows comes with drivers for many devices, such as printers, displays, keyboards, and TVs. A driver is software that a device uses to work with your PC. Every device needs a driver to work with your PC. So, in many cases, you can plug in a device, and it’ll work automatically.

Windows can also download device software and info. This might include an app that the device manufacturer created to go with your device or info like the product name, manufacturer, and model number, to help you distinguish between similar devices.

Drivers are updated occasionally. Windows can update them automatically, or you can install the updated drivers yourself. It’s important for you to have confidence in the updated drivers you install. Windows notifies you if it detects a suspicious or unsafe driver you shouldn’t install.

Automatically get the latest drivers and software

Windows Update checks for updated drivers and software for your devices and install them automatically. Keeping Windows Update on is a good way to make sure your devices continues to work properly and you get the best experience with them.

Note: PCs running Windows RT 8.1 always automatically download and install drivers, apps, and info for your devices.

To check that automatic updating is on

  1. Swipe in from the right edge of the screen, tap Settings, and then tap Change PC settings. (If you’re using a mouse, point to the lower-right corner of the screen, move the mouse pointer up, click Settings, and then click Change PC settings.)
  2. Tap or click Update and recovery, and then tap or click Windows Update.
  3. Tap or click Choose how updates get installed.
  4. Under Important updates, choose Install updates automatically (recommended).

Installing drivers yourself

If your device came with a disc, it might contain software that installs a driver. Before you install a driver from a disc, check the info that comes with it to be sure it supports your current version of Windows.

You can also search for new drivers on the manufacturer’s website. Driver updates are often available in the support section of their website. Download the latest driver for your device, and follow the installation instructions on the website. You can usually double-tap or double-click the downloaded file to install the driver on your PC.

If the driver you got from a disc or downloaded from a website doesn’t install itself, you might need to install manually.

To manually install a driver

You must be signed in as an administrator to follow these steps.

Administrator icon

  1. Swipe in from the right edge of the screen, and then tap Search. (If you’re using a mouse, point to the lower-right corner of the screen, move the mouse pointer up, and then click Search.)
  2. Enter Device Manager in the search box, and tap or click Device Manager.
  3. In the list of hardware categories, double-tap or double-click the category your device is in and then double-tap or double-click the device you want. For example, to see your video card, tap or click Display adapters, and then double-tap or double-click the video card name.
  4. Tap or click the Driver tab, tap or click Update Driver, and then follow the instructions.

Notifications telling you about unsafe drivers

Occasionally, you might see a notification that a driver is unsigned, has been changed since it was signed, or can’t be installed by Windows. We recommend that you don’t install unsigned or changed drivers.

A digitally signed driver includes a digital signature, which is an electronic security mark that indicates the publisher of software and whether someone has tampered with it since it was signed. If a driver has been signed by a publisher that has verified its identity with a certification authority, you can be confident that the driver comes from that publisher and hasn’t been changed.

If you see any of the following notifications when you’re installing a driver, you should stop the installation and go to your device manufacturer’s website to get a digitally signed driver for your device.

Windows can’t verify the publisher of this driver software

The driver doesn’t have a digital signature or has been signed with a digital signature that wasn’t verified by a certification authority. You should only install this driver if you got it from the manufacturer’s disc or from your system administrator.

This driver hasn’t been signed

The driver hasn’t been digitally signed by a verified publisher. The driver might have been changed to include malware that could harm your PC or steal info. In rare cases, legitimate publishers do change drivers after they’ve been digitally signed, but you should only install an unsigned driver if you got it from a device manufacturer’s disc.

Unfortunately, there’s no trustworthy source of info that indicates who has published an unsigned driver. Anyone can change the contents of an unsigned driver, and there’s no way to know why it was changed. Most manufacturers now digitally sign the drivers they create before releasing them to the public.

Windows requires a digitally signed driver

A driver that lacks a valid digital signature, or has a signature that was changed after it was signed, can’t be installed on 64-bit versions of Windows. You’ll only see this notification if you have a 64-bit version of Windows and try to install such a driver on it.

Обработка и оформление данных динамического списка

Как вы знаете, динамический список удобен и полезен для быстрого показа больших списков. Он довольно гибок, позволяет вам изменять стандартный запрос, и даже создавать собственный сложный запрос. Благодаря этому у вас есть возможность выводить в списке разные дополнительные данные, связанные с основными данными списка.

Однако такая универсальность имеет и оборотную сторону. Желание «показать сразу всё» может приводить вас к значительному усложнению запроса. В результате вы будете получать неэффективные планы выполнения и, как результат, снижение производительности при отображении и пролистывании списка.

Кроме этого есть ряд прикладных задач, в которых алгоритм отбора и оформления данных списка довольно сложен. В этих случаях возможностей произвольного запроса и условного оформления просто не хватает. Хочется иметь более «свободный» и более «точный» инструмент, который позволит сделать «что угодно» и «только там, где нужно».

Событие ПриПолученииДанныхНаСервере

Специально для этих целей мы реализовали новый обработчик ПриПолученииДанныхНаСервере(). Он добавлен в расширение таблицы, отображающей динамический список.

Этот обработчик вызывается на сервере после того, как динамический список получил и оформил для отображения очередную порцию данных.

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

Вы можете изменить данные, находящиеся в этих строках, или применить к ячейкам собственное оформление. Доступны такие возможности оформления как ЦветФона, ЦветТекста, Шрифт, ГоризонтальноеПоложение, Видимость, Доступность, Отображать, Текст и Формат.

Также, при необходимости, вы можете посмотреть и проанализировать копию полных настроек динамического списка. Но изменить настройки вы не сможете.

Простейший сценарий использования

Проще всего понять назначение этого обработчика на примере. Пример заключается в том, чтобы в списке товаров показать их остатки из регистра накопления. Количество меньше некоторого значения выделить красным цветом.

До сих пор эта задача решалась левым соединением в запросе динамического списка, и условным оформлением списка, устанавливаемым в конфигураторе.

Теперь она решается так. Стандартный запрос списка не усложняется, в него добавляется только фиктивное поле Остаток.

01.png

А в обработчике ПриПолученииДанныхНаСервере() только для полученных строк вычисляются остатки. И тут же маленькие остатки выделяются красным.

02.png

Здесь, методом ПолучитьКлючи(), из коллекции строк динамического списка вы получаете их ключи (ссылки), и передаёте эти ключи в запрос остатков.

Затем, при обходе результатов запроса, вы получаете нужные строки по ключу, в колонку Остаток помещаете значение, и устанавливаете оформление этого поля, если нужно.

В результате пользователь видит следующий список:

04.png

В чём преимущество такого варианта?

Во-первых, запрос списка остаётся простым. Или он не остаётся простым, но количество соединений в нём уменьшается. А это значит, что для него, с большой долей вероятности, будет построен хороший план.

Во-вторых, получение остатков в обработчике будет выполняться только один раз, в то время как запрос списка может быть выполнен несколько раз (в зависимости от настроек списка и сценария листания).

И, в-третьих, новый обработчик выполняется уже после того, как основные данные получены из базы и прошли проверку прав. Это значит, что в некоторых сценариях получение связанных данных в обработчике можно выполнять в привилегированном режиме, без проверки прав. Это ускоряет работу списка.

Ограничения на изменяемые и добавляемые поля

Тот факт, что в обработчике вы можете изменить значения полей списка, несет в себе особенность, которую нужно всегда учитывать.

Если не предпринять дополнительных мер, то пользователь может быть сильно удивлён результатами группировки, сортировки или отбора (в том числе и поиска) по тем полям, которые вы изменили. Ведь эти действия будут выполняться по исходным данным, получаемым запросом, а не по тем данным, которые видит пользователь.

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

03.png

Кроме этого, возможно, в некоторых сценариях имеет смысл визуально выделить такие колонки в таблице, чтобы пользователи видели, что эти колонки «особенные», не такие, как все.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *