Есть документ ВводОстатковВзаиморасчетов. При проведении надо чтоб долг контрагента обнулялся на дату проведения, а новое значение записывалось как долг. Подскажите, как обнулить... вот процедура
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ВзаиморасчетыСКонтрагентами Приход
Движение = Движения.ВзаиморасчетыСКонтрагентами.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Корректировка долга хороший документ, но надо вручную выщитывать разницу между фактическим долгом и долгом по базе и добавлять в поле уменьшение или увеличение долга... у нас очень много контрагентов и реально очень много времени на это потратится((
по поводу получения данных и записания их с обратным знаком :
В движениях так, но получение данных скорее всего нужно бы выполнить запросом, а потом просто выгрузить в таблицу движений, чтобы учесть правильно остатки по всем измерениям регистра
В движениях так, но получение данных скорее всего нужно бы выполнить запросом, а потом просто выгрузить в таблицу движений, чтобы учесть правильно остатки по всем измерениям регистра
Группа: Местный
Сообщений: 522
Спасибо сказали: 70 раз
Рейтинг: 51.3
Цитата(Ученик_Покачто @ 11.01.11, 13:05)
Корректировка долга хороший документ, но надо вручную выщитывать разницу между фактическим долгом и долгом по базе и добавлять в поле уменьшение или увеличение долга... у нас очень много контрагентов и реально очень много времени на это потратится((
При проведении документа создать документ корректировка передать в него контрагентов и договора. В самом документе корректировка есть кнопка мол заполнить по остаткам - выполнить тот код и провести документ.
Группа: Пользователи
Сообщений: 32
Спасибо сказали: 7 раз
Рейтинг: 0
Да на здоровье ... только не используется полностью запрос, проанализируйте измерения в регистре Взаиморасчеты вашей конфигурации.. я вот только заметила , что ВидДеятельности - это добавленное мною измерение, в типовой его нет... в вашей конфе могут быть другие различия
Да на здоровье ... только не используется полностью запрос, проанализируйте измерения в регистре Взаиморасчеты вашей конфигурации.. я вот только заметила , что ВидДеятельности - это добавленное мною измерение, в типовой его нет... в вашей конфе могут быть другие различия
Вставил запрос - все равно не обнуляет (( переделал под всои измерения... щас буду пробовать что-нить изменить((
Группа: Пользователи
Сообщений: 32
Спасибо сказали: 7 раз
Рейтинг: 0
Цитата(Ученик_Покачто @ 11.01.11, 14:16)
Вставил запрос - все равно не обнуляет
Словно с кассовым аппаратом работаете ... Движение с минусом делает документ? Просмотрите по отчету по взаиморасчетам почему вылазят остатки, может не все измерения учли, с датой(временем) что-то не так
Словно с кассовым аппаратом работаете ... Движение с минусом делает документ? Просмотрите по отчету по взаиморасчетам почему вылазят остатки, может не все измерения учли, с датой(временем) что-то не так
в том то и дело, что не делает(( уже и с конструктором запросов делал запрос, все равно ничего((( продолжаю експеременты))
Группа: Пользователи
Сообщений: 32
Спасибо сказали: 7 раз
Рейтинг: 0
Цитата(Ученик_Покачто @ 12.01.11, 11:19)
в том то и дело, что не делает(( уже и с конструктором запросов делал запрос, все равно ничего((( продолжаю експеременты))
Сам по себе запрос движений и не должен делать . Он после оператора Запрос.Выполнить().Выгрузить(); должен дать Вам таблицу по остаткам, если они есть. Проверьте этот момент в отладчике. А движения делает оператор Движения.ВзаиморасчетыСКонтрагентами.Записать();
До этого, я выкладывала только кусок, который формирует остатки таблицей и заносит ее в таблицу движений, но не записывает сами движения. Я предполагала, что запись движений Вы уже сделаете самостоятельно, после того, как добавите в таблицу движений ещё и движения по новым значения регистра. Если причина всё же не в этом, то приведите здесь свой кусок кода полностью. Так ведь долго можно гадать, что же там не так ...
Сам по себе запрос движений и не должен делать . Он после оператора Запрос.Выполнить().Выгрузить(); должен дать Вам таблицу по остаткам, если они есть. Проверьте этот момент в отладчике. А движения делает оператор Движения.ВзаиморасчетыСКонтрагентами.Записать();
До этого, я выкладывала только кусок, который формирует остатки таблицей и заносит ее в таблицу движений, но не записывает сами движения. Я предполагала, что запись движений Вы уже сделаете самостоятельно, после того, как добавите в таблицу движений ещё и движения по новым значения регистра. Если причина всё же не в этом, то приведите здесь свой кусок кода полностью. Так ведь долго можно гадать, что же там не так ...
Написал следующее:
НаборДвижений = Движения.ВзаиморасчетыСКонтрагентами; ТаблицаДвижений = НаборДвижений.Выгрузить(); ТаблицаДвижений.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов, | ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток КАК СуммаУпр |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&Дата, | ДоговорКонтрагента = &ДоговорКонтрагента) КАК ВзаиморасчетыСКонтрагентамиОстатки"; Запрос.УстановитьПараметр("Дата", Новый Граница(Дата, ВидГраницы.Исключая)); Запрос.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Движение = Движения.ВзаиморасчетыСКонтрагентами.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.ДоговорКонтрагента = ДоговорКонтрагента; Движение.СуммаВзаиморасчетов = Выборка.СуммаВзаиморасчетов; Движение.СуммаУпр = Выборка.СуммаУпр; КонецЕсли; // Приход Движение = Движения.ВзаиморасчетыСКонтрагентами.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.ДоговорКонтрагента = ДоговорКонтрагента; Движение.СуммаВзаиморасчетов = Долг; Движение.СуммаУпр = Долг;
Группа: Пользователи
Сообщений: 32
Спасибо сказали: 7 раз
Рейтинг: 0
Думаю, что Вы всё равно придете к варианту с выгрузкой в таблицу. У Контрагента может быть несколько догооров и также ещё разрезы Сделка, Организация, которые вы не учитываете. Обнуляется сумма в целом, но не закрываются измерения, что приведет в дальнейшем к неверным взаиморасчетам по этим разрезам..
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!