Изменение записи в регистре накопления
Народ, возможно ли программно изменить запись движения в регистре накопления?
Например — есть такая запись:
Регистратор. количество
документ1 5 — было
документ1 2 — стало
а в каких случаях это необходимо?
партионный учет считается очень медленно — партий более 70 тыс.
приходит заявка — формируется отгрузка — документ с партиями (количество в которых не равно нулю)
пересчет количества номенклатуры на текущий момент — затруднительно.
думаю сделать просто «вычет» количества по партии, а не создавать движение «расход».
или подскажите как сделать по-другому. каждая партия имеет свой уникальный ид.
Номенклатуры порядка 10-15 тыс. на момент внесения остатков (точка «старта») — внесено более 70 тыс партий.(приход).
после этого — пользователь загружает заявку (около 150-200 позиций номенклатуры с заданными количествами) и программа начинает автоматом «набирать» из существующих непустых партий (считаем по остаткам) необходимое количество по учету фифо и сроку годности.
Сейчас все это я реализовал через подсчет остатков приход/расход, работает достаточно медленно.
Сначала я определяю все партии этой номенклатуры, затем определяю для каждой партии пустая она или нет (есть ли движения по ид), выбираю «непустые» — делаю расход по ид этих партий. и так для каждой из 150-200 позиций.
думаю, если не считать остатки по приходу/расходу, а сразу вносить изменения в «приход» при проведении документа реализации, то можно будет сразу выбирать непустые партии и набирать количество.
(9)Подскажи как программно сделать запись в документе «расхода», чтобы «проведение» только изменяло параметр в регистре строчке записи партии — не могу пока найти ни в книге, ни в инете.
Или хотя бы как вообще программно поменять запись в регистре (не меняя регистратора)
Вообще была идея сделать это через регистр сведений. не столько важна «история» системы, сколько быстрая работа .
(12) ты говоришь, о том, что если я сначала ввожу партию «документ 1» (кол-во 10), затем «как-то программно» сокращаю эту партию до (кол-во 2), а потом перепровожу «документ 1» — количество становиться опять 10?
(14) Особенность партионного учета — если ты перепроводишь какой-то документ внесенный раннее — нужно перепровести все документы (прочитал где-то, да это и понятно, иначе последовательности пропадут);
НаборЗаписей — такого не нашел в СП.
Нашел
РегистрНакопленияНаборЗаписей.<Имя регистра накопления> (AccumulationRegisterRecordSet.<Имя регистра накопления>)
Выгрузить (Unload)
Синтаксис:
Выгрузить(<Строки>, <Колонки>)
Параметры:
<Строки> (необязательный)
Тип: Массив. Массив строк для выгрузки. Если не указан, выгружаются все строки набора записей.
<Колонки> (необязательный)
Тип: Строка. Список колонок для выгрузки в формате: «Колонка1, Колонка2. «. Если список не задан, то будут выгружены все колонки.
Возвращаемое значение:
Тип: ТаблицаЗначений.
Описание:
Создает таблицу значений и копирует в нее записи набора. Структура полученной таблицы совпадает со структурой набора записей.
Пример:
Рег = РегистрыНакопления.Затраты;
НаборЗаписей = Рег.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Значение = Ссылка;
ОсновныеДанные = НаборЗаписей.Выгрузить();
где-бы взять примерчик по понятнее.
и в общем — возможен ли другой подход для убыстрения работы?
Запрос=Новый Запрос;
Запрос.Текст=
«ВЫБРАТЬ
| ТоварыНаСкладах.Период как Период,
| ТоварыНаСкладах.Регистратор как Регистратор,
| ТоварыНаСкладах.Количество как Количество
|ИЗ
| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
| ГДЕ
| ТоварыНаСкладах.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
|И ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг «;
Запрос.УстановитьПараметр(«ДатаНачала», НачПериода);
Запрос.УстановитьПараметр(«ДатаОкончания», КонПериода);
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить (Выборка.Количество());
Выборка.Количество()
КонецЦИкла;
Запрос=Новый Запрос;
Запрос.Текст=
«ВЫБРАТЬ
| ТоварыНаСкладах.Период как Период,
| ТоварыНаСкладах.Регистратор как Регистратор,
| ТоварыНаСкладах.Количество как Количество
|ИЗ
| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
| ГДЕ
| ТоварыНаСкладах.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
|И ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг «;
Запрос.УстановитьПараметр(«ДатаНачала», НачПериода);
Запрос.УстановитьПараметр(«ДатаОкончания», КонПериода);
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей.Отбор.Регистратор.Установить(ВыборкаРегистратор);
НаборЗаписей.Прочитать();
НаборЗаписей.Количество=5;
НаборЗаписей.Записать();
КонецЦИкла;
Запрос=Новый Запрос;
Запрос.Текст=
«ВЫБРАТЬ
| ТоварыНаСкладах.Период как Период,
| ТоварыНаСкладах.Регистратор как Регистратор,
| ТоварыНаСкладах.Количество как Количество
|ИЗ
| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
| ГДЕ
| ТоварыНаСкладах.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
|И ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг «;
Запрос.УстановитьПараметр(«ДатаНачала», НачПериода);
Запрос.УстановитьПараметр(«ДатаОкончания», КонПериода);
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();
Для каждого движ из НаборЗаписей Цикл
Движ.Количество=5;
КонецЦИкла;
НаборЗаписей.Записать();
ВыборСуществующихПартий = Новый Запрос(«ВЫБРАТЬ
| СкладскойРегистр.Ид КАК Ид,
| СкладскойРегистр.Количество КАК Колво
|ИЗ
| РегистрНакопления.СкладскойРегистр КАК СкладскойРегистр
|ГДЕ
| СкладскойРегистр.Артикул = &Артикул
| И СкладскойРегистр.ВидДвижения = &ВидДвижения
| И СкладскойРегистр.Количество > 0
|
|УПОРЯДОЧИТЬ ПО
| СкладскойРегистр.СрокГодности»);
ВыборСуществующихПартий.УстановитьПараметр(«Артикул»,ВыбранныйАртикул);
ВыборСуществующихПартий.УстановитьПараметр(«ВидДвижения», ВидДвиженияНакопления.Приход);
Результат = ВыборСуществующихПартий.Выполнить().Выбрать();
НаборЗаписей=РегистрыНакопления.СкладскойРегистр.СоздатьНаборЗаписей();
//=====================================================
Пока Результат.Следующий() Цикл
//Сообщить(Результат.Ид+», «+Результат.Колво);
НаборЗаписей.Отбор.Ид.Установить(Результат.Ид);
НаборЗаписей.Прочитать();
Работа с регистрами накопления
Регистр накопления предназначены для хранения числовых показателей в разрезе нескольких измерений и, при необходимости, в разрезе времени.
Добавление записей в регистр накопления
Для добавления движения в регистр накопления необходимо создать набор записей, установить отбор по регистратору, добавить запись и заполнить значениями. Если требуется добавить несколько записей – добавление производится в цикле.
Удаление записей из регистра накопления
Удаление всех записей по регистратору
Для удаления всех записей из регистра накоплений по регистратору необходимо создать пустой набор записей, установить отбор по регистратору и записать его.
Удаление части записей по регистратору
Очень часто нужно удалить не все записи по регистратору, а только часть из них. Для этого необходимо создать пустой набор записей, установить отбор по регистратору и считать отобранные записи из базы. После чего нужно обойти отобранные записи и удалить из набора .
Изменение записи в регистре накопления
Изменение записи по регистратору аналогично удалению части записей, только запись не удаляется, а изменяется.
1с как изменить регистр накопления
Описание:
Регистры накопления в системе 1С:Предприятие используются для накопления информации о наличии и движении средств — товарных, денежных и других. Информация о хозяйственных операциях в регистры накопления вводится с использованием документов (регистраторов) и используется, например, для получения отчетных форм.
Регистр накопления представляет собой n-мерную систему координат, в узлах которой хранятся совокупные данные. Оси такой системы координат будем называть измерениями регистра, а хранящиеся в узлах данные — ресурсами регистра. Содержимое регистра накопления можно представить в виде таблицы с количеством колонок, равным сумме измерений и ресурсов регистра накопления.
Помимо измерений и ресурсов, для регистра накопления может быть создан набор реквизитов. Реквизиты позволяют включать в движения регистров различную дополнительную информацию. Реквизиты не влияют на значения ресурсов регистра и могут использоваться для анализа движений регистра.
В системе 1С:Предприятие возможно использование регистров накопления двух типов: регистры остатков и регистры оборотов. Для регистра остатков методы встроенного языка позволяют получить остатки регистра накопления на заданный момент времени. Есть возможность фильтрации по значениям измерений, а также получения остатков в разрезе других измерений. Регистры оборотов предназначены для хранения информации, для которой понятие остатка лишено смысла, например, сумм продаж в разрезе покупателей.
В программных модулях для общих действий над регистром накопления (получение остатков и оборотов по данным регистра накопления, поиска нужных записей, формирования выборок, создания форм и макетов) служит объект РегистрНакопленияМенеджер.<Имя регистра накопления>. Для считывания и занесения набора записей в базу данных по определенному условию отбора служит объект РегистрНакопленияНаборЗаписей.<Имя регистра накопления> Для динамического обхода записей регистра служит объект РегистрНакопленияВыборка.<Имя регистра накопления>.
Как изменить регистры в 1С?
Однако в 1С:Предприятии 8 существует возможность изменять записи регистров без участия документа.Таким образом, чтобы изменить записи регистра необходимо:
- создать набор записей;
- установить отбор по определенному регистратору;
- прочитать набор;
- изменить записи набора;
- записать набор.
Как сделать корректировку записей регистров?
Для того чтобы оформить документ «Корректировка регистров», необходимо выполнить следующие действия:
- Меню: НСИ и администрирование — Начальное заполнение — Корректировка записей регистров.
- Нажмите Создать — Настройка состава регистров и отметьте флагами необходимые регистры (рис.
Как поправить регистры в 1С?
Для внесения изменений в регистры необходимо в командной панели документа Операция нажать на кнопку Еще, выбрать опцию Выбор регистров, перейти на закладку Регистры накопления или Регистры сведений и выбрать для корректировки требуемые регистры.
Где в 1С 8.3 посмотреть данные регистров накопления?
Если в пользовательском режиме мы зайдем в раздел «Все функции», то там тоже можем увидеть ветку «Регистры накопления». Регистр накопления — это таблица, накапливающая информацию из движения документов (приход/расход, обороты).
Что такое Корректировка записей регистров?
Обработка «Корректировка записей регистров» позволяет корректировать записи регистров выбранного документа или записи за указанный период по выбранным регистрам. Изменения в записях возможно в регистрах накопления, сведений(подчиненные регистратору), бухгалтерии и расчетов.
Как изменить запись в регистре накопления 1с?
Для изменения записей регистра можно использовать и набор записей созданный с помощью менеджера регистра.Таким образом, чтобы изменить записи регистра необходимо:
- создать набор записей;
- установить отбор по определенному регистратору;
- прочитать набор;
- изменить записи набора;
- записать набор.
Как обнулить регистры в 1с?
Обработка очистка регистра сведений в 1С 8.3
Чтобы ею воспользоваться, ее необходимо открыть в пользовательском режиме через пункт меню «Файл» — «Открыть». Указываем имя регистра, который нам нужно очистить (обязательно уточнить его название в конфигураторе) и нажимаем кнопку «Очистить регистр».
Как заполняются регистры?
Из ст. 314 НК РФ следует, что регистры налогового учета (НУ) заполняются на основании первичных учетных документов непрерывно в хронологическом порядке. Это означает, что беспорядочное или безосновательное занесение данных в регистр, а также пропуски или какие-либо изъятия не допускаются. ВАЖНО!
Чем отличается регистр остатков от регистра оборотов?
Регистры остатков и регистры оборотов
Регистр накопления остатков позволяет хранить как итоговые значения ресурсов — остатки, так и изменения этих ресурсов — обороты. Регистр накопления оборотов является более «специализированным» видом регистра накопления и позволяет хранить только изменения ресурсов — обороты.
Где в 1С регистры?
В общем случае использование регистров 1С описывается схемой: «Документ — Регистр — Отчет».
Как почистить регистр сведений?
Как удалить записи регистра сведений
Удалить все записи в регистре сведений можно с помощью двух строчек кода: НаборЗаписей = РегистрыСведений[ИмяРегистра]. СоздатьНаборЗаписей(); // ИмяРегистра например «УчетнаяПолитика», «ЦеныНоменклатуры» и т. д НаборЗаписей.
Какие бывают виды регистров?
Регистры классифицируются по следующим видам:
- накопительные (регистры памяти, хранения);
- сдвигающие или сдвиговые.
В чем разница между регистром сведений и регистром накопления?
Чем Регистры сведений отличаются от Регистров накопления? Регистры сведений предназначены для хранения информации, развернутой по комбинации измерений, а регистры накопления предназначены для хранения информации, развернутой по комбинации измерений и поддающиеся суммированию.
Как включить ручную корректировку в 1с 8?
Как произвести редактирование вручную проводки в проведённом документе в программе 1С:Бухгалтерия 8 ред. 3.0:
- Для ручного редактирования необходимо установить галочку в верхней части таблицы с проводками — Ручная корректировка.
- После отражения необходимых ручных корректировок нужно сохранить изменённый документ.
Сколько есть регистров?
Виды регистров голоса — верхний, средний и нижний Регистры голоса — это звуковой ряд, пропеваемый на одной высоте, с одинаковой тембральной окраской, в рамках одного диапазона. Теория голосовых регистров принадлежит Италии — родине «красивого пения» (Bel canto).
Сколько всего регистров?
Итого, всего три регистра: низкий регистр, средний регистр, высокий регистр.
Как посмотреть регистры в 1с ERP?
1) или воспользоваться сочетанием клавиш Ctrl+Shift+A. При этом откроется одноименная форма, в ней отражаются все регистры, в которые попадает информация из выбранного документа.
Сколько регистров общего назначения?
В первую группу входят регистры общего назначения. В процессорах 386 и выше имеются восемь 32-битовых регистров общего назначения EAX, EBX, ECX, EDX, ESI, EDI, EBP, и ESP.
Сколько сегментных регистров?
В программной модели IA-32 имеется шесть сегментных регистров CS, SS, DS, ES, GS, FS, служащих для доступа к четырем типам сегментов. Сегмент кода. Содержит команды программы.
Как добавить записи в регистр сведений 1С?
Для добавления отдельной записи в регистр сведений, не подчиненный регистратору, можно использовать объект РегистрСведенийМенеджерЗаписи. <имя>. МенеджерЗаписи = РегистрыСведений. ЗначенияСвойствОбъектов.
Как в 1С сформировать регистры налогового учета?
Для формирования регистров налогового учета в программе «1С:Бухгалтерия 8» (ред. 3.0) используются специальные отчеты (раздел: «Отчеты» — «Регистры налогового учета»). Регистры формируются по данным налогового учета, отраженным на счетах бухгалтерского учета и содержат все необходимые реквизиты.
Зачем нужно измерение у регистра 1С?
Ответ тренера Регистры сведений позволяют хранить в прикладном решении произвольные данные в разрезе нескольких измерений. Например, в регистре сведений можно хранить курсы валют в разрезе валют и дат или цены предприятия в разрезе номенклатуры, типа цен и дат.
Где находится регистр?
Регистры общего назначения физически находятся в микропроцессоре внутри арифметико-логического устройства (АЛУ), поэтому их еще называют регистрами АЛУ.
Что такое регистр в 1С?
Регистры сведений — это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении произвольные данные в разрезе нескольких измерений. Например, в регистре сведений можно хранить курсы валют в разрезе валют, или цены предприятия в разрезе номенклатуры и типа цен.
Для чего нужен регистр накопления?
Регистр накопления — это прикладной объект конфигурации, предназначенный для хранения информации об операциях документов-регистраторов. Он служит для оперативного получения информации по операция «Поступления», «Списание» и т. д.