- от автора admin
Содержание
- Документ «Выгрузка данных»
- Отчеты «Квитанции», «Единый платежный документ»
- Исправленные ошибки
- Обработка «Выгрузка данных»
- Отчет по задолженности
- Отчет «Единый платежный документ»
- Отчет «Квитанции»
- Справочник «Печатные формы отчетов»
- Отчеты
- Оплата
- Виртуальные таблицы остатков и оборотов
- Регистр накопления оборотов
- Регистр накопления остатков
- Пересчет итогов
- Решение
Новое в 1.0.31.03 релизе picture_as_pdf
Документ «Выгрузка данных»
Добавлена возможность автоматического заполнения настроек по форматам выгрузки в соц. защиту по Республике Башкортостан.
Добавлена выгрузка значения 0, если по обязательной числовой колонке нет данных.
Добавлен анализ наличия данных по услуге: если по услуге нет начислений, оплаты или задолженности, то она не выгружается в файл. Данный анализ выполняется при использовании групп услуг.
Реализовано закрепление двух первых колонок, в которых содержится номер позиции и код лицевого счета для удобства проверки при наличии большого количества колонок.
Отчеты «Квитанции», «Единый платежный документ»
Добавлена возможность сформировать отчет, даже если по подключенной услуге нет движения: начисления, оплаты, задолженности. Для этого необходимо установить флаг «Выводить все подключенные услуги».
Исправленные ошибки
В обработке «Групповое начисление за услуги» исправлена ошибка неверного сторнирования объема при отсутствии показаний. (16477)
Исправлена ошибка выполнения перерасчета пени при изменения настройки начисления с «Расчет по-старому» на «Не начислять». (16487)
Исправлена ошибка аварийного завершения группового начисления за услуги. (16533)
Обработка «Выгрузка данных»
Исправлена ошибка некорректного вывода данных в колонке «Количество месяцев задолженности». (15833)
Отчет по задолженности
Исправлена ошибка некорректного определения общей суммы задолженности. (16513)
Отчет «Единый платежный документ»
Исправлена ошибка формирования отчета «Значение не является значением объектного типа (ПредставлениеУслугиВКвитанциях)», которая возникала при наличии операции «Списание аванса». (16496)
В ЕПД-3 исправлена ошибка вывода ОДПУ, при которой игнорировались настройки отбора по услугам. Ошибка возникала при установке флага «Выводить показания ОДПУ при отсутствии начислений». (16488)
В ЕПД-5 исправлена ошибка дублирования суммы комиссии банка в строку «Итого к оплате за расчетный период». (16501)
Отчет «Квитанции»
Исправлена ошибка «Нарушение прав доступа», возникающая при формировании отчета в ролях, не обладающих правами Администратора. (16491)
Справочник «Печатные формы отчетов»
Исправлена ошибка «Нарушение прав доступа», возникающая при попытке открытия элемента справочника в ролях, не обладающих правами Администратора. (16499)
Отчеты
Исправлена ошибка «Недостаточно прав для работы с таблицей «РегистрНакопления.икВзаиморасчетыПоСоглашениям», возникающая при формировании некоторых отчетов.(16499)
Оплата
info_outline Изменения касаются только конфигурации «Инфокрафт: Формула ЖКХ + Бухгалтерия».
Исправлена ошибка очищения поля «Сумма платежа» при изменении вида операции в документах «Поступление наличных», «Поступление на расчетный счет», «Операции по платежным картам».(16490)
Инструкция вам помогла? ДаНет 2 Темы: Описание обновлений
Главная | Тексты статей | Добавить статьи | Контакты |
Наиболее распространенным узлом цифровой техники и устройств автоматики являются регистры. Регистры строятся на базе синхронных одно- и двухступенчатых RS и D-триггеров. Регистры могут быть реализованы также на базе JK -триггеров. По способу приема и выдачи информации регистры делятся на следующие группы: с параллельным приемом и выдачей (рис. 3.25, а); с последовательным приемом и выдачей (рис. 3.25, б); с последовательным приемом и параллельной выдачей (рис. 3.25, в); с параллельным приемом и последовательной выдачей (рис. 3.25, г); комбинированные, с различными способами приема и выдачи (рис. 3.25, д) и реверсивные.
Регистры хранения (пямяти). Регистры с параллельным приемом и выдачей информации служат для хранения информации и называются регистрами памяти или хранения. Изменение хранящейся информации в регистре памяти (запись новой информации) осуществляется после установки на входах D0 . . . Dm новой цифровой комбинации (информации) при поступлении определен-
ного уровня или фронта синхросигнала (синхроимпульса) С на вход «С” регистра. Количество разрядов записываемой цифровой информации определяется разрядностью регистра, а разрядность регистра, в свою очередь, определяется количеством триггеров, образующих этот регистр. В качестве разрядных триггеров регистра памяти используются синхронизируемые уровнем или фронтом триггеры. Регистры памяти могут быть реализованы на D-триггерах, если информация поступает на входы регистра в виде однофазных сигналов и на RS-триггерах, если информация поступает в виде парафазных сигналов. В некоторых случаях регистры могут иметь вход для установки выходов в состояние «0”. Этот асинхронный вход называют входом R «сброса” триггеров регистра. На рис. 3.26 приведены схемы четырехразрядных регистров памяти на D- и RS-триггерах, синхронизируемых уровнем и фронтом синхроимпульсов (обычно четыре триггера объединены в одном корпусе ИМС).
а) б) в)
Регистры сдвига. Регистры с последовательным приемом или выдачей информации называются сдвиговыми регистрами или регистрами сдвига. Регистры сдвига могут выполнять функции хранения и преобразования информации. Они могут быть использованы для построения умножителей и делителей чисел двоичной системы счисления, т.к. сдвиг двоичного числа влево на один разряд соответствует умножению его на два, а сдвиг вправо — делению на два. Регистры сдвига широко используются для выполнения различных временных преобразований цифровой информации: последовательное накопление последовательной цифровой информации с последующей одновременной выдачей (преобразование последовательной цифровой информации в параллельный код) или одновременный прием (параллельный прием) информации с последующей последовательной выдачей (преобразование параллельного кода в последовательный). Регистры сдвига могут служить также в качестве элементов задержки сигнала, представленного в цифровой форме. Действительно, регистры с последовательным приемом (вводом) и выводом осуществляют задержку передачи информации на m+1 тактов ( m+1 — число разрядов регистра) машинного времени. Регистры сдвига обычно реализуются на D-триггерах (рис. 3.27, а) или на RS-триггерах (рис. 3.27, б), где для ввода информации в первый разряд включается инвертор (первый разряд представляет собой D-триггер). Следует отметить, что все регистры сдвига строятся на базе двухступенчатых триггеров или синхронизируемых фронтом синхроимпульса. Разрядность регистров сдвига, как и у регистров хранения, определяется количеством триггеров, входящих в их состав. На рис. 3.27 приведены схемы четырехразрядных регистров сдвига, реализованных на D- и RS-триггерах, а временные диаграммы, поясняющие работу регистра сдвига, приведены на рис. 3.28.
Вывод параллельной информации из регистра сдвига (см. рис. 3.27, в) осуществляется при подключении всех триггеров регистра к отдельным выводам (на рис. 3.27, а и б эти выводы показаны штриховыми линиями). Как было сказано выше, регистры сдвига синхронизируются фронтом тактирующих импульсов, т.е. запись новой информации в триггеры регистра происходит в течение очень короткого времени — за время длительности фронта синхроимпульса, вернее в момент поступления соответствующего фронта синхроимпульса. Обычно, это «время” значительно меньше времени распространения сигнала, т.е. времени переключения триггера регистра в новое состояние. Работу регистра сдвига рассмотрим на примере схемы, приведенной на рис. 3.27, а.
Можно предположить, что в начале все триггеры регистра находятся в состоянии логического нуля, т.е. Q0=0, Q1=0, Q2=0, Q3=0. Если на входе D-триггера Т1 имеет место логический 0, то поступление синхроимпульсов на входы «С” триггеров не меняет их состояния.
Как следует из рис. 3.27, синхроимпульсы поступают на соответствующие входы всех триггеров регистра одновременно и записывают в них то, что имеет место на их информационных входах. На информационных входах триггеров Т2, Т3, Т4 — уровни логического «0”, т.к. информационные входы последующих триггеров соединены с выходами предыдущих триггеров, находящихся в состоянии логического «0”, а на вход «D” первого триггера, по условию примера, подается «0” из внешнего источника информации. При подаче на вход «D” первого триггера «1”, с приходом первого синхроимпульса, в этот триггер запишется «1”, а в остальные триггеры — «0”, т.к. к моменту поступления фронта синхроимпульса на выходе триггера Т1 «ещё” присутствовал логический «0”. Таким образом, в триггер Т1 записывается та информация (тот бит), которая была на его входе «D” в момент поступления фронта синхроимпульса и т.д.
При поступлении второго синхроимпульса логическая «1” , с выхода первого триггера, запишется во второй триггер, и в результате происходит сдвиг первоначально записанной «1” с триггера Т1 в триггер Т2, из триггера Т2 в триггер Т3 и т.д. (рис. 3.28). Таким образом, производится последовательный сдвиг поступающей на вход регистра информации (в последовательном коде) на один разряд вправо в каждом такте синхроимпульсов.
После поступления m синхроимпульсов (на рис. 3.27 и рис. 3.28 m=4) регистр оказывается полностью заполненным разрядами числа, вводимого через последовательный ввод «D”. В течение следующих четырех синхроимпульсов производится последовательный поразрядный вывод из регистра записанного числа, после чего регистр оказывается полностью очищенным (регистр окажется полностью очищенным только при условии подачи на его вход уровня «0” в режиме вывода записанного числа).
Рис. 3.27. Регистры сдвига на D – триггерах а), RS – триггерах б) и комбинированный регистр на D — триггерах
Кольцевые счетчики. На базе регистров сдвига можно построить кольцевые счетчики — счетчики Джонсона. Счетчик Джонсона имеет коэффициент пересчета, вдвое больший числа составляющих его триггеров. В частности, если счетчик состоит из трех триггеров (m=3), то он будет иметь шесть устойчивых состояний. Счетчик Джонсона используется в системах автоматики в качестве распределителей импульсов и т.д.
Таблица состояний счетчика Джонсона (рис. 3.29) содержит 2m (m — количество триггеров в составе регистра) строк и m-столбцов. Количество разрядов счетчика определяется количеством триггеров (рис. 3.29). Рассмотрим схему трехразрядного счетчика Джонсона, выполненного на базе D-триггеров (регистр сдвига реализован на D-триггерах). Для построения кольцевого счетчика достаточно соединить инверсный выход последнего триггера регистра (последнего разряда) с входом «D” (с входом, предназначенным для ввода последовательной информации) первого триггера.
Рис. 3.29. Таблица состояний а) и схема б) счетчика Джонсона на трехразрядном регистре сдвига
Предположим, что вначале все триггеры находятся в состоянии «0”, т.е. Q0= Q1=Q2=0. При этом на входе «D” первого триггера присутствует уровень «1”, т.к =1. Первым синхроимпульсом в триггер Т1 запишется «1”, вторым — единица запишется в первый триггер, из первого — во второй и т.д. до тех пор, пока на всех выходах регистра не будет «1”. После заполнения регистра единицами, на инверсном выходе триггера Т3 появится =0 и четвертым синхроимпульсом в Т1 запишется логический «0” (рис. 3.29, б).
После поступления последующих трех синхроимпульсов регистр обнуляется и на его вход «D” снова подается уровень «1”. Таким образом, цикл повторения состояния кольцевого счетчика состоит из шести тактов синхросигнала. Как видим, при работе в начале от первого триггера до последнего триггера распространяется «волна единиц”, а затем «волна нулей”. Код, в котором работает счетчик Джонсона, называют кодом Либау-Крейга.
Генераторы чисел. На базе кольцевых счетчиков можно реализовать генераторы различных двоичных чисел. Вывод генерируемых чисел можно осуществлять как в параллельном, так и в последовательном коде.
В качестве примера рассмотрим работу трехразрядного (очевид-но, что количество разрядов может быть и более трех) генератора чисел, реализованного на базе D-триггеров. Генератор чисел представим как совокупность трехразрядного регистра сдвига и комбинационного устройства КУ, выходной сигнал которого служит «источником” информации для регистра сдвига (рис. 3.30). Входными переменными КУ являются выходные сигналы разрядных триггеров регистра сдвига Q0, Q1, Q2. Цикл повторения чисел определяется 2m — тактами синхросигнала (максимальный цикл). В таблице состояний генератора чисел использованы (рис. 3.31, а) следующие обозначения: Nп — десятичный эквивалент двоичного числа, реализуемого в параллельном коде; D — функция аргументов Q0, Q1, Q2. Эту функцию можно рассматривать как последовательный код. Для получения минимальной дизъюнктивной формы записи функции D построим карту Карно (рис. 3.31, б).
Рис. 3.30. Структурная схема трехразрядного генератора чисел на D — триггерах
Схема комбинационного устройства содержит три элемента конъюнкции и один элемент дизъюнкции (рис. 3.32). При построении схемы КУ дополнительные инверторы не потребуются, т.к. триггеры регистра имеют как прямые, так и инверсные выходы.
Использование регистров сдвига в кольцевых схемах представляет практический интерес, так как его структурные схемы состоят из повторяющихся триггерных цепей, обладают наращиваемостью и пригодны для различных применений.
В приложениях приведены схемные обозначения и нумерация выводов регистров, выпускаемых в интегральном исполнении.
Виртуальные таблицы остатков и оборотов
рубрики: Виртуальные таблицы | Дата: 11 июня, 2017
Регистры накопления в системе 1С:Предприятие делятся на два вида: регистры накопления остатков и регистры накопления оборотов.
Вид регистра выбирается при его создании в конфигураторе
Как следует из названия одни предназначены для получения остатков на какую-либо дату, а вторые для получения оборотов за выбранный период. В зависимости от вида регистра накопления платформа 1С:Предприятия формирует разный набор виртуальных таблиц. В этой статье и рассмотрим работу с виртуальными таблицами регистров накопления. Для этого создадим регистр накопления остатков — ТоварыОстатки и регистр накопления оборотов — ТоварыОбороты.
Теперь рассмотрим какие виртуальные таблицы предоставляет платформа для каждого из этих регистров.
Регистр накопления оборотов
Для наглядности откроем конструктор запросов и посмотрим какие таблицы доступны для регистра ТоварыОбороты. Это таблица самого регистра — ТоварыОбороты, которая существует физически в базе данных, и одна виртуальная таблица — ТоварыОбороты.Обороты
Со стандартной таблицей все понятно. Рассмотрим подробнее виртуальную.
Виртуальная таблица Обороты
Эта таблица позволяет получать оброты ресурсов в разрезе измерений. В нашем случае у нас два измерения: Склад и Товар. И один ресурс — Количество
Пусть в нашем регистре есть следующие записи
Вернемся в конструктор запросов и для начала просто выберем из таблицы ТоварыОбороты.Обороты все поля
Соответственно запрос будет выглядеть следующим образом:
ВЫБРАТЬ ТоварыОборотыОбороты.Склад, ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(, , , ) КАК ТоварыОборотыОбороты
Результат выполнения запроса выглядить вот так:
Склад | Товар | КоличествоОборот |
---|---|---|
Центральный | Ручка | 3 |
Офис | Ручка | 7 |
Центральный | Карандаш | 21 |
Офис | Карандаш | 4 |
То есть мы получили обороты в разрезе товаров и складов за все время. Предположим, что нас не интересуют склады и мы хотим получить обороты только в разрезе товаров.
Для этого исключим из запроса измерение Склад
ВЫБРАТЬ ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(, , , ) КАК ТоварыОборотыОбороты
и в результате у нас останется только две строки
Товар | КоличествоОборот |
---|---|
Ручка | 10 |
Карандаш | 25 |
Но как правило за все время существования регистра обороты получать не требуется. В основном они нужны за какой-то конкретный период: месяц, квартал, год и т.д. Плюс еще обычно нужны отборы по измерениям (Товар, Склад). Это достигается использованием параметров виртуальной таблицы. Заполнять параметры удобно из конструктора. По кнопке Параметры виртуальной таблицы открывается диалоговое окно в котором можно прописать все что нам нужно:
После этого наш исходный запрос примет следующий вид
ВЫБРАТЬ ТоварыОборотыОбороты.Склад, ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(&НачалоПериода, &КонецПериода, , Склад = &Склад) КАК ТоварыОборотыОбороты
Как видим отличие в том, что в скобках после имени виртуальной таблицы появились параметры, которые необходимо заполнить перед выполнением запроса.
У тех кто только начинает работать с виртуальными таблицам зачастую возникает соблазн вместо использования параметров установить отбор привычным способом:
ИЗ РегистрНакопления.ТоварыОбороты.Обороты(, , , ) КАК ТоварыОборотыОбороты ГДЕ ТоварыОборотыОбороты.Склад = &Склад
Делать так категорически нельзя. Это отрицательно скажется на производительности и на вашей оценке при сдаче экзамена 1С:Специалист.
При заполнении параметров мы пропустили Периодичность. Давайте раскроем список и из массы возможных вариантов выберем Месяц. Все остальные параметры уберем, чтобы не путаться.
После этого наблюдаем, что в полях таблицы появилось поле Период.
Добавив и его в выбранные поля, получим вот такой текст запроса:
ВЫБРАТЬ ТоварыОборотыОбороты.Период, ТоварыОборотыОбороты.Склад, ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(, , Месяц, ) КАК ТоварыОборотыОбороты
Выполняем запрос:
Таким образом внутри выбранного временного интервала мы можем разбить обороты на более мелкие промежутки в соответствии с выбранной периодичностью.
Регистр накопления остатков
Так же как и с оборотным регистром посмотрим в конструкторе запросов какие же виртуальные таблицы доступны для регистра накопления остатков
Как видим для регистра накопления остатков доступны три виртуальные таблицы: Обороты, Остатки, ОстаткиИОбороты. Рассмотрим каждую из них в отдельности.
Несмотря на то, что вид регистра — Остатки, мы тем не менее можем получать по нему и обороты. Плюс у нас здесь есть два дополнительных ресурса: Приход и Расход
Напомню, что когда делается запись в регистр остатков, указывается вид движения накопления (приход или расход), тогда как для оборотного регистра вид движения не указывают. Поэтому здесь мы имеем дополнительный бонус в виде возможности получить не только в целом оборот за период, но и приход с расходом в отдельности. Но конечно если в метаданных есть оборотный регистр с аналогичным набором измерений, то для получения оборотов лучше использовать именно его. В целом работа с этой виртуальной таблицей подобна работе с виртуально таблицей Обороты оборотного регистра, рассмотренной выше.
Виртуальная таблица Остатки
Эта таблица используется для получения остатков ресурсов в разрезе измерений. В параметрах таблицы мы можем указать дату на которую получаем остатки и установить отборы:
Рассмотрим небольшой пример. Имеем следующие записи регистра:
Выберем все доступные поля а в качестве даты получения остатков установим конец июня. Отбор по измерениям устанавливать не будем. Тогда текст запроса будет выглядеть следующим образом:
ВЫБРАТЬ ТоварыОстаткиОстатки.Склад, ТоварыОстаткиОстатки.Товар, ТоварыОстаткиОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыОстатки.Остатки(&ДатаОстатков, ) КАК ТоварыОстаткиОстатки
А после его выполнения получим вот такой результат
Склад | Товар | КоличествоОстаток |
---|---|---|
Центральный | Ручка | 3 |
Центральный | Карандаш | 21 |
Офис | Ручка | 7 |
Офис | Карандаш | 4 |
Виртуальная таблица ОстаткиИОбороты
Эта таблица объединяет в себе две ранее рассмотренные и позволяет получить обороты за выбранный период времени, а также остатки на начало и на конец периода. Также можно установить отбор.
Использование этой таблицы может быть оправдано, когда нужно в одном отчете одновременно получить и обороты и остатки на начало и конец периода. В остальных случаях злоупотреблять ее применением не стоит.
Сворачивал ИБ УТ 11.3 на 31.12.2016, сформировались корректные документы ВНО, но отчеты показывали движения за май 2016 года. Необходим пересчет итогов!
Пересчет итогов
Обычно в такой ситуации помогает пересчет итогов:
- в режиме 1С:Предприятия. «Администрирование — Поддержка и обслуживание — Регламентные операции — Управление итогами и агрегатами» или «Все функции — Стандартные — Управление итогами», в обоих случаях можно установить период рассчитанных итогов;
- в режиме Конфигуратора. «Администрирование — Тестирование и исправление» в появившемся окне оставляем галку «Пересчет итогов»(остальные убираем) и нажимаем кнопку «Выполнить».
Но сейчас должного эффекта операция не произвела, отключение и включение итогов по регистрам тоже не подействовало.
Решение
Путем формирования отчетов было выявлено, что движения есть по РН.ТоварыНаСкладах на 31.05.2016 23:59:59, и видны в отчетах если в период отчета попадает эта дата. Если построить отчет после этого периода, то движений нет!
Для исправления воспользуемся методом регистра накопления ПересчитатьИтогиЗаПериод() указав нужный период
&НаСервере Процедура ПересчитатьИтоги(Период) РегистрыНакопления.ТоварыНаСкладах.ПересчитатьИтогиЗаПериод( , КонецДня(Период)); КонецПроцедуры
После выполнения приведенного кода на 31.05.2016, итоги пересчитались и отчеты начали отображать верные данные!
Так же можно ознакомиться со статьей 1С. Исправление неверной нумерации
Интересные материалы:
- Поиск работы прикол
Каждому из нас приходилось в жизни искать работу. Кому-то удается найти ее быстро. А кому-то…
- Режим работы налоговой кировского района Пермь
Полное название Управление федеральной миграционной службы, по г. Пермь Область / Город Приволжский федеральный округ,…
- Пленум о лишении родительских прав
Постановлением Пленума Верховного Суда РФ от 14 ноября 2017 г. № 44 утверждена практика применения…
- Режим работы налоговой московского района нижнего новгорода
←Вернуться к стандартному видуПечать→Предоставление муниципальной услуги "Прием заявлений, постановка на учет и зачисление детей в…
- Как в 1С зуп отстранить от работы
Как в программе "1С:Зарплата и управление персоналом 8" редакции 3 зарегистрировать отстранение сотрудника от работы…