public virtual void FieldDefaulting(PXCache sender, PXFieldDefaultingEventArgs e)
        {
            GetFields(sender, e.Row);

            Type defaultType = DefaultTypeRestrictedByOrganization ?? DefaultType;

            if (defaultType != null && (_sourceDate != DateTime.MinValue ||
                                        (SourceType != null && (BranchSourceType != null || OrganizationSourceType != null))))
            {
                e.NewValue = (string)GetPeriod(sender.Graph,
                                               defaultType,
                                               new QueryParams()
                {
                    SourceDate = _sourceDate == DateTime.MinValue ? (DateTime?)null : _sourceDate
                },
                                               PeriodKeyProvider.GetKeyAsArrayOfObjects(sender.Graph, sender, e.Row),
                                               e.Row.SingleToListOrNull(),
                                               DefaultingQueryParametersDelegate);
            }
        }
 protected override object[] GetPeriodKey(PXCache cache, object row)
 {
     return(PeriodKeyProvider.GetKeyAsArrayOfObjects(cache.Graph, cache, row));
 }