![]() |
|
Заполнение документа Перемещение на основании документа Реализация товаров | ☑ | ||
---|---|---|---|---|
0
sergqwert
12.07.20
✎
21:22
|
Заполняю документ Перемещение ТМЦ на основании документа Реализация товаров. Конфигурация Комплексный учет для бюджетных учреждений. Документ перемещение создается, но не проводится не проводится, в чем причина?
&НаСервере Процедура ЗаполнитьНаСервере() Объект.СписокРасходных.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияУслуг.Ссылка КАК Накладная, | РеализацияУслуг.ДатаСоздания КАК ДатаСоздания, | РеализацияУслуг.ДатаРедактирования КАК ДатаРедактирования, | РеализацияУслуг.МестоХранения КАК МестоХранения, | РеализацияУслуг.Договор КАК Договор, | РеализацияУслуг.Контрагент КАК Контрагент, | РеализацияУслуг.Организация КАК Организация, | РеализацияУслуг.Дата КАК Дата |ИЗ | Документ.РеализацияУслуг КАК РеализацияУслуг |ГДЕ | РеализацияУслуг.МестоХранения = &СкладКуда | И РеализацияУслуг.Проведен = ИСТИНА"; Запрос.УстановитьПараметр("СкладКуда", Объект.СкладКуда); Запр = Запрос.Выполнить(); ТЗ = Запр.Выгрузить(); Для Каждого Строка Из ТЗ Цикл нов = Объект.СписокРасходных.Добавить(); ЗаполнитьЗначенияСвойств(нов,Строка); КонецЦикла; КонецПроцедуры &НаСервере Процедура СформироватьПеремещенияНаСервере() Для Каждого СтрокаД Из Объект.СписокРасходных Цикл НовДокПеремещ = Документы.ПеремещениеТМЦ.СоздатьДокумент(); НовДокПеремещ.Заполнить(СтрокаД.Накладная); НовДокПеремещ.УстановитьНовыйНомер(); НовДокПеремещ.Дата = СтрокаД.Накладная.Дата - 1; НовДокПеремещ.Организация = СтрокаД.Накладная.Организация; НовДокПеремещ.МестоХранения = Объект.СкладОткуда; НовДокПеремещ.МестоХраненияНазначение = Объект.СкладКуда; НовДокПеремещ.Сдал = СтрокаД.Накладная.Сдал; НовДокПеремещ.Принял = СтрокаД.Накладная.Принял; НовДокПеремещ.Комментарий = "Перемещение ТМЦ с" + НачалоДня(Объект.НачПериода)+ " по "+КонецДня(Объект.КонПериода); Если Не ЗначениеЗаполнено(НовДокПеремещ.ВидОперации) Тогда НовДокПеремещ.ВидОперации = Перечисления.ОперацииПеремещениеТМЦ.Перемещение; КонецЕсли; НовДокПеремещ.ПользовательСоздание = Пользователи.ТекущийПользователь(); Для Каждого СтрокаТМЦ Из СтрокаД.Накладная.ТМЦ Цикл НовСтрока = НовДокПеремещ.ТМЦ.Добавить(); ЗаполнитьЗначенияСвойств(НовСтрока, СтрокаТМЦ); НовСтрока.Контрагент = СтрокаД.Накладная.Контрагент; НовСтрока.СчетУчета = СтрокаТМЦ.СчетУчета; КонецЦикла; Попытка Если НовДокПеремещ.Проведен Тогда НовДокПеремещ.Записать(РежимЗаписиДокумента.Проведение); Иначе НовДокПеремещ.Записать(РежимЗаписиДокумента.Запись); Конецесли; Исключение Отказ = ИСТИНА; Сообщить("Не удалось записать документ ""Перемещение тмц"" по причине:"); Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки КонецЦикла; Сообщить("Проведен документ: "+НовДокПеремещ); Объект.СписокРасходных.Очистить(); КонецПроцедуры |
|||
1
acht
12.07.20
✎
22:26
|
(0)
> НовДокПеремещ = Документы.ПеремещениеТМЦ.СоздатьДокумент(); ... Если НовДокПеремещ.Проведен Тогда НовДокПеремещ.Записать(РежимЗаписиДокумента.Проведение); Иначе НовДокПеремещ.Записать(РежимЗаписиДокумента.Запись); Конецесли; С чего бы ему стать проведенным? |
|||
2
AlvlSpb
12.07.20
✎
23:08
|
(0) У меня мозги закрутило. Это в какой ситуации надо Перемещение на основании Реализации? Т.е. товар продан, им владеет покупатель и вы его куда-то хотите переместить? Оригинально
|
|||
3
acht
12.07.20
✎
23:14
|
(2) Выравнивание остатков задним числом. Обрати внимание на:
> НовДокПеремещ.Дата = СтрокаД.Накладная.Дата - 1; |
|||
4
acht
12.07.20
✎
23:16
|
А потом он наткнется на документ в начале дня =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |