helpf.pro
Регистрация

Необходимо добавить записи в Регистр Накопления в середине алгоритма

Kristina
01.11.2010 14:40Прочитано: 2986
Подскажите пожалуйста, как можно записать движения регистра накопления во время проведения документа, чтобы в дальнейшем в этой же обработке проведения использовать записанные данные.
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
01.11.2010 16:19Ответ № 1
(0) а использовать записанные данные для чего?

А вообще через движения пишешь их и потом так же можно и прочитать!
Вот еще пример v8: Получить движения документа по регистру накоплений
Kristina
01.11.2010 18:59Ответ № 2
Нужно для того, чтобы потом запросом получить остатки с этого регистра накопления, с учетом уже сделанных движений документа, при чем это все должно быть в обработке проведения.
E_Migachev
01.11.2010 22:03Ответ № 3
(2) Kristina, тут нужно делать так:
проводится документ как обычно, далее получаешь остатки используя Граница и МоментВремени - задаешь Момент - этот документ, Граница включая!

Если нужен пример могу завтра на работе выложить *13
Kristina
02.11.2010 06:17Ответ № 4
(3) E_Migachev, Если не трудно выложите, пожалуйста...,
E_Migachev
02.11.2010 10:18Ответ № 5
(4) Как использовать это в запросе посмотри здесь v8: Момент Времени и Граница, назначение, примеры использования )

А вот так я получаю остатки табличной части документа(Процедура ПриВыводеСтроки):
Код 1C v 8.х
 //Укажем фильтр получения остатков
Фильтр = Новый Структура;
Фильтр.Вставить("ФизЛицо",ДанныеСтроки.ФизЛицо);
// по подразделению не надо
//Фильтр.Вставить("Подразделение", ДанныеСтроки.Подразделение);

//Получим момент
МомВрем = ЭтотОбъект.Ссылка;

//Остаток до документа
Попытка
НачСальдо = РегистрыНакопления.ПредставителиВалюта.Остатки(Новый Граница(МомВрем.МоментВремени(), ВидГраницы.Исключая),Фильтр,"ФизЛицо","ВзаимРасчетUSD")[0].ВзаимРасчетUSD;
Исключение // остатка нет
НачСальдо = 0;
КонецПопытки;
//Остаток после документа
Попытка
КонСальдо = РегистрыНакопления.ПредставителиВалюта.Остатки(Новый Граница(МомВрем.МоментВремени(), ВидГраницы.Включая),Фильтр,"ФизЛицо","ВзаимРасчетUSD")[0].ВзаимРасчетUSD;
Исключение // остатка нет
КонСальдо = 0;
КонецПопытки;
Kristina
03.11.2010 19:49Ответ № 6
(5) E_Migachev, Спасибо большое за помощь. все получилось..... )
E_Migachev
03.11.2010 22:30Ответ № 7
(6) Kristina, пожалуйста, если все - то закрывай вопрос )
Kristina
04.11.2010 18:16Ответ № 8
(7) E_Migachev, закрываю.
Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.