|
Граница с видом "включая" не учитывает введённые документы | ☑ | ||
---|---|---|---|---|
0
Очень Любознательная
14.10.19
✎
15:01
|
Добрый день всем!
Возникла такая проблема.. Есть конфигурация 1С Дошкольное питание. Есть регистр остатки товаров, по нему делают движения в плюс приходы и в минус меню (расходы продуктов). Есть механизм контроля остатков по аналогии с торговлей. Есть запрос, контролирующий остатки: Запрос.Текст = "ВЫБРАТЬ | Питание_НоменклатураНаСкладахОстатки.Организация, | Питание_НоменклатураНаСкладахОстатки.Склад, | Питание_НоменклатураНаСкладахОстатки.Номенклатура, | Питание_НоменклатураНаСкладахОстатки.Партия, | -Питание_НоменклатураНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, | Питание_НоменклатураНаСкладахОстатки.Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения |ИЗ | РегистрНакопления.Питание_НоменклатураНаСкладах.Остатки( | &МоментКонтроляДокумента, | Организация = &ОрганизацияОтправитель | И Склад = &СкладОтправитель | И (Номенклатура, Партия) В | (ВЫБРАТЬ | ДвиженияНоменклатураДокумента.Номенклатура, | ДвиженияНоменклатураДокумента.Партия | ИЗ | ДвиженияНоменклатураДокумента КАК ДвиженияНоменклатураДокумента)) КАК Питание_НоменклатураНаСкладахОстатки |ГДЕ | Питание_НоменклатураНаСкладахОстатки.КоличествоОстаток < 0"; Запрос.УстановитьПараметр("МоментКонтроляДокумента", Новый Граница(ДокументОбъект.МоментВремени(), ВидГраницы.Включая)); Теперь, собственно, сама беда. Есть 1 октября. В 00:00 сделан приход хлеба. Затем, вторым по счёту, вбит документ "меню-калькуляция", который списывает этот хлеб. Если учитывать приход, то расход должен проводиться, остатков хватает. Но этот запрос не учитывает приход, сделанный в 00:00. Может, я не понимаю чего-то? У документобъекта стоит момент времени 01.10.2019 00:00, приход вбит первым по счёту. Почему он его не учитывает? |
|||
1
vicof
14.10.19
✎
15:32
|
Так может расход не по тем партиям, организации и складу, не?
|
|||
2
Kol Pecivanovich
14.10.19
✎
15:36
|
(0) попробуйте поставить документ расхода на 00:00:01 - если увидит остаток, значит, 1ска в пределах одной секунды расставляет моменты документов не по времени их ввода, а по другому принципу
|
|||
3
Kol Pecivanovich
14.10.19
✎
15:38
|
(2) а если не увидит, значит (1)
|
|||
4
Kol Pecivanovich
14.10.19
✎
15:40
|
(0) а это условие для чего:
Питание_НоменклатураНаСкладахОстатки.КоличествоОстаток < 0 |
|||
5
Очень Любознательная
14.10.19
✎
15:47
|
(2) Видимо, да. Выбрала запросом приходы и калькуляции, расставила по моменту времени - меню стоит раньше!
|
|||
6
Очень Любознательная
14.10.19
✎
15:47
|
На 00:01 провелось. Интересно тогда, какая логика у расстановки в пределах одной секунды?
|
|||
7
unenu
14.10.19
✎
15:59
|
(6) интереснее, что показывает отладчик относительно выражения
Новый Граница(ДокументОбъект.МоментВремени(), ВидГраницы.Включая)) когда ДокументОбъект еще не написан когда ДокументОбъект.Дата пуста и т.д. |
|||
8
Kol Pecivanovich
14.10.19
✎
16:34
|
(6) возможно, в пределах одной секунды моменты времени сортируются по виду документов
|
|||
9
palsergeich
14.10.19
✎
17:12
|
(6) Внутри секунды порядок по последовательности ввода не гарантируется
|
|||
10
palsergeich
14.10.19
✎
17:12
|
Граница всего лишь гарантирует то попадут движения этого докуменнта в остатки или нет, не более
|
|||
11
azernot
14.10.19
✎
17:24
|
(6) Внутри одной секунды документы выстраиваются по внутреннему идентификатору объекта конфигурации, а то и вовсе по алфавиту (Поступление товаров, услуг раньше Реализации товаров, услуг). Порядок ввода не влияет на эту сортировку - совершенно точно. Се ля ви.
|
|||
12
Rovan
гуру
14.10.19
✎
17:29
|
(10) точно!
Вообще данные в базе по идее должны отражать реальные физические процессы... А процесса поступления и расхода в одну секунду не бывает. |
|||
13
lodger
14.10.19
✎
17:32
|
(6) для простоты учета считается, что нет однозначного порядка.
|
|||
14
Консультант Баранов
14.10.19
✎
17:37
|
(6) В рамках одной секунды, по виду документа, сортировка в порядке добавления в конфигуратор.
Можно расставить документы в нужном порядке выгрузить в XML конфигурацию и загрузить конфигурацию. |
|||
15
palsergeich
14.10.19
✎
17:38
|
(14) мне кажется что если требуется такой изврат, то есть проблемы с архитектурой
|
|||
16
hhhh
14.10.19
✎
17:40
|
(12) но в реальности, в какой момент считается приход или расход на складе? В момент подписи документов кладовщиком? Тогда это даже очень реально, У него например пачка документов, штук 20, в какой-то момент он пришел на рабочее место и за 5 секунд расписался во всех документах.
|
|||
17
Консультант Баранов
14.10.19
✎
17:43
|
(15) Изврат. Не спорю.
|
|||
18
palsergeich
14.10.19
✎
18:00
|
(16) Кладовщик не длядя шлепнул 20 документов будучи матответственным?
Не верю. |
|||
19
Очень Любознательная
14.10.19
✎
18:10
|
Всем огромное спасибо за разъяснения.
Беда какая. В этом питании есть обработка "помощник диетсестры", в нём выбираешь дату, и он тебе на эту дату делает меню и сопутствующие доки. Я посмотрела по коду - он всегда берёт эту выбранную дату с временем 00:00 и подставляет её в дату создаваемого меню. Проблема возникает, если, скажем, садик закупает молоко чисто на 1 день, то есть, на момент формирования меню остатки по молоку нулевые. Меню из-за этого не создаётся, хотя мы, предполагая эту проблему, договорились, что они будут ставить у приходника всегда время 00:00. Не сработало... Программно сделала так, чтобы у меню дата всегда была 08:00. |
|||
20
Eiffil123
14.10.19
✎
18:10
|
(12) к сожалению, это не про российский учет с проведением "задним числом"
|
|||
21
lodger
14.10.19
✎
18:30
|
(20) это только в бухии. другие отделы от этой пагубной привычки можно и нужно отучать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |