FRO CHECK PRINTED — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Описание)
м (Описание)
Строка 14: Строка 14:
  
 
Если не отпечатано, то в AMNT пишет <span style="color:#FF0000">'''ноль'''</span>
 
Если не отпечатано, то в AMNT пишет <span style="color:#FF0000">'''ноль'''</span>
 +
= Текст =
 +
parameters r130_kod, data
 +
local fro1, flt, cds
 +
try
 +
  fro1 := [[OPENCHILDDOC]]( '[[FRO]]', '1', ~ParentForm := "", ~IsCondition := false, ~Month := Month( data ), ~Year := Year( data )  )
 +
  flt := [ KINDDOC = 'FRO' and LVLNUM = '1' and DtoS( DATDOC ) = '] + DtoS( data ) + [' and DREFL1 = 'R130' and DANAL1 = ] + r130_kod
 +
  ( fro1 )->( SetFilter( flt ) )
 +
  ( fro1 )->( Refresh() )
 +
  ( fro1 )->( DbGoTop() )
 +
  while !( fro1 )->( eof() )
 +
    // НАЛ
 +
    if ( fro1 )->CARDPAY <> 'Д'
 +
      try
 +
        cds := CLONEDATASET( fro1 )
 +
        flt := [ KINDDOC = 'FRO' and LVLNUM = '2' and PARENT = '] + ( fro1 )->RGNUM + [' ]
 +
        ( cds )->( SETFILTER( flt ) )
 +
        ( cds )->( DBGOTOP() )
 +
        while !( cds )->( eof() )
 +
          if !Empty( ( cds )->NATTR2 )
 +
            ( cds )->NATTR2 := 0
 +
          endif
 +
          ( cds )->( DbSkip() )
 +
        end
 +
      finally
 +
        CLOSETABLE( cds )
 +
      end
 +
    endif
 +
    // БЕЗНАЛ
 +
    if ( fro1 )->CARDPAY = 'Д'
 +
      try
 +
        cds := CLONEDATASET( fro1 )
 +
        flt := [ KINDDOC = 'FRO' and LVLNUM = '2' and PARENT = '] + ( fro1 )->RGNUM + [' ]
 +
        ( cds )->( SETFILTER( flt ) )
 +
        ( cds )->( DBGOTOP() )
 +
        while !( cds )->( eof() )
 +
          if ( cds )->NATTR2 <> 1
 +
            ( cds )->NATTR2 := 1
 +
          endif
 +
          ( cds )->( DbSkip() )
 +
        end
 +
      finally
 +
        CLOSETABLE( cds )
 +
      end
 +
    endif
 +
    // ПРИЗНАК НЕ ОТПЕЧАТАННОСТИ
 +
    if ( fro1 )->PRINTED <> 'Д'
 +
      try
 +
        cds := CloneDataSet( fro1 )
 +
        flt := [ KINDDOC = 'FRO' and LVLNUM = '2' and PARENT = '] + ( fro1 )->RGNUM + [' ]
 +
        ( cds )->( SetFilter( flt ) )
 +
        ( cds )->( DbGoTop() )
 +
        while !( cds )->( eof() )
 +
          if !Empty( ( cds )->AMNT )
 +
            ( cds )->AMNT := 0
 +
          endif
 +
          ( cds )->( DbSkip() )
 +
        end
 +
      finally
 +
        CLOSETABLE( cds )
 +
      end
 +
    endif
 +
    ( fro1 )->( DbSkip() )
 +
  end
 +
finally
 +
  ( fro1 )->( CloseForm( GetForm( GetArea() ) ) )
 +
end
  
 
= Смотрите также =
 
= Смотрите также =

Версия 08:15, 29 декабря 2017

FRO_CHECK_PRINTED - это программа из справочника R266

Проверить все продажи по магазину за сутки

FRO_CHECK_PRINTED( r130_kod, data )

r130_kod - код кассы

data - дата

Описание

Открывает 1 этаж документа FRO за выбранную дату по одному магазину

Если безнал, то на этаж 2 пишет 1 в реквизит NATTR2

Если нал, то пишет ноль в NATTR2

Если не отпечатано, то в AMNT пишет ноль

Текст

parameters r130_kod, data
local fro1, flt, cds
try
  fro1 := OPENCHILDDOC( 'FRO', '1', ~ParentForm := "", ~IsCondition := false, ~Month := Month( data ), ~Year := Year( data )  )
  flt := [ KINDDOC = 'FRO' and LVLNUM = '1' and DtoS( DATDOC ) = '] + DtoS( data ) + [' and DREFL1 = 'R130' and DANAL1 = ] + r130_kod
  ( fro1 )->( SetFilter( flt ) )
  ( fro1 )->( Refresh() )
  ( fro1 )->( DbGoTop() )
  while !( fro1 )->( eof() )
    // НАЛ
    if ( fro1 )->CARDPAY <> 'Д'
      try
        cds := CLONEDATASET( fro1 )
        flt := [ KINDDOC = 'FRO' and LVLNUM = '2' and PARENT = '] + ( fro1 )->RGNUM + [' ]
        ( cds )->( SETFILTER( flt ) )
        ( cds )->( DBGOTOP() )
        while !( cds )->( eof() )
          if !Empty( ( cds )->NATTR2 )
            ( cds )->NATTR2 := 0
          endif
          ( cds )->( DbSkip() )
        end
      finally
        CLOSETABLE( cds )
      end
    endif
    // БЕЗНАЛ
    if ( fro1 )->CARDPAY = 'Д'
      try
        cds := CLONEDATASET( fro1 )
        flt := [ KINDDOC = 'FRO' and LVLNUM = '2' and PARENT = '] + ( fro1 )->RGNUM + [' ]
        ( cds )->( SETFILTER( flt ) )
        ( cds )->( DBGOTOP() )
        while !( cds )->( eof() )
          if ( cds )->NATTR2 <> 1
            ( cds )->NATTR2 := 1
          endif
          ( cds )->( DbSkip() )
        end
      finally
        CLOSETABLE( cds )
      end
    endif
    // ПРИЗНАК НЕ ОТПЕЧАТАННОСТИ
    if ( fro1 )->PRINTED <> 'Д'
      try
        cds := CloneDataSet( fro1 )
        flt := [ KINDDOC = 'FRO' and LVLNUM = '2' and PARENT = '] + ( fro1 )->RGNUM + [' ]
        ( cds )->( SetFilter( flt ) )
        ( cds )->( DbGoTop() )
        while !( cds )->( eof() )
          if !Empty( ( cds )->AMNT )
            ( cds )->AMNT := 0
          endif
          ( cds )->( DbSkip() )
        end
      finally
        CLOSETABLE( cds )
      end
    endif
    ( fro1 )->( DbSkip() )
  end
finally
  ( fro1 )->( CloseForm( GetForm( GetArea() ) ) )
end

Смотрите также

Полезные функции

Функции Delphi