0
ppkmlite
24.06.15
✎
11:26
|
Здравствуйте.Скажите, пожалуйста,нужно программно проставить номенклатуру в записи регистра бухгалтерии,которые создает документ "требование на выдачу продуктов питания". Вопрос в том, что у нас номенклатура берется из табличной части этого документа,но я не могу проставить номенклатуру, так как обработка берет одну номенклатуру, которая первая в списке в табл части, и проставляет всем позициям одну и ту же номенклатуру в регистре!
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДвиженияДокумента = РегистрыБухгалтерии.ЕПСБУ.СоздатьНаборЗаписей();
ДвиженияДокумента.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.ссылка);
ДвиженияДокумента.Прочитать();
Для каждого проводка из ДвиженияДокумента Цикл
Если Не ЗначениеЗаполнено(Проводка.СубконтоКт.Номенклатура) Тогда
Проводка.СубконтоКт.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Проводка.СубконтоКт.ЦМО = ВыборкаДетальныеЗаписи.МестоХранения;
Проводка.СубконтоКт.КОСГУ = ВыборкаДетальныеЗаписи.КОСГУСчетКредита;
Проводка.СубконтоДт.КОСГУ = ВыборкаДетальныеЗаписи.КОСГУСчетДебета;
КонецЕсли;
КонецЦикла;
ДвиженияДокумента.Записать();
КонецЦикла;
|
|
1
ppkmlite
24.06.15
✎
21:20
|
поставили сравнение по номеру документа, то есть если номер в табл части равен номеру в регистре, то записываем номенклатуру
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДвиженияДокумента = РегистрыБухгалтерии.ЕПСБУ.СоздатьНаборЗаписей();
ДвиженияДокумента.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.ссылка);
ДвиженияДокумента.Прочитать();
Для каждого проводка из ДвиженияДокумента Цикл
Если Не ЗначениеЗаполнено(Проводка.СубконтоКт.Номенклатура) и проводка.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки Тогда
Проводка.СубконтоКт.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Проводка.СубконтоКт.ЦМО = ВыборкаДетальныеЗаписи.МестоХранения;
Проводка.СубконтоКт.КОСГУ = ВыборкаДетальныеЗаписи.КОСГУСчетКредита;
Проводка.СубконтоДт.КОСГУ = ВыборкаДетальныеЗаписи.КОСГУСчетДебета;
КонецЕсли;
КонецЦикла;
ДвиженияДокумента.Записать();
КонецЦикла;
Теперь вопрос такой если в табл части документа позиции повторяются,напрмер
1- апельсины
2 -апельсины
3-яблоки
4-груши
то обработка проставляет след образом
1- апельсины
2-яблоки
3-груши
то есть пропускает повторяющуюся позицию
|
|
2
Славен
24.06.15
✎
21:33
|
Либо группировка в запросе, либо свернуть() это надо убрать
А вообще правильно пропускает, она сворасивает эти строки, номенклатура остается а сумма и количество увеличивается
|
|