Имя: Пароль:
1C
 
Бух 3.0 партии некоректно списываются
0 shavkat
 
07.09.16
16:53
Добрый день
В бух 3.0 сделал новый документ СменныйОтчетАЗС
В нем товары разделены по табличным частям на наличные и безналичные
Каждый из них списываю типовыми процедурами общ.модуля УчетТоваров.
//для безнал
ТаблицаСписанныеТоварыБезнал = УчетНефтепродуктов.ПодготовитьТаблицуСписанныеТовары(ТаблицаБезнал, Реквизиты, Отказ);
УчетНефтепродуктов.СформироватьДвиженияСписаниеТоваров(ТаблицаСписанныеТоварыБезнал, Реквизиты, Движения, Отказ);

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

Все проводится хорошо, количество и сумма правильные, а партии не правильные, партии повторяются.
пример
ТЧ безнал проводится по партии1, в проводках эта партия указывается. Тут эта партия должна закончится.
ТЧ нал опять проводится по партии1, вот теперь уже нал минусует эту партию, хотя должна была брать с партии2.

Первая процедура УчетНефтепродуктов.СформироватьДвиженияСписаниеТоваров() не минусует товары по партиям.
И еще, если после проведении безнал если вставлю код
Движения.Типовой.Записать();
Движения.Типовой.Очистить();      
ТЧ безнал пропадает с проводок, хотя я пишу Записать()
Как записывать эти таблицы по очередно, чтоб записалась безнал, уменщились остатки по партиям, потом уже второй.
Заранее благодарю
1 shavkat
 
07.09.16
17:10
а как процедура УчетТоваров.СформироватьДвиженияСписаниеТоваров()
записывает проводки, там нет функции Записать()
только Записывать=истина?
2 Aleksandr N
 
07.09.16
17:12
(1) Это новая фича такая.
3 Aleksandr N
 
07.09.16
17:13
(0) В обработке проведения Движения.Типовой.Записывать = Истина. И все, вроде должно прокатить.
4 Dmitrii
 
гуру
07.09.16
17:18
(0) Неверно делаешь.
ИМХО СформироватьДвиженияСписаниеТоваров надо вызывать один раз с одной таблицей, где и нал и безнал вместе.
Для этого надо один раз вызвать ПодготовитьТаблицуСписанныеТовары, в которой сформировать ЕДИНУЮ таблицу списываемых товаров.

А сейчас естественно в процедуре ПодготовитьТаблицуСписанныеТовары, вызванной во второй раз (для нал.), система понятия не имеет, что какие-то партии уже ушли куда-то там в первый раз (для безнал).
5 Dmitrii
 
гуру
07.09.16
17:18
(3) Проблема не в этом.
У него всё корректно записывается.

Проблема в некорректной подготовке данных для списания.
6 Dmitrii
 
гуру
07.09.16
17:19
(3) Зачем? У него Записывать = Истина делается в процедуре СформироватьДвиженияСписаниеТоваров(). Какой смысл дублировать еще раз в обработке проведения?
7 Aleksandr N
 
07.09.16
17:22
(6) невнимательно смотрел.
8 shavkat
 
07.09.16
17:22
(4) понял, так и сделаю
Спасибо