Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Получить остаток на момент времени , при поаторном открытии, запрс выдает остаток с учетом документа 2 страниц V   1 2 >          
rnobody Подменю пользователя
сообщение 30.09.09, 8:20
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день.

Прошу помощи в разъяснении следующего момента:

1. создается документ по списанию номенклатуры (один документ - одна позиция, но это не принципиально)
2. собирается остаток по номенклатуре для избежания перерасхода
3. все прекрасно списывается
4. при повторном открытии документа, возвращаются остатки на конец дня, а надо на момент ДО проведения
т.е. независимо от настроек запроса, остаток возвращается на конец дня (граница, момент времени - все равно)

остатки берутся запросом:



ВЫБРАТЬ
номенклатура,
количество
ИЗ
РегистрНакопления.Склад.Остатки(&МоментВремени, Номенклатура = &Номенклатура)


МоментВремени = новый МоментВремени(ЭтотОбъект.Дата, ЭтотОбъект.Ссылка)

вопрос(ы):
1. возможно, я пропустил РассчитатьРегистрыНа/По, а-ля "семерка"?
2. это баг? (1Cv8 8.1.11.67)
3. можно ли порекомендовать внятные коментарии к языку "восьмерки"?

Vofka Подменю пользователя
сообщение 30.09.09, 8:42
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
можно ли порекомендовать внятные коментарии


1. Для начала укажите точную версию платформы (8.0, 8.1, 8.2) и конфигурацию!
2. Для вставки кода пользуйтесь специальными тегами!
3. Попробуйте как то так:


МоментВремени = ЭтотОбъект.Дата - 1

rnobody Подменю пользователя
сообщение 30.09.09, 8:53
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 30.09.09, 12:42) *
1. Для начала укажите точную версию платформы (8.0, 8.1, 8.2) и конфигурацию!
2. Для вставки кода пользуйтесь специальными тегами!
3. Попробуйте как то так:


МоментВремени = ЭтотОбъект.Дата - 1


Добрый день.

1. версия платформы 8.1.11.67, конфигурация самописная, практически пустая (регистр и два документа)
2. с тегами учту, извините
3. момент времени меняется, результат запроса - нет

zetovich Подменю пользователя
сообщение 30.09.09, 9:29
Сообщение #4

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(rnobody @ 30.09.09, 10:20) *
Добрый день.

Прошу помощи в разъяснении следующего момента:

1. создается документ по списанию номенклатуры (один документ - одна позиция, но это не принципиально)
2. собирается остаток по номенклатуре для избежания перерасхода
3. все прекрасно списывается
4. при повторном открытии документа, возвращаются остатки на конец дня, а надо на момент ДО проведения
т.е. независимо от настроек запроса, остаток возвращается на конец дня (граница, момент времени - все равно)

остатки берутся запросом:

ВЫБРАТЬ
номенклатура,
количество
ИЗ
РегистрНакопления.Склад.Остатки(&МоментВремени, Номенклатура = &Номенклатура)

МоментВремени = новый МоментВремени(ЭтотОбъект.Дата, ЭтотОбъект.Ссылка)

вопрос(ы):
1. возможно, я пропустил РассчитатьРегистрыНа/По, а-ля "семерка"?
2. это баг? (1Cv8 8.1.11.67)
3. можно ли порекомендовать внятные коментарии к языку "восьмерки"?


это не правильно то что вы хотите.
остатки нужно считать на конец дня. на то он и опер учет.
з.ы. а вы повбивайте несколько доков посе списание....потом будите приятно удивлены. (покуриет в направлении "Новый Граница(МоментВремени, ВидГраницы.НЕВключая)")

rnobody Подменю пользователя
сообщение 30.09.09, 9:54
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(zetovich @ 30.09.09, 13:29) *
это не правильно то что вы хотите.
остатки нужно считать на конец дня. на то он и опер учет.
з.ы. а вы повбивайте несколько доков посе списание....потом будите приятно удивлены. (покуриет в направлении "Новый Граница(МоментВремени, ВидГраницы.НЕВключая)")


Добрый день.

Прошу прощения, в чем "не правильно" мое желание? Задача стоит так, что крайне желательно видеть остатки ИМЕННО на момент ДО проведения документа.

Вполне возможно зафиксировать информацию в реквизитах документа, но, на будущее, хотелось бы до конца разобраться с "моментом времени" и "границей", т.к. вариант с "границей" работает аналогично.

Vofka Подменю пользователя
сообщение 30.09.09, 10:12
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

rnobody, покажите конфигурацию

zetovich Подменю пользователя
сообщение 30.09.09, 10:20
Сообщение #7

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(rnobody @ 30.09.09, 11:54) *
Добрый день.

Прошу прощения, в чем "не правильно" мое желание? Задача стоит так, что крайне желательно видеть остатки ИМЕННО на момент ДО проведения документа.

Вполне возможно зафиксировать информацию в реквизитах документа, но, на будущее, хотелось бы до конца разобраться с "моментом времени" и "границей", т.к. вариант с "границей" работает аналогично.

ТиИ

ну открыл ты в утреннем доке...после исчо куча выписанных, например, РН...смотришь остатки...и что оно Вам дает?

Vofka Подменю пользователя
сообщение 30.09.09, 10:30
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
ну открыл ты в утреннем доке...после исчо куча выписанных, например, РН...смотришь остатки...и что оно Вам дает?


Как же тогда списать товар задним числом?

rnobody Подменю пользователя
сообщение 30.09.09, 10:48
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 30.09.09, 14:12) *
rnobody, покажите конфигурацию


Еще раз уточню:
конфигурации, как таковой, нет. Просто регистр накопления, документ по приходу и по расходу.

rnobody Подменю пользователя
сообщение 30.09.09, 10:52
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(zetovich @ 30.09.09, 14:20) *
ТиИ

ну открыл ты в утреннем доке...после исчо куча выписанных, например, РН...смотришь остатки...и что оно Вам дает?


Проводка задним числом; сложный отчет по оборотам за период; большой массив связанных с количественным показателем данных - можно вычислять, вместо засорения БД.

P.S.
Извините, не владею сленгом. Что значит ТиИ?

rnobody Подменю пользователя
сообщение 30.09.09, 12:33
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Хорошо, перефомулирую вопрос:

Как получить остаток по регистру накопления на произвольный момент времени?

zetovich Подменю пользователя
сообщение 30.09.09, 13:08
Сообщение #12

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(rnobody @ 30.09.09, 12:52) *
Проводка задним числом; сложный отчет по оборотам за период; большой массив связанных с количественным показателем данных - можно вычислять, вместо засорения БД.

P.S.
Извините, не владею сленгом. Что значит ТиИ?

ТиИ - Тестирвоание и исправлние...(в меню администрирвоание)

rnobody Подменю пользователя
сообщение 30.09.09, 13:13
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(zetovich @ 30.09.09, 17:08) *
1. ТиИ - Тестирвоание и исправлние...
2. да вродь и запрос верный....


Извините, и как ваш ответ соотносится с вопросом?

zetovich Подменю пользователя
сообщение 30.09.09, 13:30
Сообщение #14

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Запрос.УстановитьПараметр("МоментВремени",ЭтотОбъект.МоментВремени());

Запрос.УстановитьПараметр("МоментВремени", Новый Граница(ЭтотОбъект.МоментВремени(), ВидГраницы.Исключая));

а так?

rnobody Подменю пользователя
сообщение 30.09.09, 13:49
Сообщение #15

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(zetovich @ 30.09.09, 17:30) *
Запрос.УстановитьПараметр("МоментВремени",ЭтотОбъект.МоментВремени());

Запрос.УстановитьПараметр("МоментВремени", Новый Граница(ЭтотОбъект.МоментВремени(), ВидГраницы.Исключая));

а так?


Я уже отмечал чуть выше, что вариант с "Границей" работает аналогично - остатки возвращаются на конец дня, а не на момент регистратора.

zetovich Подменю пользователя
сообщение 30.09.09, 13:58
Сообщение #16

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(rnobody @ 30.09.09, 15:49) *
Я уже отмечал чуть выше, что вариант с "Границей" работает аналогично - остатки возвращаются на конец дня, а не на момент регистратора.

Вы именно так, как написано, пробывали?
да, и точно Вы уверены, что момент времени движение регистров = моменту времени движения документа? (т.е. дата движения регистров может не совпадать дате документа)

rnobody Подменю пользователя
сообщение 30.09.09, 14:15
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(zetovich @ 30.09.09, 17:58) *
Вы именно так, как написано, пробывали?
да, и точно Вы уверены, что момент времени движение регистров = моменту времени движения документа? (т.е. дата движения регистров может не совпадать дате документа)


Абсолютно.
1. приходую 1000 единиц
2. списываю - в остатке 1000 - 100
3. новое списание - в остатке 900 - 100
4. первый документ при повторном открытии показывает 800, а желательно 1000

Способ сбора остатков не имеет значения: прямое обращение к регистру, запрос; Момент времени, граница - все едино, остаток вохвращается на конец дня.

zetovich Подменю пользователя
сообщение 30.09.09, 14:43
Сообщение #18

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

ну не знаю....должно показывать то что вы хотите. вродь ничего не упустил.

rnobody Подменю пользователя
сообщение 30.09.09, 14:49
Сообщение #19

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Вопрос остается открытым...

Бегание по форумам конкретного ответа не дает. Ближайшее приближение - остатки плюс обороты. Но в
этом случае сбор отчета становится нетривиальной задачей.

К сожалению, продолжить разговор смогу только завтра - рабочий день окончен.
Спасибо откликнувшимся.

Vofka Подменю пользователя
сообщение 30.09.09, 16:16
Сообщение #20

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Есть документ ПН 24.04.2009 14:27:04, который делает движения по регистрам, включая регистр "остатки".

Запрос:


ВЫБРАТЬ
ОстаткиОстатки.Номенклатура,
ОстаткиОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.Остатки.Остатки(&МоментВремени, ) КАК ОстаткиОстатки


Если момент времени = 24.04.2009 14:27:04 - получаю остатки с учетом проведённого документа. Если 24.04.2009 14:27:03 - получаю остатки без учета проведённого документа. Или не то?

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 7:19
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!