powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Прямой и обратный расчет остаков по регистру
41 сообщений из 41, показаны все 2 страниц
Прямой и обратный расчет остаков по регистру
    #36719037
Флеймер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам я админ базы данных и к 1С имею весьма опосредственное отношение.

У меня проблема с производительностью запроса по регистру (см ниже) в SQL он рaскладывается обычным запросом RA RG . Он выполняется 5-7 секунд и это очнь много, тк он участвует в проведении документа, а у нас розница. Но пользователи утверждают что иногда документы начинают проводится очень быстро - меньше, чем за секунду. 1Cники тупо послали ко мне.

Мне удалось поймать сиквельный запрос когда документы проводятся быстро и проанализировать в чем разница. И в результате в инете я нашел такую фразу

авторПросто счет они ведут не прямым расчетом, а обратным (т.е. не ПРИБАВЛЯЮТ движения от начала до тек. момента, а ВЫЧИТАЮТ из конечных остатков движения от тек. момента до конца). При таком методе расчета последние остатки будут получаться быстрее (а остатки на конец периода - и подавно). А поскольку чаще получают именно остатки более "близкие" к концу периода ("близкие" имеется в виду по кол-ву движений, а не непосредственно по времени), такая схема более эффективна.

Так вот в момент когда документы проводятся быстро - запрос выполняется обратным расчетом. А обычно прямым.

Теперь собственно вопрос. Нет ли в 1С какого нибудь параметра который влияет, на то каким образом будет выполнятся расчет остатка? Или при каких условиях он выполняется одним или другим методом?




Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT Остатки.Фирма [Фирма $Справочник.Фирмы], Остатки.Товар  [Товар $Справочник.ТМЦ], 
 Остатки.Статус, Остатки.МестоХранения [МестоХранения $Справочник], Остатки.Поставщик [Поставщик $Справочник.Контрагенты],
 Остатки.Поставка [Поставка $Документ], Остатки.ПрихДокумент [ПрихДокумент $Документ], Остатки.ПФ, ОстатокТовараОстаток [ОстатокТовара $Число],
 СтоимостьОстаток [Стоимость $Число] , ПродСтоимостьОстаток [ПродСтоимость $Число], НДСОстаток [НДС $Число]
FROM $РегистрОстатки.ПартииТоваров(:ГраницаРасчета ~,
                ,Фирма IN ('     1   ' )  And Товар IN (' 999D9   ' )  And Статус IN ('К','П','Б','Р','Н','Д','А' )  And МестоХранения = '  5O     2   ' ,
                (Фирма, Товар, Статус, МестоХранения, Поставщик, Поставка, ПрихДокумент, ПФ),
                (ОстатокТовара, Стоимость,ПродСтоимость,НДС) ) as Остатки
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719083
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флеймер,

дык все описано:

Код: plaintext
1.
2.
3.
4.
5.
+ при получении остатков на или по дату близкую к концу текущего периода
сохранения остатков, используются остатки на конец текущего периода и обороты
от границы расчета до конца текущего периода (обратный расчет);
+ при получении остатков на или по дату в актуальном периоде сохранения остатков
близкую к дате ТА, используются актуальные остатки и обороты от границы расчета
по ТА (обратный расчет).
(с) 1с++.als

Если именно этот запрос работает и в "тормозном" варианте - значит "тормознутость" его зависит от попадания параметра :ГраницаРасчета в "близкую к концу" текущего периода или ТА.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719221
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем если перефразировать Егоров Александра, посмотри есть ли документы созданные будущей датой.
Если есть есть документы проведенные позже чем проводиться текущий документ, такие документы будут проводиться с тормозами, даже если эти документы находятся в пределах одного дня.

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

Просто зайди в профайлер и посмотри какие запросы генерирует 1С++ при проведении на ТА и не на ТА, все поймешь.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719223
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Попробуйте убрать галочку - распаралеливание запроса.

2. Проверьте что у регистра стоят "индексировать" у реквизитов.

Да и вобще - вы уверены что дело ТОЛЬКО в этом запросе? Рядышком ничего нет? Может взаимоблокировки? В однопользовательском режиме проверьте. И текст модуля проведения документа - киньте сюда.

3. И как вариант - если записываетс и проводится новый документ - то пусть он будет "последний" тогда расчет на точку актуальности - копейки.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719224
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще это проблема программистов, а не админа.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719268
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvИ вообще это проблема программистов, а не админа.
+1

А то получается, что программеры пишушие на 1С++, не знают как работает ихняя компонента и просят админа разобраться... :)
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719365
Флеймер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров АлександрvitkhvИ вообще это проблема программистов, а не админа.
+1

А то получается, что программеры пишушие на 1С++, не знают как работает ихняя компонента и просят админа разобраться... :)

Именно так.

Только просят не разобраться, а доказать что ты не верблюд, и проблемы не в распаралеливании запросов или взаимных блокировках.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719372
Флеймер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров Александр,

Спасибо, большое. Вы мне уже очень помогли.


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

И еще у меня прямым расчетом считается почти вплоть до 27-28 числа. А из вашей фразы я понял, что он должен переключаться с 15го.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719386
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флеймер,

Если у вас розница то откажитесь от партий и все будет летать. А когда в главной базе бухи восстанавливают последовательность - пусть там и подбирают партии. Совет проверен практикой и работает у многих клиентов. Правда прогам придется переписывать модули, но если руководство прикажет - куда они денутся.
Вся проблема в мозгах, или их отсутствии...
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719572
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цитата с 1csql.ru
"Остаточный регистр
Реализуется с помощью двух таблиц: RGxxx и RAxxx.

Первая таблица содержит значения функции НачОст на начало каждого периода указанного в меню системы "Операции — Управление оперативными итогами" в секции "Периодичность сохранение остатков". Значение данной функции может хранится на начало каждой пятидневки, десятидневки, на начало каждых пятнадцати дней, на начало каждого месяца." Конец цитаты.

Из этого следует, что "Периодичность сохранение остатков" с месяца до 15, 10 и 5 дней. Т.е. таблица RG будет создаваться не раз в месяц, а раз в 15, 10 или 5 дней. Соответственно чем меньше Периодичность сохранения остатков, тем быстрее будет обрабатываться таблица RA (обороты), т.к. опорной таблицой является таблица RG (итоги) к которой прибавляются записи из таблицы RA.
Соответсвенно чем меньше "Периодичность сохранения остатков" тем меньше времени системе необходимо для обработки таблицы RA.
Единственный и большой недостаток (хотя кому как) это то, что период открытия итогов будет происходить не раз в месяц, а раз в 15, 10 и 5 дней соответственно.

Прямой и обратный расчет означается к какому периоду итогов в таблице RG будут прибавлятся (отниматься) записи (обороты) из таблицы RA.

В случае проведения документа на ТА (точку актуальности) таблица RA не используется, используется только таблица RG . За счет этого радикально уменьшается время получения итогов.

А на счет партий правильный совет - партии можно востанавливать по ночам, правда если есть отчеты которые формируются по этому регистру и используются оперативно т.е. если менеджер анализирует данные текущего дня с использованием этого регистра, то такой вариант не подойдет.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36719582
Флеймер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрФлеймер,

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

1) Не знаю в какой компании вы работаете. Но в крупных компаниях и в нашей в частности, админ таких решений не принимает.

2) Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. На много - много ПОРЯДКОВ проще переписать кусок кода в 1С.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36720014
Флеймер,
скорее всего представляет;
и если всё сделано как надо, то и переписывать надо совсем не много
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36720184
vectorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ФлеймерЕгоров Александр,

Спасибо, большое. Вы мне уже очень помогли.



А можно подробней чем именно помогли - какие выводы сделаны?
Или просто остановились на фразе - это проблема программистов?
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36720261
Флеймер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vectorovФлеймерЕгоров Александр,

Спасибо, большое. Вы мне уже очень помогли.



А можно подробней чем именно помогли - какие выводы сделаны?
Или просто остановились на фразе - это проблема программистов?


1) Метод расчета зависит не только от даты но и точки актуальности. Теперь ее подобрать и протестировать в разных вариантах это дело техники.

2) Да эту фразу увидело и мое начальство. Теперь это действительно проблема програмистов.

К стати само понятие ТА я узнал только сегодня ночью. Когда искал инфу в инете по организации работы 1С с регистрами.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36720336
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флеймер
1) Не знаю в какой компании вы работаете. Но в крупных компаниях и в нашей в частности, админ таких решений не принимает.
2) Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. На много - много ПОРЯДКОВ проще переписать кусок кода в 1С.
1. Меряться ни с кем я несобираюсь. Кому необходимы мои услуги сами меня находят. А в действительно крупных компаниях админ не лезет в вопросы программистов, видимо поэтому и не встают такие вопросы.
2. Нет. Не представляю.
Вы ведь всерьез недумаете что по вашей теме на форуме кто-то может знать что и как происходит в вашей конторе?.. Это абсурд.
Код тоже можно переписать по разному. И далеко не факт что будет быстрее.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36720397
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрФлеймер
1) Не знаю в какой компании вы работаете. Но в крупных компаниях и в нашей в частности, админ таких решений не принимает.
2) Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. На много - много ПОРЯДКОВ проще переписать кусок кода в 1С.
1. Меряться ни с кем я несобираюсь. Кому необходимы мои услуги сами меня находят. А в действительно крупных компаниях админ не лезет в вопросы программистов, видимо поэтому и не встают такие вопросы.
2. Нет. Не представляю.
Вы ведь всерьез недумаете что по вашей теме на форуме кто-то может знать что и как происходит в вашей конторе?.. Это абсурд.
Код тоже можно переписать по разному. И далеко не факт что будет быстрее.

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

Да и вообще топикастер какой-то универсальный админ, общается на уровне внедренцев :
Флеймер
Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса.

и в принципе он прав - не ему как админу решать будет по партиям проводиться в реальном режиме времени или не будет.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36720956
Флеймер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv.

Да и вообще топикастер какой-то универсальный админ, общается на уровне внедренцев :
[quot Флеймер]
Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса.


Спасибо, vitkhv, а еще я на машинке вышивать умею...

А если серьезно, то я BI занимаюсь, а на "мой" сервер еще 1С ников повесили. А они пока как слепые котята, пока мордочкой не ткнеш - не поймут, где молоко, а куда гадить не нужно.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36720959
Флеймер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хитроглазый_ОоФлеймер,
скорее всего представляет;
и если всё сделано как надо, то и переписывать надо совсем не много

Злой Бобер
А в действительно крупных компаниях админ не лезет в вопросы программистов, видимо поэтому и не встают такие вопросы.


Вы, наверное, живете в идеальном мире. Я завидую вам :)
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36721146
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФлеймерА есть какой нибудь способ всегда обратным расчетом считать? У меня даже первого числа проведенных документов с начала месяца значительно больше.

И еще у меня прямым расчетом считается почти вплоть до 27-28 числа. А из вашей фразы я понял, что он должен переключаться с 15го.
Всегда пожалуйста... :)

Я тоже не очень хорошо знаю, как 1С++ выбирает прямой или обратный расчет... :) Для оперативного учета (особенно когда реальные документы бьются на разные даты) предпочитаю всегда брать остатки на ТА независимо от даты документа. Во-первых, существенно уменьшается возможность заделать "минусовые остатки", проведя "задним числом" отгрузку, которая не проводится "сегодня". Главное тут - чтобы БП не допускали проведения приходов "завтра"...
Во-вторых - для этого достаточно встроенных механизмов 1С, даже без использования ВК, и (на современных конфах) - минимум переделок, ибо собственный алгоритм восстановления последовательности можно сделать и внешней обработкой, а в самой конфе просто закоментить расчет остатков, когда документ не попадает в ТА.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36721147
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФлеймерА если серьезно, то я BI занимаюсь
Вот тут, как минимум, Вам и карты в руки - показать начальству, что рассчет остатков на "дату документа" в оперативном режиме - есть абсурд и великое зло, ибо мало того, что порождает неконтролируемые ошибки операторов, но еще и толкает на явный мухлеж с остатками... :) Ибо в 1С всегда есть возможность "поправить что-нить задним числом" так, чтобы провести выгодную лично для себя отгрузку в ущерб остальным, и (в итоге) - в ущерб компании... :)
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36721216
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров АлександрФлеймерА если серьезно, то я BI занимаюсь
Вот тут, как минимум, Вам и карты в руки - показать начальству, что рассчет остатков на "дату документа" в оперативном режиме - есть абсурд и великое зло, ибо мало того, что порождает неконтролируемые ошибки операторов, но еще и толкает на явный мухлеж с остатками... :) Ибо в 1С всегда есть возможность "поправить что-нить задним числом" так, чтобы провести выгодную лично для себя отгрузку в ущерб остальным, и (в итоге) - в ущерб компании... :)А почему зло? Всегда есть варианты.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36726858
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с,

Надо было написать "на мой взгляд" в предыдущем посте. Понимаю, конечно, что есть и другие варианты. :) И понимаю, что в такой методе тоже есть свои минуса. Как минимум - свой собственный механизм восстановления последовательности, который переводит проведение документа из "оперативного" в "регламентый" режим.

На мой взгляд, в оперативном режиме рассчитывать остатки только на ТА проще, чем пытаться дополнительно регламентировать проведения задним числом. С учетом, что "заднее число" с точки зрения последовательности документов - это может быть и сегодняшний документ, проведенный утром. Сдвинуть его на конец дня, а свою заявку засунуть на начало - вот и пример минусов по остаткам. В случае же с расчетом на ТА - такого не произойдет...
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36727031
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров АлександрПрограммист 1с,

Надо было написать "на мой взгляд" в предыдущем посте. Понимаю, конечно, что есть и другие варианты. :) И понимаю, что в такой методе тоже есть свои минуса. Как минимум - свой собственный механизм восстановления последовательности, который переводит проведение документа из "оперативного" в "регламентый" режим.

На мой взгляд, в оперативном режиме рассчитывать остатки только на ТА проще, чем пытаться дополнительно регламентировать проведения задним числом. С учетом, что "заднее число" с точки зрения последовательности документов - это может быть и сегодняшний документ, проведенный утром. Сдвинуть его на конец дня, а свою заявку засунуть на начало - вот и пример минусов по остаткам. В случае же с расчетом на ТА - такого не произойдет...

В УПП кстати при проведении в неоперативном режиме (т.е. фактически задним числом даже если в пределах одного дня) остатки тоже не расчитываются и не контролируются, грубо говоря можешь списать со склада хоть милиард штук которых там совсем нет.
Так что контроль остатков, на ТА было бы гораздо лучше чем есть сейчас в стандартных семерочных конфах.
Хотя здесь остается проблема приходов которые могут быть раньше реализаций, в этом случае при проведении документов созданных раньше чем сегодня, вообще нет смысла проверять остатки, даже на ТА, что в УПП (видимо и в УТ и в КА) с успехом и реализовано. А проблему приходов и расходов внутри одного дня успешно решает жесткое проведение документов на ТА.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36727103
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvВ УПП кстати при проведении в неоперативном режиме (т.е. фактически задним числом даже если в пределах одного дня) остатки тоже не расчитываются и не контролируются, грубо говоря можешь списать со склада хоть милиард штук которых там совсем нет.
Такое я бы назвал скорее бардаком. :) Хотя такое и встречается в реальной жизни... Например - "сверхсрочная реализация вип-клиенту товара, который уже реально принят складом, реально может быть отдан клиенту, но по базе еще непроведен, ибо вагон только наполовину разгружен" :)
Тут вопрос к точности УУ, не более... Если позволительно проводить "отложенную реализацию" и соотв. городить минусовые остатки и их контроль на конец дня\периода - почему нет? Это тоже вариант, имеющий право быть...

Я бы разделил "ПоступлениеТМЦ" и "ПриемТовараСкладом" на разные документы, первый делал бы "регламентно" и "по-типовому" БУ и НУ. А вторые делались бы на основании первого непроведенного еще Поступления, их могло быть несколько, и проводился бы он только по УУ. Тогда склад реально принятый товар мог в любой момент провести, ввести новый документ и продолжал бы разгрузку, "РеализацияТМЦ" проводилась бы "оперативно", только по УУ. "ПоступлениеТМЦ" было бы привязано к документ ам "ПриемТовараСкладом" и проводило бы "регламенто" и "по-типовому" БУ и НУ (с контролем соответствия товаров в документах Приемки). Потом как-нить ночью или по кнопке запускалась бы "восстановление регламентной последовательности", которое перемещало приходы и поступления на начало дня, и перепроводило бы реализации "регламентно". При этом контроль отрицательных остатков включен всегда , по УУ ессно...
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36727252
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Я бы разделил "ПоступлениеТМЦ" и "ПриемТовараСкладом" на разные документы

есть такая штука как приходный ордер на товары
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36727374
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров Александр
Такое я бы назвал скорее бардаком. :)

Да ну? Бардака только в реальности нет.
Правка вчерашних документов должна быть запрещена, через дату запрета редактирования (В УПП может быть установлена для каждого пользователя или группы пользователей). Для редактирования вчерашних документов в УПП существуют документы изменения как полностью заказов (Изменение заказа покупателя) так и схемы размещения в Заказе (Резервирование товаров). Т.е. заказ редактируется только специальными документами которые выписываются только сегодняшним днем!

Егоров Александр
Я бы разделил "ПоступлениеТМЦ" и "ПриемТовараСкладом" на разные документы, первый делал бы "регламентно" и "по-типовому" БУ и НУ. А вторые делались бы на основании первого непроведенного еще Поступления, их могло быть несколько, и проводился бы он только по УУ.

Такая схема поступления товаров (и реализации кстати тоже) предусмотрена в УПП :) Только по большому счету зачем?
Если приход можно сделать под заказы покупателя. Т.е. приходом поставить на резерв по конкреному заказу покупателя.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36727411
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и вообще не понимая полностью схемы выписки документов, схемы размещения , системы коректирующих документов в последних конфах от 1С, говорить про возможный бардак как то не этично.
Ведь огромное количество фирм работающих с УПП не кинулось переделывать дефолтную методологию проведения документов.
А это методология ой как сильно отличается от того, что было в 77 конфах.......
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36727554
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 1С++ есть метод ОбратныйРасчетОтТА() или BackFromTAEnabled(), кому как удобнее.

Синтаксис: ОбратныйРасчетОтТА()
Возвращает: тип: Число. 1 - разрешено, иначе 0.
Описание: разрешает оптимизацию расчета остатков от ТА. По умолчанию такая оптимизация запрещена, т.к. запросы ВТ выполняются грязным чтением. Ее полезно включать, имея гарантию того, что остатки на ТА досчитаны до конца, например - в модуле проведения.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36727595
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрВ 1С++ есть метод ОбратныйРасчетОтТА() или BackFromTAEnabled(), кому как удобнее.

Синтаксис: ОбратныйРасчетОтТА()
Возвращает: тип: Число. 1 - разрешено, иначе 0.
Описание: разрешает оптимизацию расчета остатков от ТА. По умолчанию такая оптимизация запрещена, т.к. запросы ВТ выполняются грязным чтением. Ее полезно включать, имея гарантию того, что остатки на ТА досчитаны до конца, например - в модуле проведения.

Тут уже спор переключился в плоскость того, чтоб вообще не использовать расчет, брать остатки только на ТА - так быстрее. А в использование 1С ++ и др. вообще отпадает необходимость т.к. 1С на ТА рассчитывает остатки даже быстрее чем при использовании ВК :)
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36729342
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,

ОбратныйРасчетОтТА() не управляет оптимизацией расчета, а лишь показывает, включена ли она...
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36729343
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvт.к. 1С на ТА рассчитывает остатки даже быстрее чем при использовании ВК :)

Дык отпадает как минимум два дополнительных слоя... :) Выигрыша же 1С++ в создании отчетов еще никто не отменял... ;)
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36729390
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvДа и вообще не понимая полностью схемы выписки документов, схемы размещения , системы коректирующих документов в последних конфах от 1С, говорить про возможный бардак как то не этично.
Ведь огромное количество фирм работающих с УПП не кинулось переделывать дефолтную методологию проведения документов.
Я не говорю про то, что в УПП ущербная схема документооборота. "Бардак" я сказал вот про это:
vitkhvВ УПП кстати при проведении в неоперативном режиме (т.е. фактически задним числом даже если в пределах одного дня) остатки тоже не расчитываются и не контролируются, грубо говоря можешь списать со склада хоть милиард штук которых там совсем нет. К чему такая возможность, при наличии схемы грамотного документооборота? В общем-то понятно зачем. Если вдруг эта схема полностью не ложится на схему, заданную конфой, а менять процессы под конфу нельзя\нехочется\неможется - можно использовать еще и бэкдор, заложенный в конфу... :) И дабы не порождать спор конкретно про УПП - я считаю, что это не недостаток конкретно УПП, это недостаток общий для всех "монолитных" систем...
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36729484
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров АлександрК чему такая возможность, при наличии схемы грамотного документооборота? В общем-то понятно зачем. Если вдруг эта схема полностью не ложится на схему, заданную конфой, а менять процессы под конфу нельзя\нехочется\неможется - можно использовать еще и бэкдор, заложенный в конфу... :)

Так в том то и дело, что эта бэкдор успешно закрывается за счет возможности использования стандартной схемы документооборота которая позволяет не ходить в зад и там что то править:

vitkhv
Правка вчерашних документов должна быть запрещена, через дату запрета редактирования (В УПП может быть установлена для каждого пользователя или группы пользователей). Для редактирования вчерашних документов в УПП существуют документы изменения как полностью заказов (Изменение заказа покупателя) так и схемы размещения в Заказе (Резервирование товаров). Т.е. заказ редактируется только специальными документами которые выписываются только сегодняшним днем!


Хотя данная схема работает только от заказа покупателя (фактически опт или производство) и в рознице ее вряд-ли можно будет можно использовать, хотя в рознице другая система контроля и выписавается только то, что есть фактически на складе (витрине), т.е. больше чем есть реально смысла нет выписывать т.к. клиент это просто не сможет оплатить, а магазин не сможет предоставить такое количества товара клиенту в реальном режиме времени.
Так же данная схема не позволяет контролировать остатки при проведении не оперативно заказов выписанных в течении сегодняшнего дня, но здесь решается все одной небольшой доработкой которая не даст сегодняшним документам проводится не оперативно. При этом т.к. данная доработка может является подпиской на событие, последующие обновления от 1С будут вставать без каких либо проблем, в "автоматическом" режиме.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36729621
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров АлександрВыигрыша же 1С++ в создании отчетов еще никто не отменял... ;)

В отчетах выигрыша конечно же никто не отменял да и вряд ли есть много отчетов в которых необходим только НачОст() - но мы же здесь говорим про проведение документов....
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36729672
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров АлександрЗлой Бобр,

ОбратныйРасчетОтТА() не управляет оптимизацией расчета, а лишь показывает, включена ли она...
А если подумать?
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36729839
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvЕгоров АлександрК чему такая возможность, при наличии схемы грамотного документооборота? В общем-то понятно зачем. Если вдруг эта схема полностью не ложится на схему, заданную конфой, а менять процессы под конфу нельзя\нехочется\неможется - можно использовать еще и бэкдор, заложенный в конфу... :)

Так в том то и дело, что эта бэкдор успешно закрывается за счет возможности использования стандартной схемы документооборота которая позволяет не ходить в зад и там что то править:

vitkhv
Правка вчерашних документов должна быть запрещена, через дату запрета редактирования (В УПП может быть установлена для каждого пользователя или группы пользователей). Для редактирования вчерашних документов в УПП существуют документы изменения как полностью заказов (Изменение заказа покупателя) так и схемы размещения в Заказе (Резервирование товаров). Т.е. заказ редактируется только специальными документами которые выписываются только сегодняшним днем!


Хотя данная схема работает только от заказа покупателя (фактически опт или производство) и в рознице ее вряд-ли можно будет можно использовать, хотя в рознице другая система контроля и выписавается только то, что есть фактически на складе (витрине), т.е. больше чем есть реально смысла нет выписывать т.к. клиент это просто не сможет оплатить, а магазин не сможет предоставить такое количества товара клиенту в реальном режиме времени.
Так же данная схема не позволяет контролировать остатки при проведении не оперативно заказов выписанных в течении сегодняшнего дня, но здесь решается все одной небольшой доработкой которая не даст сегодняшним документам проводится не оперативно. При этом т.к. данная доработка может является подпиской на событие, последующие обновления от 1С будут вставать без каких либо проблем, в "автоматическом" режиме.

да, касаемо мелкой розницы (режим здесь и сейчас) то контроль в оперативном режиме не есть необхомостью первоочередной т.к. процесс продажи происходит при фактическом наличии товара т.е. если его нет в торговом зале или в подсобке то его нет... а расхождения с учетом в базе как и пересорт выравниваются уже после
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36731615
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрЕгоров АлександрЗлой Бобр,

ОбратныйРасчетОтТА() не управляет оптимизацией расчета, а лишь показывает, включена ли она...
А если подумать?

Там же черным по белому: " Разрешает оптимизацию расчета остатков от ТА. По умолчанию такая оптимизация запрещена."

Сама оптимизация: "при получении остатков на или по дату в актуальном периоде сохранения остатков близкую к дате ТА , используются актуальные остатки и обороты от границы
расчета по ТА (обратный расчет)."

Как ОбратныйРасчетОтТА() влияет на выбор границы "близости"?
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36731621
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv,

Топик вобщем-то не об этом, а о том, можно ли как-то управлять выбором границы обратного расчета в виртуальных таблицах 1С++ вида $РегистрОстатки. :) Поскольку я не знаю такого метода - я предложил вариант не использовать "расчет на дату\позицию" вообще, заменить ее вводом понятия "оперативный учет", в котором использовать остатки на ТА и объяснил почему. :)

PS: Я понимаю отличия розницы от опта. И вполне согласен, что функционал УПП более мощный, чем в ТиС.

PPS: Погружаемся в наш старый спор, что правильнее - "прогнуть процессы под систему" или "прогнуть систему под процессы" :) А здесь это будет офтопиком... :)
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36732002
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Егоров Александр,
Нехочу вдаваться в бессмысленный спор.


Смотрим вопрос автора:
ФлеймерНет ли в 1С какого нибудь параметра который влияет, на то каким образом будет выполнятся расчет остатка? Или при каких условиях он выполняется одним или другим методом?

Ответ:
Поскольку речь идет об 1С с применением 1С++ то в 1С++ есть такой метод - ОбратныйРасчетОтТА().
Синтаксис: ОбратныйРасчетОтТА()
Возвращает: тип: Число. 1 - разрешено, иначе 0.
Описание: разрешает оптимизацию расчета остатков от ТА. По умолчанию такая оптимизация запрещена, т.к. запросы ВТ выполняются грязным чтением. Ее полезно включать, имея гарантию того, что остатки на ТА досчитаны до конца, например - в модуле проведения.

Вот пример каким образом в 1С определяется параметр этого метода:
Код располагается в форме Модуля документа, ОбрабокаПроведения()

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 
           // создаем объект
	Запрос=СоздатьОбъект("ODBCRecordset");
	// пишем текст запроса
	ТекстЗапроса="
	|
	|";
	// устанавливаем параметры в запросе, если нужно
	Запрос.УстановитьТекстовыйПараметр(,);
	// определяем порядок расчета прямого запроса
	//  0  - прямой,  1  - обратный
	ПорядокРасчета= 0 ;
	Если СформироватьПозициюДокумента(ТекущийДокумент(),- 1 )<ПолучитьПозициюТА() Тогда
		Если ПолучитьДатуТА()=ДатаДок Тогда
			ПорядокРасчета= 1 ;
		Иначе
			Если (ПолучитьДатуТА()-ДатаДок)<ДатаЧисло(ДатаДок) Тогда
				ПорядокРасчета= 1 ;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	Запрос.ОбратныйРасчетОтТА(ПорядокРасчета);
	// выполняем запрос
	Запрос.ВыполнитьИнструкцию(ТекстЗапроса,тз, 1 );

Комментарии приведены для лучшего понимания автором порядка кода в 1С. На этом думаю вопрос автора можно считать исчерпанным.

Флеймер...функционал УПП более мощный, чем в ТиС
Ну это как сказать. Если брать типовые, то и то и другое пишут "студенты" (судя по коду и ошибкам в нем). А если брать самописки то думаю что 7.7 вряд ли чем уступит 8.х. По крайней мере я неувидел особых плюсов в восьмерке по сравнению с 7.7. Да, есть несколько плюсов, но с учетом неповоротливости и прожорливости восьмерки я остаюсь приверженцем семерки, пусть и с костылями типа 1С++, FormEx, ... Но это уже OFF.
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36732058
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр
Флеймер...функционал УПП более мощный, чем в ТиС
Ну это как сказать. Если брать типовые, то и то и другое пишут "студенты" (судя по коду и ошибкам в нем). А если брать самописки то думаю что 7.7 вряд ли чем уступит 8.х. По крайней мере я неувидел особых плюсов в восьмерке по сравнению с 7.7. Да, есть несколько плюсов, но с учетом неповоротливости и прожорливости восьмерки я остаюсь приверженцем семерки, пусть и с костылями типа 1С++, FormEx

Когда то я и так считал.......
...
Рейтинг: 0 / 0
Прямой и обратный расчет остаков по регистру
    #36733733
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,

авторЗапрос.ОбратныйРасчетОтТА( ПорядокРасчета );

Хм. Как-то даже не думал, что метод еще и параметр принимает. Буду знать. :)
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / [игнор отключен] [закрыт для гостей] / Прямой и обратный расчет остаков по регистру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]