|
Как заполнить ТЧ Реализации по остаткам номенклатуры | ☑ | ||
---|---|---|---|---|
0
almaz102
07.09.17
✎
18:46
|
Помогите пожалуйста, не получается заполнить ТЧ. Мне нужно по остаткам номенклатуры определенного склада заполнить ТЧ документа реализация. Что я делаю ни так?
&НаСервере Процедура СформироватьПоОстаткамНаСервере(ДанныеФормы) Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.РеализацияТоваровУслуг")); Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); Док.Контрагент = Объект.Контрагент; Док.ДоговорКонтрагента = НайтиДоговор(Объект.Контрагент); Док.Организация = Объект.Организация; Док.Склад = Объект.Склад; Док.Дата = Объект.ДатаРеализации; Док.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Товары; Док.БанковскийСчетОрганизации = Объект.Организация.ОсновнойБанковскийСчет; Док.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями; Док.СчетУчетаРасчетовПоАвансам = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамПолученным; Док.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически; Док.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.Получить(); Док.КурсВзаиморасчетов = 1; Док.КратностьВзаиморасчетов = 1; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1 КАК Номенклатура, | ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , , ) КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.Субконто2 = &Субконто2 | И ХозрасчетныйОстатки.Счет = &Счет | И ХозрасчетныйОстатки.Организация = &Организация"; Запрос.УстановитьПараметр("Дата", Объект.ДатаРеализации); Запрос.УстановитьПараметр("Субконто2", Объект.Склад); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); Запрос.УстановитьПараметр("Организация", Объект.Организация); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл //Для Каждого Стр ИЗ Объект.СсылкаНаОбъект.Товары ЦИКЛ НоваяСтрокаТЧ = ДанныеФормы.Товары.Добавить(); НоваяСтрокаТЧ.Номенклатура = Выборка.Номенклатура; НоваяСтрокаТЧ.Количество = Выборка.Количество; //НоваяСтрокаТЧ.Цена = Стр.Цена; //НоваяСтрокаТЧ.Сумма = Стр.Сумма; //НоваяСтрокаТЧ.СуммаНДС = Стр.СуммаНДС; //НоваяСтрокаТЧ.СчетУчетаНДСПоРеализации =ПланыСчетов.Хозрасчетный.НДС; //НоваяСтрокаТЧ.СтавкаНДС = Стр.СтавкаНДС; //НоваяСтрокаТЧ.СчетУчета = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах; //НоваяСтрокаТЧ.СчетДоходов = ПланыСчетов.Хозрасчетный.ВыручкаНеЕНВД; //НоваяСтрокаТЧ.СчетРасходов = ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД; // КонецЦикла; Док.СуммаДокумента = Объект.СсылкаНаОбъект.СуммаДокумента; Док.СуммаВключаетНДС = Истина; //РеализацияТоваровУслугФормы.ДоговорКонтрагентаПриИзменении(ФормаДок); ЗначениеВДанныеФормы(Док,ДанныеФормы); КонецПроцедуры &НаКлиенте Процедура СформироватьПоОстаткам(Команда) ЭлементыОтбора = Новый Структура("ВидОперации", ВидОперацииДокумента()); ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЭлементыОтбора); ФормаДокумента = ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", ПараметрыФормы); ДанныеФормы = ФормаДокумента.Объект; СформироватьПоОстаткамНаСервере(ДанныеФормы); КопироватьДанныеФормы(ДанныеФормы, ФормаДокумента.Объект); КонецПроцедуры |
|||
1
h-sp
07.09.17
✎
19:02
|
тут фигня какая-то
Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.РеализацияТоваровУслуг")); Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); переменная Док два раза присваивается |
|||
2
AlvlSpb
07.09.17
✎
19:17
|
(0) Мне кажется, вы усложняете задачу. Посмотрите пример http://1c-programmer-blog.ru/programmirovanie/kak-otkryt-formu-s-zapolneniem.html
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |