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

Хранилище

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

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



> Регистр накопления.Метод Записать()          
olegzt Подменю пользователя
сообщение 10.05.11, 15:34
Сообщение #1

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

процедура ПровестиАмортизациюОС(Докум,СуммаАмортизации) экспорт
    
    Движения=РегистрыНакопления.УпрУчет.СоздатьНаборЗаписей();
    
    Движения.Отбор.Регистратор.Установить(докум);
    
    Движение=Движения.Добавить();
    
    
    Движение.Период=Докум.Дата;
    Движение.видЗатрат=АмортизацияВидЗатрат;
    Движение.сумма=СуммаАмортизации;
    
    Движения.Записать();    
конецПроцедуры


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

logist Подменю пользователя
сообщение 10.05.11, 15:40
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

1) По одному регистратору может быть только одна запись.
2) Зачем два раза проводить, если можно один раз записать несколько записей. Скорее всего Вы неверно реализуете задачу.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 10.05.11, 15:43
Сообщение #3

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

Цитата
1) По одному регистратору может быть только одна запись.

Не соглашусь. Может быть сколько угодно записей.

olegzt, получается 1 запись с последней суммой СуммаАмортизации или с суммой (СуммаАмортизации + СуммаАмортизации) ? Может просто программа суммирует всё, т.к. записи кроме как по суммам ничем не различаются (это предположение).

GreenFox Подменю пользователя
сообщение 10.05.11, 16:02
Сообщение #4

Говорящий
Иконка группы
Группа: Местный
Сообщений: 59
Из: Київ
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(olegzt @ 10.05.11, 16:34) *
процедура ПровестиАмортизациюОС(Докум,СуммаАмортизации) экспорт
    
    Движения=РегистрыНакопления.УпрУчет.СоздатьНаборЗаписей();
    
    Движения.Отбор.Регистратор.Установить(докум);
    
    Движение=Движения.Добавить();
    
    
    Движение.Период=Докум.Дата;
    Движение.видЗатрат=АмортизацияВидЗатрат;
    Движение.сумма=СуммаАмортизации;
    
    Движения.Записать();    
конецПроцедуры


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


Пожалуйста уточните: Вам нужно что бы было две записи или что б процедура вызывалась 1 раз? А то по постановке задачи немного непонятно.
И объясните для чего 2 вызова процедуры в одном проведении, а то я что-то не могу придумать для чего оно надо.

logist Подменю пользователя
сообщение 10.05.11, 16:08
Сообщение #5

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Vofka @ 10.05.11, 15:43) *
Не соглашусь. Может быть сколько угодно записей.

В контексте первого сообщения запись будет только одна (точнее НаборЗаписей будет только один).


Signature
Личные бесплатные консультации не даю, для этого есть форум!

olegzt Подменю пользователя
сообщение 10.05.11, 17:47
Сообщение #6

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

Из модуля проведения вызывается и для амортизации ОС и для амортизации НМА. Вызывается из разных процедур. Мне нужно 2 раза сделать запись в регистр. Один раз с суммой амортизации ОС, второй раз с суммой амортизации НМА. Так что, мне предварительно где-то копить сумму и потом один раз записывать в регистр?

При вызове процедуры сумма передаваемого параметра "СуммаАмортизации" ессно разная.Процедура вызывается 2 раза. Записывается в регистр только последний вызов. Если закоментировать второй вызов-первый сам отрабатывает нормально. Значит при втором вызове обнуляется или перезаписывается первый ?

logist Подменю пользователя
сообщение 10.05.11, 19:45
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

При втором вызове - первая перезаписывается, поэтому если так надо, то "копите" сумму.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: olegzt,

Batchir Подменю пользователя
сообщение 10.05.11, 21:38
Сообщение #8

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Подготовьте предварительно таблицу значений и закидывайте в набор записей всё гамузом.
см. типовые конфы

Спасибо сказали: olegzt,

olegzt Подменю пользователя
сообщение 11.05.11, 9:25
Сообщение #9

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

Цитата(Batchir @ 10.05.11, 21:38) *
Подготовьте предварительно таблицу значений и закидывайте в набор записей всё гамузом.
см. типовые конфы


Понял. Спасибо !

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


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

 

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