Получение цены номенклатуры

1. NatalkaBal 29 09.04.12 09:55 Сейчас в теме
Добрый день, подскажите как получить цену (в справочника заведена как Закупочная) номенклатуры по документу Перемещение ТМЦ
ДокПеремещение = СоздатьОбъект("Документ.ПеремещениеТМЦ");
ДокПеремещение.ВыбратьДокументы(ВыбНачПериода, ВыбКонПериода); 
Пока ДокПеремещение.ПолучитьДокумент()=1 Цикл 
		
	Если ДокПеремещение.ПометкаУдаления()=1 Тогда 
		Продолжить;
	КонецЕсли;  
	
	Если (ДокПеремещение.Склад = ВыбСклады) Тогда
		ДокПеремещение.ВыбратьСтроки(); 
		Пока ДокПеремещение.ПолучитьСтроку()=1 Цикл
			Если (ДокПеремещение.Сумма <> 0) Тогда
				ТаблицаДокументов.НоваяСтрока(); 
				ТаблицаДокументов.Номенклатура = ДокПеремещение.Номенклатура;
				ТаблицаДокументов.Количество   = ДокПеремещение.Количество;
				ТаблицаДокументов.СуммаРеализ  = ДокПеремещение.Сумма;
				ТаблицаДокументов.СуммаЗакуп   = ТаблицаДокументов.Количество*?????(цена закупки)
			КонецЕсли;
		КонецЦикла;
	КонецЕсли; 
	
	КонецЦикла;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
10. Lik2707 22.12.14 15:43 Сейчас в теме
Код в (1), если он полный, даст для обработки проведенные документы и непроведенные. Это так и нужно?
2. volodya1122 8 09.04.12 10:16 Сейчас в теме
В ТиС реквизит Цены это подчиненный справочник к справочнику "Номенклатура". Поэтому тут нужно немного подругому.
ИпользоватьВладельца(номенклатуры)
Потом искать в справочнике "цены" нужный тип цены.
NatalkaBal; +1 Ответить
5. yorock 09.04.12 11:16 Сейчас в теме
В (2) и (3) всё правильно написано
7. ibazh 03.05.12 15:35 Сейчас в теме
3. Dmitr033 131 09.04.12 10:25 Сейчас в теме
Как то так наверное, ном - элемент номенклатуры, тип = элемент ТипыЦен, дт - дата:
Функция ДайЦену(ном,тип,дт)
спр = СоздатьОбъект("Справочник.Цены");
спр.ИспользоватьВладельца(ном);
спр.ВыбратьЭлементы();
Пока спр.ПолучитьЭлемент() = 1 Цикл
   Если спр.ТипЦены = тип Тогда
      Возврат спр.Цена.Получить(дт);
   КонецЕсли;
КонецЦикла;
Возврат 0;
КонецФункции;
Показать

Пример работы с ценами можно посмотреть в документе ПоступлениеТМЦРозница
Процедура РассчитатьРозничнуюЦену()
Там на самом деле нужно учитывать еще и единицы измерения.
Gennadiy83; NatalkaBal; +2 Ответить
4. NatalkaBal 29 09.04.12 10:57 Сейчас в теме
вот так тоже работает...
СпрТипЦен=СоздатьОбъект("Справочник.ТипыЦен");
СпрТипЦен.НайтиПоКоду("00001");
ТипЦен=СпрТипЦен.ТекущийЭлемент();
Цена =  глПолучитьЦену(ТаблицаДокументов.Номенклатура, ТипЦен, ДокПеремещение.ДатаДок,,,, ); 
ТаблицаДокументов.СуммаЗакуп   = ТаблицаДокументов.Количество*Цена; 
6. yorock 09.04.12 11:17 Сейчас в теме
(4) а вот это будет работать только если вы уверены что в справочнике цен закупочной цене равен код 00001
(3) более универсально и правильно
9. Andryza 39 22.12.14 14:27 Сейчас в теме
а я бы сказал что (4) более правильно, используя типовой механизм получения Цены, просто учтите, что в документе Перемещение ТМЦ есть реквизит "ТипЦен"!!! Который и можно передавать в качестве типа цены.
8. n.s.gnedash 3 03.05.12 20:07 Сейчас в теме
Поддерживаю, код вполне работоспособен
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот