Имя: Пароль:
1C
1С v8
ПроводитьДокументПоРазделуУчета
0 piffoff
 
28.03.12
01:29
1с 8.2 БП 2.0.33


Функция ПроводитьДокументПоРазделуУчета(Организация, РазделУчета, Дата) Экспорт
   
   Если ТипЗнч(РазделУчета) <> Тип("ПеречислениеСсылка.РазделыУчета") Тогда
       Возврат Ложь;
   КонецЕсли;
   
   ИмяПеречисления = "";
   Для Каждого ЗначениеПеречисления Из РазделУчета.Метаданные().ЗначенияПеречисления Цикл
       Если Перечисления.РазделыУчета[ЗначениеПеречисления.Имя] = РазделУчета Тогда
           ИмяПеречисления = ЗначениеПеречисления.Имя;
       КонецЕсли;
   КонецЦикла;
   
   Если НЕ ЗначениеЗаполнено(ИмяПеречисления) Тогда
       Возврат Ложь;
   КонецЕсли;

   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    1 КАК ЗаписьРегистра
                  |ИЗ
                  |    (ВЫБРАТЬ ПЕРВЫЕ 1
                  |        КОНЕЦПЕРИОДА(ДатаАктуальностиУчета."+ИмяПеречисления+", ДЕНЬ) КАК ДатаАктуальности,
                  |        ВЫБОР
                  |            КОГДА ДатаАктуальностиУчета.Организация = &Организация
                  |                ТОГДА 1
                  |            ИНАЧЕ 2
                  |        КОНЕЦ КАК Порядок
                  |    ИЗ
                  |        РегистрСведений.ДатаАктуальностиУчета КАК ДатаАктуальностиУчета
                  |    ГДЕ
                  |        (ДатаАктуальностиУчета.Организация = &Организация
                  |                ИЛИ ДатаАктуальностиУчета.Организация = &ПустаяОрганизация)
                  |        И ДатаАктуальностиУчета."+ИмяПеречисления+" <> ДАТАВРЕМЯ(1, 1, 1)
                  |    
                  |    УПОРЯДОЧИТЬ ПО
                  |        Порядок) КАК МаксимальнаяДата
                  |ГДЕ
                  |    МаксимальнаяДата.ДатаАктуальности < &ДатаДокумента";
       
   Запрос.УстановитьПараметр("Организация", Организация);            
   Запрос.УстановитьПараметр("ПустаяОрганизация", Справочники.Организации.ПустаяСсылка());
   Запрос.УстановитьПараметр("ДатаДокумента", Дата);
   Возврат Запрос.Выполнить().Пустой() И ?(РазделУчета = Перечисления.РазделыУчета.НДС, УчетНДС.ПроводитьПоРазделуУчетаНДС(Дата), Истина);
   
КонецФункции

Подскажите, а точнее помогите расшифровать
функция возврыщает ноль или 1,
1 - если профоводитьдокумент по разделам учета
когда она возвращает 1
не могу понять
как это привязывается на настройки
процедуравызывается во время проведения док - та реализация
РазделУчета = РасчетыСКонтрагентами
1 piffoff
 
28.03.12
02:03
вроде разобрался
ищется дата актуальности учета(это у нас регистр сведений)
сравнивается с ней дата документа

Для ускорения оперативной работы можно воспользоваться специальным механизмом - Дата актуальности учета (меню «Предприятие» - «Дата актуальности учета»).

Этот механизм позволяет сократить время, затрачиваемое на проведение документа, за счет уменьшения объема текущих расчетных операций. С помощью него можно установить дату, позже которой не будет выполняться проведение документов по разделам учета, требующим сложных расчетов (партионный учет, учет НДС, налоговый учет, расчеты с контрагентами). После этого проведение документов с более поздней датой будет выполняться по упрощенной схеме.


Например если у вас не засчитываются авансы то это может быть одна из причин
Какая *ука поменяла!
2 agente-secreto
 
19.04.12
16:40
спасибо! нашел что виноваты разделы учета, дальше пришлось спрашивать у яндекса
вопщем все получается если через меню "операции" просто удалить запись регистра сведений "Дата актуальности" (в меню "Предприятие" не нашел)
действительно, из-за того что стояла дата, не засчитывались авансы ((
Программист всегда исправляет последнюю ошибку.