Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

РеестрДокументов

Alizar
читатель
офлайн
Дата регистрации: 23.08.2007
Сообщений: 311
Пост №1
 
16.09.2008 15:14

"ТиС 9.2 релиз 947<br>В отчете РеестрДокументов у меня выводится список номенклатуры<br>из табличной части. Хотелось бы вывести себестоимость <br>каждой номенклатурной позиции из регистра партий. <br><br>В модуле написал следующее:<br><br>Пока Док.ПолучитьДокумент()=1 Цикл<br> <br>Если Док.Вид()="Реализация" Тогда<br>Если РегПартии.ВыбратьДвиженияДокумента(Док)=1 Тогда<br>Пока РегПартии.ПолучитьДвижение()=1 Цикл<br> Док.ВыбратьСтроки();<br> Пока Док.ПолучитьСтроку()=1 Цикл<br> СебестоимостьНДС=РегПартии.СуммаРуб; <br> СебестоимостьБезНДС=РегПартии.СуммаБезНДС; <br> КонецЦикла;<br>КонецЦикла;<br>КонецЕсли;<br>КонецЕсли;<br><br>Но не получается:(<br>"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №2
 
16.09.2008 15:34

Если РегПартии.ВыбратьДвиженияДокумента(Док.ТекущийДокумент())=1 Тогда

Alizar
читатель
офлайн
Дата регистрации: 23.08.2007
Сообщений: 311
Пост №3
 
16.09.2008 16:21

Все равно не получается. Если в табличной части несколько позиций, отчет выдает по всем позициям одну и ту же цифру - себестоимость последней позиции.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №4
 
16.09.2008 16:36

"Само собой, у вас алгоритм так написан. :) Вы привели только кусок алгоритма, я ж не знаю что там еще есть, кроме того что вы написали. Из него сразу видно, что он не работал бы из за отсутствия разыменования ссылки (чего мы уже поправили) и теперь осталось поработать над логикой, а то в самом деле у вас строки перебираются (зачем то) и в итоге в переменных оказывается значение последнего прохода по циклу, короче, надо примерно так:<br><br>Пока Док.ПолучитьДокумент()=1 Цикл<br> Если Док.Вид()="Реализация" Тогда<br>      Док.ВыбратьСтроки();<br>      Пока Док.ПолучитьСтроку()=1 Цикл<br>       СебестоимостьСНДС=0;<br>       СебестоимостьБезНДС=0;<br>       Если РегПартии.ВыбратьДвиженияДокумента(Док.ТекущийДокумент())=1 Тогда<br>            Пока РегПартии.ПолучитьДвижение()=1 Цикл<br>             Если РегПартии.НомерСтроки()=Док.НомерСтроки Тогда<br>                  СебестоимостьСНДС=СебестоимостьСНДС+РегПартии.СуммаРуб;<br>                  СебестоимостьБезНДС=СебестоимостьБезНДС+РегПартии.СуммаБезНДС;<br>             КонецЕсли;<br>            КонецЦикла;<br>       КонецЕсли;<br>       Таб.ВывестиСекцию("СтрочкаСведений");<br>      КонецЦикла;<br> КонецЕсли;<br>КонецЦикла;<br><br>работать будет, но вообще, алгоритм некрасивый :)"

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №5
 
17.09.2008 12:23

а не проще написать запросом?<br>по какому регистру нужнен отчет, по ПартииОтданные?

Alizar
читатель
офлайн
Дата регистрации: 23.08.2007
Сообщений: 311
Пост №6
 
17.09.2008 15:21

В принципе, да. Я проблему решил способом похожим на тот, что предложил Thorvardr, но только еще менее красивым - с большим количеством циклов и условий.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №7
 
17.09.2008 17:16

нууу, я просто вас не хотил грузить запросами, если вы только начинаете, то проще сделать методом перебора и прямыми проверками, получается некрасиво, но читабельно

Alizar
читатель
офлайн
Дата регистрации: 23.08.2007
Сообщений: 311
Пост №8
 
17.09.2008 18:31

"Так я не в упрек. Наоборот, огромное спасибо;)"

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация