![]() |
|
Как программно проставить номенклатуру в проводки бгу редакция 1.0 | ☑ | ||
---|---|---|---|---|
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
|
Либо группировка в запросе, либо свернуть() это надо убрать
А вообще правильно пропускает, она сворасивает эти строки, номенклатура остается а сумма и количество увеличивается |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |