#0
by Гений 1С
Господа, я вот в порядке бреда "родил" очередную мысль. Всем вам известен алгоритм партионного учета. В классике это делается на регистре остатков. Т.е. есть некий регист, в упрощенном виде: Измерение:Партия => Ресурс:Количество. Для списания получаем все доступные партии поступления, упорядоченные по FIFO и LIFO и списываем с них. Я вот подумал, а будет ли выигрыш, если делать партионный учет на паре регистров сведений. Первый регистр сведений ДоступныеПартии: Измерение:Партия => Ресурсы:ОбщееКоличество, ДоступноеКоличество. Второй регистр сведений СписанныеПартии: Измерения:Партия, ДокументСписания => Ресурсы:Списано. Тогда алгоритм списания будет таким: найти все партии, у которых доступное количество<>0 и дата меньше даты документа списания. Занести списания в регистр СписанныеПартии и уменьшить доступное количество в регистре ДоступныеПартии. Правда, придется еще заниматься и отменой проведения - восстанавливать партии, но можно все это занести в модуль одного из регистров, тогда будет идти автоматом. Ускорение за счет того, что партии хранятся отдельно и меньше по объему их таблица физически, так же не нужно считать остатки. Что скажете? Больно не бейте.
#12
by AndreySrg
Да, будут. Очень актуально для меня ;). А если в доп. регистре хранить партии по которым есть остатки и в запросе указывать их список, ИМХО быстрее будет...
#14
by Гений 1С
О, точняк, получается три регистра. Партии израсходованные, партии доступные и списания по партиям. Ты точно не прикалываешься? Мне идея сегодня в бошку пришло...
#23
by Гений 1С
ну приведи пример того, что ты нарыла гуглем и по каким ключевым словам? Зачем рыть, я такого не встречал, а ты бы если бы знала лучше бы линк кинула, а не ругалась.
#34
by Гений 1С
Вождь, избавь меня от своих риторических, не подкрепленных фактов реплик, по крайней мере в моих ветках. Знаешь, как о мертвых - Или факты или ничего.
#38
by vde69
лучше придумайте нормальный механизм авто вытеснения при востановлении кривых последовательностей, я думал, что для этого стоит ввести реквизт, типа НеЗаменятьФиксированно
#41
by у лю 427
Если наш гени(тали)й поймет, как по одной цифре (остатку в партии) расссказать все о движении данной партии, тогда он не только ускорит проведение, но и сделает ненужным перепроведение... P.S. только вот гениям этого не дано...
#43
by Муравей
Давай сделаем так. Ты реализуешь идею в конфу и мы посмотрим результаты. А то на словах в самом деле бред ...
#44
by Shurjk
Чем больше человек знает тем больше он сомневается излишняя самоуверенность происходит от невежества... , а вобще автор жжот...
#45
by Shurjk
Прям таки вижу эту бедную торговую фирму которой реализовали быстрый партионный учет руками одного из гениев...
#46
by у лю 427
ну у меня положим, по скорости партионный учет обычный, но позволяет работать задним числом без перепроведения... Штатными методами быстрее все равно не сделаешь... И чего я должен показывать?
#48
by Гений 1С
в таблице списаний ты увидишь всю историю списания по партиям, тупишь, чувак. Во-во, как ты это реализовал. :)
#49
by Гений 1С
будет время, поковыряюсь на каркасной - ну на той конфе, что экзамены по спецу сдают. Времени нет. А идея хорошая по-моему. :) И сразу видно неправильные партии - отсюда восстановление ГП быстрее.
#53
by Гений 1С
Идея такая (на данный момент времени) - для движений по партионке используется обычный регистр накопления (ОСВ будет как обычно). А вот для списания партий - регистр сведений свободные партии. То бишь для списания не нужно будет получать остатки по регистру накопления. Сие дает ускорение.
#54
by Гений 1С
И кстати, в модуле набора записей регистра накопления привязана автоматическая корректировка регистра сведений по свободным партиям
#56
by Гений 1С
ну прикинь - получение остатков по партиям заменяется выборкой из регистра сведений по заданным критериям.
#57
by Гений 1С
то бишь в классическом партионном алгоритме есть еще резервы для оптимизации. Жаль только, что регистр накопления можно перезаписывать только целиком по регистратору. (В 80 только такой отбор)
#60
by Гений 1С
вместо получения доступных партий из регистра остатков ты получаешь доступные партии из регистра сведений. Т.е. вместо виртуальных (вычисляемых) таблиц остатков ты берешь и фильтруешь регистр сведений по простому условию - поле доступное количество не равно нуль.
#61
by SilentMan
Не один хер? В одном случае фильтрует SQL-сервер, у которого мозг достаточно хороший, а в другом - интерпретируемый код, созданный ... к черту подробности :)
#62
by Vozhd
Расскажите, пожалуйста, как именно вычисляются остатки для регистра накопления и как происходит поиск данных в регистре сведений. Насколько я знаю устройство этих таблиц, разницы в скорости почти не будет. А если и будет, то не всегда в пользу регистра сведений.
#63
by Гений 1С
Окей. остатки: выбрать остатки по партиям по данному товару на момент документа. по сведениям: выбрать записи регистра сведений, у которых в партии стоит данный товар и дата партии которых больше либо равна моменту времени документа (количество не анализируется, в рс - только доступные, незакрытые партии). Остатки по любому еще надо посчитать на момент документа.
#64
by Neco
Что-то слишком сложно! Я вашу идей понимаю так: при приходе (ну скажем 10 единиц) выполняем запись в периодический регистр сведений "Доступные Партии" (а какая у него периодичность? Год?): Партия1 10 Потом списываем 5 единиц и вынуждены внести такую запись: Партия1 -5 Т.е. при расходе выпонив функцию СрезПоследних по Партии1 получим 5 единиц. Вроде все нормально, но таким образом мы эмулируем регистр накоплений. Но зачем нам эмулировать регистр накоплений если в 1С уже есть такой замечательный механизм. И думаю остатки по регистру накоплений работаю быстрее чем срез последних в регистре сведений. А тут еще проблема с периодичностью, как быть если период действия регистра закончился (в конце года), а нам нужно списывать с партий которые появились в прошлом периоде? Вообщем, на мой взгляд, идея не очень удачная.
#65
by vde69
Мне кажеться бред получиться (это примерно тоже если вести партионный учет в переодических элементах для 7.7), тоесть надо будем много чего пересчитывать при проведении документа Резюме выиграешь на чтение проиграешь на записи
#66
by Vozhd
А Вы уверены, что правильно себе представляете получение остатков из регистра накопления? Расчетов там ведется очень мало, а если еще нет работы махровым задним числом, то расчетов нет совсем. А вот поиск даных по условиям больше/меньше совсем не легкая процедура при больших объемах данных...
#67
by Гений 1С
неа... Партия - это документ Структура РС (непериодического) такова Партия,Товар,Дата => Остаток Этот РС заполняется автоматом из РС партий (накопления) Партия, Товар => Количество. Т.е. любое движение по приходу добавляет запись в РС, любое движение по расходу уменьшает соответствующее количество в РС, а если это количество становится равным нулю, то эта строчка удаляется из РС.
#68
by Гений 1С
Да, при одних и тех же условиях поиск по РС и поиск по РН выдадут один и тот же список (объем данных) - это на вопрос фильтрации, только по РН еще надо остатки посчитать на момент документа.
#69
by Vozhd
Фильтрация как раз может работать очень по разному для РС и для РН. А зачем считать остатки на момент документа? Чтобы получить красные остатки на конец месяца?
#70
by Neco
А что время выборки из регистра сведений производится быстрее чем расчет остатков в регистре накоплений? По моему дольше. Поскольку, если таблицы большие, тогда для отбора (даже по индексу) SQL должн перелопатить кучу данных, а остатки по рег. накоплений программа хранит в промежуточных таблицах, доступ к которым будет осуществлятся быстрее.
#71
by Гений 1С
фильтрация идет одинаково, ибо измерения одинаковые (все упирается в структуру измерений), а вот остатки надо еще вычислитьна момент документа. ты хоть раз писал партионное списание, хотя бы по ФИФО, что за глупый вопрос?
#73
by Гений 1С
А на какой момент вы берете остатки? Неужели на точку актуальности ;-) Поясните тогда...
#74
by Neco
Не очень понимаю глупость вопроса разъясни, пожалуйста? Хорошо но в чем тогда выигрыш если: > Да, при одних и тех же условиях поиск по РС и поиск по РН выдадут один и > тот же список (объем данных) - это на вопрос фильтрации, только по РН еще надо > остатки посчитать на момент документа Все равно нужно считать остатки, так зачем нам лазить по регистру сведений? Что то не улавливаю суть идеи
#75
by Vozhd
Остатки беру на конец месяца, если вообще их беру при проведении документа. Ведь партии то можно и в конце месяца подобрать регламентым документом.
#76
by Гений 1С
Не путай специфику своей конторы с общепринятыми нормами. Нам нужны актуальные остатки по партиям - супермаркет. Например, чтобы знать остатки по поставщикам!
#77
by Гений 1С
имеется ввиду списание партий на текущий момент времени, не откладывая до конца месяца!
#79
by Гений 1С
Стоп господа - посыпаю голову пеплом. Эта схема эквивалентна списанию товаров, когда остатки берутся на дату актуальности итогов. :-) Окей... Убедили. Бред, хотя надо над ним подумать.
#80
by Гений 1С
Тогда как вам другой бред (свеженоворожденный). В справочнике партий Партия=Документ+Товар у каждой партии идет ссылка на следующую партию (цепочка). Тогда списание выполняется так. Выбирается последняя партия, с которой было произведено списание до момента документа (поиск по регистру накопления), с нее досписывается остаток, а потом уже по цепочке идет списание нужного количества. о.
#83
by Гений 1С
Имеется ввиду не в онлайне, а например на утро.Но не раз в месяц нам надо знать остатки по поставщикам (то бишь по партиям)
#84
by Neco
Замечательно вы изорели "Последовательности"! OFF: Ваши идеи напоминают историю с доказательством теоремы Ферма. Тогда куча диллетантов пыталось доказать "на пальца", а в конце концов теорему доказали через много лет и с использованием сложного математического аппарата
#87
by SilentMan
Еще раз повторю вопрос - зачем для остатков по поставщикам двигать партии в указанной постановке задачи? и тогда чем это отличается от обычного партионного регистра без сложным связных списков?
#88
by Гений 1С
чувак, для остатков по поставщикам достаточно обычного ФИФО, я ж уже покаялсся. А вот мысль в была насчет ускорения проведения.
#90
by Гений 1С
Обоснуй почему лишнее фифо? Во первых, ты идешь по цепочке, а не извлекаешь сразу все партии, во вторых, ты берешь только остаток первой партии (и то, может можно извратиться и не взять его).
#91
by SilentMan
1. А зачем? при партионном на двух регистрах схема Вождя даст тебе искомое - в реале списание количества, в офф-лайне - партии. 2. а если мне не хватает первой партии я снова куда-то лезу и т.д. или ты считаешь, что обход по цепочке будет дешевле, чем получение нужного (с фильтрами) списка партий?
#92
by Гений 1С
Это все понятно, какая разница, восстанавливаю я партии раз в день или постоянно при проведении - схема будет одинаковой. все равно партии надо проводить. Это не тема нашего бзара. 2. Да, я думаю идти по цепочке будет быстрее, чем получение нужного фильтра партий. потому что цепочка будет короче, чем список всех партий. Но над этим надо ишо подумать.
#93
by SilentMan
1. ну кроме существенной разнице в нагрузке на базу - никакой. ну как скажешь 2. :)) с чего это ты так думаешь? в пределе ты получишь ровно тот-же список, что и мой запрос. Но я дерну базу один раз, а ты будешь ее много-много мелких разиков дергать...
#94
by Гений 1С
нет, я к тому, что может быть я могу партии восстановить и вечером, чтобы на утро они были ок, но все равно восстановление идет долго по времени и оптимизацию нужно учитывать,если она есть. Ты дернешь базу раз, но по крупному (учти - еще и остатки по каждой партии), а я пару раз и по мелкому - без остатков чисто. :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Группы Справочника и НайтиПоРеквизиту()
- Как подсчитать сумму значений по колонке табличного поля?
- Изменение пиктограммы элементов справочника на форме списка..
- Хачу несколько модулей во внешней обработке !
- Как правильно вытащить реквизиты банка контрагента
- УТ оформление пересортицы
- Как определить типы реквизита с составным типом данных?
- Отчетность НДФЛ (Зик 7.7). Обособленные подразделения!
- Получить значение Субконто из регистра бухгалтерии
- Ошибка открытия журнала регистрации
- 1CV77 + MS SQL server + блокировки
- Инвентарная книга ОС (v7.7)
- Обработка по замене реквизитов документов
- Есть ли в 1С Бухгалтерия 7.7 отчет "Книга учета доходов и расходов"
- Периферийная база с битыми ссылками...
- Процедура не обнаружена: ОбработкаПодбора/ProcessPermanentChoice
- ЗиК: Как посмотреть проводки
- Вопрос по восстановлению НДС из розницы в Бухгалтерии 8.0
- Задался вопросом. Вычет по НДС - право или обязанность?
- Помогите установить HASP 2.17