1С пересчет итогов

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

Реализовано в версии 8.3.10.2168.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Теги: списки

Рассказать друзьям:

Как в 1С 8.3 загрузить базу 8.2? оглавление ОКАТО или ОКТМО при сдачи отчетности за 2013 год?

Как сделать реструктуризацию информационной базы 1С 8.3?

2019-10-17T10:22:15+00:00

Реструктуризация — грозное оружие в борьбе с ошибками в базе. Что это такое? Если по-простому: это когда для каждой таблицы в базе создается новая с такой же структурой (согласно метаданным) и информация из старой последовательно копируется в новую.

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

Сам процесс реструктуризации по шагам описан в данной

Про резервные копии .

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

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Как в 1С 8.3 загрузить базу 8.2? оглавление ОКАТО или ОКТМО при сдачи отчетности за 2013 год?

Такие ошибки чаще всего проявляются при обращении к итоговым данным. Например, в оборотно-сальдовой ведомости «не сходится» сальдо начальное, оборот и конечное сальдо или итоги. Для исправления данной ситуации требуется пересчет итогов.

Пересчет итогов может быть выполнен в режиме конфигуратора (Меню Администрирование — Тестирование и исправление).

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

1. Определить дату первого проведенного документа в информационной базе. Для этого можно воспользоваться «Журналом операций» (раздел Учет, налоги, отчетность). В списке следует снять все отборы. Например, 31.12.2014.

2. Откроем форму Управление итогами и агрегатами (Раздел Администрирование — панель действий Сервис).

3. Переходим в «Полные возможности» и позиционируем курсор на строчке «Журнал проводок (бухгалтерский и налоговый учет) (Регистр Бухгалтерии)».

4. Выбираем Пересчитать итоги за период (меню Пересчет на командной панели формы) и указываем период пересчета — от даты первого проведенного документа до текущей даты.

По кнопке «ОК» начнется пересчет итогов. После завершения пересчета итогов стандартные отчеты будет формироваться без ошибок.

Учет алкогольной продукции ведется в первом и втором регистрах остатков. В Регистре № 1 отражаются остатки на складе в разрезе справок, в Регистре № 2 – товар, переданный в торговый зал, в разрезе наименований.

В марте 2018 г. в ЕГАИС введен дополнительный разрез хранения продукции по цифровым идентификаторам – Регистр № 3. Этот Регистр дополняет существующие и не хранит остатки продукции.

Остатки, соответствующие Регистру № 1, ведутся в «1С:Рознице 8» автоматически и отражаются в регистре накопления (р. н.) Остатки алкогольной продукции ЕГАИС. Движения по Регистру № 2 в программе не ведутся – поддерживается только запрос данных в ЕГАИС. Регистру № 3 в «1С:Рознице 8» соответствует регистр сведений (р. с.) Акцизные марки ЕГАИС.

В таблице приведены документы, отправляющиеся из «1С:Розницы 8» и фиксирующие в ЕГАИС движения АП.

Документ «1С:Розница 8» Регистр 1 ЕГАИС / Регистр накопления «Остатки алкогольной продукции ЕГАИС» «1С:Розница 8» Регистр 2 ЕГАИС
1 Акт постановки на баланс ЕГАИС Приход Приход
2 Акт списания ЕГАИС Расход Расход
3 Возврат из регистра № 2 ЕГАИС Приход Расход
4 Передача в регистр № 2 ЕГАИС Расход Приход
5 Товарно-транспортная накладная ЕГАИС (входящая) Приход
6 Товарно-транспортная накладная ЕГАИС (исходящая) Расход
7 Чек Расход
8 Чек ЕГАИС Расход
9 Чек ЕГАИС возврат Приход

Р. н. Остатки алкогольной продукции ЕГАИС используется при подборе справок № 2 в документах Возврат поставщику и Перемещение товаров. Он выступает источником информации по остаткам ИБ в сравнительных отчетах, формируемых из документа Отчет ЕГАИС с видом операции Движения между регистрами, Движения по справке 2, Остатки алкогольной продукции.

Справка к ТТН по форме 1 и Справка к ТТН по форме 2

Учет продукции в ЕГАИС осуществляется с привязкой к конкретным регистрационным формам учета 1 (далее – РФУ1) и 2 (далее – РФУ2). Указанные регистрационные формы характеризуют товар и соответствуют каждой отдельной позиции в электронной накладной.

В Регистре № 1 продукция хранится по партиям в разрезе РФУ1 и РФУ2. В Регистре № 2 – в разрезе алкогольного наименования и производителя/импортера. Реквизиты РФУ1 и РФУ2 отсутствуют. В Регистре № 3 – в разрезе РФУ2 и цифровых идентификаторов.

Технически в «1С:Рознице 8» РФУ1 и РФУ2 соответствуют элементы справочников Справки к ТТН по форме 1 и Справки к ТТН по форме 2 (раздел НСИ – ЕГАИС).

Эти справочники загружаются автоматически документами Остатки ЕГАИС, Акт постановки на баланс ЕГАИС и Товарно-транспортная накладная ЕГАИС (входящая) при обмене с ЕГАИС. Также можно загружать справки по их номеру (раздел НСИ – ЕГАИС, Справки к ТТН по форме 1/ Справки к ТТН по форме 2, кнопка в командной панели Запросить справку).

Единицы хранения остатков в ЕГАИС

В отчетах, полученных из ЕГАИС, следует учитывать, в каких единицах продукция хранится в ЕГАИС, — в штуках (если продукция упакованная, фасованная) или в декалитрах (если неупакованная).

Тип продукции в ЕГАИС: Упакованная или Неупакованная – определяет поставщик при отправке сведений. В «1С:Рознице 8» его можно посмотреть в соответствующем элементе справочника Классификатор алкогольной продукции.

Рис. 1

Объем единицы продукции или транспортной упаковки разливной продукции в декалитрах устанавливается в элементе справочника Номенклатура.

Рис. 2

Для сверки остатков и устранения расхождений в ЕГАИС и ИБ следует:

  • запросить остатки в ЕГАИС;
  • оприходовать товар на склад при необходимости.

Запрос остатков в ЕГАИС

Для отправки запроса в ЕГАИС по текущим остаткам служит документ Остатки ЕГАИС (раздел НСИ – Обмен с ЕГАИС – Склад).

Запрос остатков по Регистру № 1

Для того чтобы получить остатки по Регистру № 1 ЕГАИС, необходимо:

  • Создать документ.
  • На закладке Основное указать «Организацию ЕГАИС» и Регистр № 1.
  • Провести документ (). Статус созданного документа автоматически примет значение Черновик.
  • Вызвать команду Запросите остатки.

    Рис. 3

    Статус документа изменится на Передан в УТМ.
    Актуализировать статус вручную можно с помощью кнопки Протокол обмена – Выполнить обмен.
    После получения ответа из ЕГАИС статус документа автоматически изменится на Получены остатки и на закладке Остатки по данным ЕГАИС будет загружена полученная информация.
    С помощью кнопки Остатки ЕГАИС можно вывести на экран отчет Остатки алкогольной продукции и проанализировать расхождения данных ЕГАИС с информационной базой.

  • В случае расхождений следует в форме документа перейти на закладку Корректировка учетных остатков, нажать кнопку Заполнить по расхождениям и провести документ. Данные р. н. Остатки алкогольной продукции ЕГАИС будут откорректированы в соответствии с данными ЕГАИС. Эти цифры отобразятся в отчете Остатки алкогольной продукции в колонке Количество (по данным ИБ).

Запрос остатков по Регистру № 2

При запросе остатков по Регистру № 2 в форме документа Остатки ЕГАИС на закладке Основное следует переключатель Запрос остатков установить в режим Регистр № 2. Закладка Корректировка учетных остатков будет недоступна. Документ (аналогично запросу по Регистру № 1) отправляется в ЕГАИС. После получения ответа на закладке Остатки по данным ЕГАИС будут автоматически загружены текущие сведения.

Ввод складского остатка

В документе Остатки ЕГАИС есть сервисная возможность оприходования товара на склад по данным ЕГАИС. Она полезна при самом начале ведения учета в ИБ для ввода остатков по складу.

Для оприходования товара на склад необходимо в командной панели формы документа Остатки ЕГАИС в меню Еще выбрать команду Оприходование товаров.

Откроется форма документа Оприходование товаров, заполненная всей алкогольной продукцией из документа-основания Остатки ЕГАИС.

Рис. 4

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

В документе Оприходование товаров в каждой строке необходимо:

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

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

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

Рассмотрим этот инструмент и как с ним работать. Особенно подробно разберем какие флаги надо ставить в интерфейсе.

Если у вас нет времени читать, можете просто просмотреть наше видео:

Тестирование и исправление в конфигураторе

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по .
Будем рады помочь Вам!

Запустим программу в режиме конфигуратор:

Выбираем из меню Администрирование пункт «Тестирование и исправление”:

Какие галочки ставить?

Существуют различные варианты настройки тестирования, рассмотрим эти галки:

  • Реиндексация таблиц информационной базы — это полное перестроение индексов для таблиц базы данных. Реиндексация повышает скорость работы информационной базы. Процедура длительная, но никогда не будет лишней.
  • Проверка логической целостности информационной базы — проверять логическую и структурную целостность БД, исправляет ошибки в данных;
  • Проверка ссылочной целостности информационной базы — проверка «битых ссылок» в базе данных. Такие ошибки могут возникать при непосредственном удалении объектов системы или сбоях. Существует 3 варианта действий для исправления таких ошибок:
    • Создавать объекты — система создает элементы-заглушки, которые можно потом заполнить необходимой информацией,
    • Очищать ссылки — «битые» ссылки будут очищены,
    • Не изменять — система только покажет вам ошибки.
  • Пересчет итогов. Итоги — таблица предварительно подсчитанных результатов в регистрах накопления, расчета и бухгалтерии. Пересчет итогов, также как реиндексация, никогда не будет вредна и даст плюс в скорости работы программы;
  • Сжатие таблиц информационной базы — при удалении данных 1С не удаляет строки таблиц, а лишь «помечает» их на удаление. Они не видны пользователю, но продолжат находится в БД. Сжатие базы данных удаляет эти данные безвозвратно. Так же такого же эффекта можно достичь выгрузкой и загрузкой файла информационной базы (*.dt);
  • Реструктуризация таблиц информационной базы — долгий процесс, с помощью которого система осуществляет пересоздание таблиц базы. Такая процедура происходит и при внесение изменений в структуру конфигурации.

В нашем примере проставим все галочки как показано на рисунке и нажимаем «Выполнить”:

Этап выполнения операции мы можем наблюдать в левом нижнем углу окна конфигуратора 1С. Выявленные ошибки показываются в окне служебных сообщений.

После окончания тестирования нажимаем «Закрыть”:

Результат выполнения операций мы можем увидеть в окне служебных сообщений.

Тестирование и исправление закончено.

Если конфигуратор не открывается: утилита chdbfl.exe

Если база повреждена настолько, что вы не можете зайти в конфигуратор, можно воспользоваться утилитой от 1С chdbfl.exe. Утилита устанавливается вместе с платформой 1С и найти ее можно в папке Bin каталога установки:

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

После того как нажали копировать, нажимаем правой кнопкой на пустом месте окна папки и нажимаем «Вставить”. Копия сделана, запускаем утилиту:

Появляется главное окно утилиты. Нам нужно указать имя файла базы данных. Нажимаем на три точки. Открывается окно выбора файла БД. Ищем каталог вашей базы и в нем указываем на файл 1Cv8.1CD. Нажимаем «Открыть”.

Ставим галочку «Исправлять обнаруженные ошибки” и нажимаем «Выполнить”.

Ждем окончания операции. Она может занять продолжительное время, в зависимости от размера базы.

После выполнения, если были исправлены ошибки они отобразятся в окне утилиты. В моем случае ошибок не обнаружено. Нажимаем «Закрыть” и пробуем зайти в программу. Если зайти все же не получается, вам необходимо обратиться к специалисту.

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

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