Создание требования-накладной

1. lenafoxy 25.12.13 17:22 Сейчас в теме
Создаю программно из обработки документ "Требование-Накладная".
Как мне заполнить счета учета в ТЧ "Материалы"?
А еще номенклатурную группу и статью затрат?

Номенклатурная группа есть только у ТЧ документа, поэтому пишу:
СтрокаТребования.НоменклатурнаяГруппа = ЭтотОбъект.НомерЗаказа;
СтрокаТРебования.СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоКоду("000000079");
В итоге подставляется таким образом.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. DeniNikitin 40 26.12.13 16:47 Сейчас в теме
(1) lenafoxy,
А так не пойдёт?
	ДокументТребование = Документы.ТребованиеНакладная.СоздатьДокумент();
	ДокументТребование.Дата = Дата+60*4;
	ДокументТребование.Организация = Организация;
	ДокументТребование.Подразделение = Подразделение;
	ДокументТребование.ПодразделениеОрганизации = ПодразделениеОрганизации;
	ДокументТребование.Склад = Склад;
	ДокументТребование.ОтражатьВБухгалтерскомУчете = ИСТИНА;
	ДокументТребование.ОтражатьВНалоговомУчете = ИСТИНА;
	ДокументТребование.ОтражатьВУправленческомУчете = ИСТИНА;
	ДокументТребование.НДСвСтоимостиТоваров = Перечисления.ДействиеНДСВСтоимостиТоваров.НеИзменять;
	ДокументТребование.Ответственный = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойОтветственный");
	Для Каждого Строка Из РезультатТовары Цикл
		НоваяСтрока = ДокументТребование.Материалы.Добавить();
		НоваяСтрока.Номенклатура = Строка.Номенклатура;
		НоваяСтрока.Коэффициент = Строка.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент;
		НоваяСтрока.ЕдиницаИзмерения = Строка.Номенклатура.ЕдиницаХраненияОстатков;
		НоваяСтрока.СерияНоменклатуры = Строка.СерияНоменклатуры;
		НоваяСтрока.Качество = Справочники.Качество.Новый;
		НоваяСтрока.Количество = Строка.Количество;
		НоваяСтрока.СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("Счет 29 Столовая");
		НоваяСтрока.Счет = ПланыСчетов.Хозрасчетный.Товары;
		НоваяСтрока.СчетНУ = Соответствие(ПланыСчетов.Хозрасчетный.Товары);
		НоваяСтрока.СчетЗатрат = ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеОблагаемаяЕНВД;
		НоваяСтрока.СчетЗатратНУ = ПланыСчетов.Налоговый.СебестоимостьПродаж;
		НоваяСтрока.НоменклатурнаяГруппа = НоменклатурнаяГруппа;
	КонецЦикла;
	
	ДокументТребование.Записать(РежимЗаписиДокумента.Проведение);
Показать
jkcea; lenafoxy; +2 Ответить
17. lenafoxy 30.12.13 13:13 Сейчас в теме
(12) DeniNikitin, спасибо большое)
19. ant1773 6 31.12.13 08:22 Сейчас в теме
(12) DeniNikitin,

НоваяСтрока.СтатьяЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("Счет 29 Столовая");


Ох не стоит привязываться к наименованию. К коду статьи - ну еще туда-сюда, но наименование...
Вообще конечно нужно использовать типовой механизм:
// Процедура заполняет счета учета по бухгалтерскому и налоговому учету.
Процедура ЗаполнитьСчетаУчетаВСтрокеТабЧасти(СтрокаТЧ, ИмяТабЧасти, Заполнять)


НоваяСтрока.Счет = ПланыСчетов.Хозрасчетный.Товары;


Счет верхнего порядка, не предназначенный для использования в проводках?

НоваяСтрока.СчетНУ = Соответствие(ПланыСчетов.Хозрасчетный.Товары);


Это код от 1.6?
2. Lenten 25 25.12.13 17:30 Сейчас в теме
вопрос то в чем? как заполнять программно реквизиты табличной части?
9. lenafoxy 26.12.13 12:04 Сейчас в теме
(2) Lenten, да(( они же не заполняются
3. Boneman 302 25.12.13 17:35 Сейчас в теме
так ничего же не подставлено.
Ты хоть код покажи, чего там делаешь
4. vetaldober 18 25.12.13 17:44 Сейчас в теме
в модуле объекта есть экспортная процедура ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл() подбери параметры и вуаля...если конечно заполнен регистр сведений счета учета номенклатуры.
5. vetaldober 18 25.12.13 17:50 Сейчас в теме
или общий модуль "СчетаУчетаВДокументах" процедура ЗаполнитьСчетаУчетаТабличнойЧасти(-----) параметры сам посмотри=) хотя 1й мой пост в итоге все равно вызовет эту процедуру... ну это конечно в УПП... если другая конфа, то зайди в событие при изменении номенклатуры в табличной части материалов, документа требование накладная и посмотри в какой момент заполняются счета учета(процедуры понятны по названиям) там должна быть 100% экспортная процедура.
6. lenafoxy 26.12.13 09:06 Сейчас в теме
(5) vetaldober, а как обратиться из внешней обработки к процедуре в общем модуле?
7. webester 26 26.12.13 09:36 Сейчас в теме
(6) СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаТабличнойЧасти(ЗдесьПараметры)
видимо :)
8. lenafoxy 26.12.13 12:04 Сейчас в теме
(7) webester, да нифига не получилось((((((
10. webester 26 26.12.13 12:11 Сейчас в теме
(8)Что бы сказать, что у тебя не выходит, нужно видеть, что ты делаешь. А ты показал только пару строк. Кинь вот сюда свой код и покажи что происходит.
11. vetaldober 18 26.12.13 15:46 Сейчас в теме
(6) lenafoxy, имя общего модуля, а затем имя Экспортной процедуры. возможно у тебя процедура называется по другому. Если есть экспортная процедура в модуле объекта, а она там есть, можно вызвать её ДокументОбъект.ИмяПроцедуры где документ объект это твой документ требование накладная. вообще скажи какая конфига и управляемые ли это формы?
13. vetaldober 18 26.12.13 19:57 Сейчас в теме
Можно так, но не универсально. завтра что-то в плане счетов поменяется и придется переписывать все обработки. Лучше использовать типовой механизм заполнения из регистра сведений.
14. aleksdiez 4 26.12.13 20:15 Сейчас в теме
у меня есть готовая, могу выложить.
15. vetaldober 18 27.12.13 15:19 Сейчас в теме
Она есть во всех типовых конфигурациях=)
18. lenafoxy 30.12.13 13:14 Сейчас в теме
16. lenafoxy 30.12.13 13:13 Сейчас в теме
В общем, эти реквизиты - это Субконто1 и Субконто3.Все заполнила
1C_Casual; +1 Ответить
20. 1C_Casual 174 20.10.23 16:29 Сейчас в теме
(16) Спасибо что поделились решением. Очень помогли!
Оставьте свое сообщение

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