Цитата:
Сообщение от
RedFox
У нас есть Товар 1 (пользовался у себя товар 80206 - Кронус), у которого устнавнолено Reserve=Always
Продали его, а теперь пытаемся вернуть. Для Этого создаем (но не заполняем) Возврат и просто пытаемся копировать документ (чтобы типа сохранить все условия отгрузки для корректировки).
И получаем ошибку, что поле "Shipment Date" не заполнено (см. вложение). Но в исходном документе оно заполнено!!!
Тоесть система не копирует значения???
P.S. Читаю, что написано в про галочку "Include Header" - Place a check mark in this field if you want the program to copy the information from the document header you are copying to the document you are creating. The document lines will be copied whether or not there is a check mark in this field.
Любопытная бага. Я помещу ее в Антибаг если ты не против.
Хочу отметить, что НАВ shipment date в заголовок документа получателя копирует, но затем затирает (если документ-получатель является возвратом). Однако проблема не в заголовке. Если формировать документ вручную, то можно заметить, что shipment date заполняется в строках при вводе товара, не смотря на то, что заголовок пуст. А вот при копировании документа, хотя shipment date и копируется из строк-документа источника, затем он затирается значением из заголовка документа-получателя (а как я уже говорил, для возвратов туда принудительно устанавливается значение 0D).
Т.е. на первый взгляд проблема кроется в CU 6620 Copy Document Mgt. в функции CopySalesLine - не в том месте стоит END
Код:
IF ExactCostRevMandatory AND
(FromSalesLine.Type = FromSalesLine.Type::Item) AND
(FromSalesLine."Appl.-from Item Entry" <> 0) AND
NOT MoveNegLines
THEN BEGIN
IF RecalculateAmount THEN BEGIN
ToSalesLine.VALIDATE("Unit Price",FromSalesLine."Unit Price");
ToSalesLine.VALIDATE(
"Line Discount Amount",
ROUND(FromSalesLine."Line Discount Amount",Currency."Amount Rounding Precision"));
ToSalesLine.VALIDATE(
"Inv. Discount Amount",
ROUND(FromSalesLine."Inv. Discount Amount",Currency."Amount Rounding Precision"));
END;
//Считаю, что здесь должен быть END
IF NOT CreateToHeader THEN
IF ToSalesLine."Shipment Date" = 0D THEN BEGIN
IF ToSalesHeader."Shipment Date" <> 0D THEN
ToSalesLine."Shipment Date" := ToSalesHeader."Shipment Date"
ELSE
ToSalesLine."Shipment Date" := WORKDATE;
END;
END; //А здесь его быть не должно
В подтверждение можно включить флажок Точный Возврат Себестоимости и убедиться, что ошибка исчезнет. На мой взгляд Точный Возврат Себестоимости ни коим образом не должен быть связан с датой отгрузки (тем более в возврате она не несет никакой информационной нагрузки).