Формы отчётов из L_SKLAD.res

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Сообщение BlazeBio »

Все равно нули :shock: . Почему добавляемые поля в linkform всё равно нулевые и поле osum и поле summak (т.е. katsopr.summa)? Может что-то нужно прописать в выводе

Код: Выделить всё

.{
 ^


                            @@@@@@@@@ ОРДЕР №  ^
                               от ^
.if SKLORDER01
   Основание  : ^
.if SKLORDER02
.else
.end
.else
.end
   Склад      : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

──────────────┬─────────────────────────────┬─────────┬──────────────────┬───────────────┬─────────────────
Номенклатурный│    Материальные  ценности   │ Единица │    Количество    │     Цена      │    Стоимость
    номер     │                             │измерения│                  │ @~@@@@@@@@@@@ │  @~@@@@@@@@@@@
──────────────┴─────────────────────────────┴─────────┴──────────────────┴───────────────┴─────────────────
.{
.{
&&&&&&&&&&&&&& @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ &'&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& &'&&&&&&&&&&&&&&&
.}
.}
───────────────────────────────────────────────────────────────────────────────────────────────────────────
   Итого :                                                                                &&&&&&&&&&&&&&&&&
.begin
  localSklOrder.GetFirst SklOrder where ((SklOrderRec == SklOrder.nRec));
  if (localSklOrder.SklOrder.vidOrder = 0) // приходный
  {
    sender := Mol;
    Senderpost := mol_post;
  }
  if (localSklOrder.SklOrder.vidOrder = 1) // расходный
  {
    recipient := Mol;
    RecipientPost := mol_post;
  }
end.

   Принял: @@@@@@@@@@@@@@@@@@@@@@@@@@@@               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                    должность              подпись           расшифровка подписи
   Сдал :  @@@@@@@@@@@@@@@@@@@@@@@@@@@@               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                    должность              подпись           расшифровка подписи


.}
.endform
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

ну уж всю форму приведите. там одно здесь другое.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Сообщение BlazeBio »

Какой смысл этой конструкции edward_K?

.begin
if v1.getfirst sporder=0 {}

end.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

1. она стоит в конце цикла по ордеру
2. идет позиционирование во вьюхе - ну надо так
3. вычисляется кто же тут приемщик или отправитель в зависимости от направления ордера.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Сообщение BlazeBio »

То есть так ?

Код: Выделить всё

.LinkForm 'SKORDER_03' Prototype is 'SKORDER'
.Group 'Складской ордер'
.NameInList 'СТАНДАРТНЫЙ СКЛАДСКОЙ ОРДЕР'
.var
  Sender:String
  senderpost:String
  Recipient:String
  RecipientPost:String
.endvar
.Create     view localSklOrder
(summak)
as select
katsopr.summa,SklOrder.*
from
  SklOrder;
.Create    view v1 (osum)as select sporder.kol*sporder.rsrprice from sporder
where ((SpOrderRec== sporder.nrec));
.fields
  CommonFormHeader
  OrdName
  nOrder
  dOrder
  Osnov
  Sklad
  'в '+RublSimv
  'в '+RublSimv
  NNomer
  MC
  ED
  Kol
  Price
  v1.osum//Summ
  localSklOrder.summak//Itogo
  Senderpost
  Sender
  RecipientPost
  Recipient
.endfields
.{
 ^


                            @@@@@@@@@ ОРДЕР №  ^
                               от ^
.if SKLORDER01
   Основание  : ^
.if SKLORDER02
.else
.end
.else
.end


   Склад      : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

──────────────┬─────────────────────────────┬─────────┬──────────────────┬───────────────┬─────────────────
Номенклатурный│    Материальные  ценности   │ Единица │    Количество    │     Цена      │    Стоимость
    номер     │                             │измерения│                  │ @~@@@@@@@@@@@ │  @~@@@@@@@@@@@
──────────────┴─────────────────────────────┴─────────┴──────────────────┴───────────────┴─────────────────
.{
.{
&&&&&&&&&&&&&& @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ &'&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& &'&&&&&&&&&&&&&&&
.}
.}
───────────────────────────────────────────────────────────────────────────────────────────────────────────
   Итого :                                                                                &&&&&&&&&&&&&&&&&
.begin
  localSklOrder.GetFirst SklOrder where ((SklOrderRec == SklOrder.nRec));
  if (localSklOrder.SklOrder.vidOrder = 0) // приходный
  {
    sender := Mol;
    Senderpost := mol_post;
  }
  if (localSklOrder.SklOrder.vidOrder = 1) // расходный
  {
    recipient := Mol;
    RecipientPost := mol_post;
  }
end.

   Принял: @@@@@@@@@@@@@@@@@@@@@@@@@@@@               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                    должность              подпись           расшифровка подписи
   Сдал :  @@@@@@@@@@@@@@@@@@@@@@@@@@@@               @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                    должность              подпись           расшифровка подписи

.begin
 
if v1.getfirst sporder=0 {} 

end.
.}
.endform
Это весь код.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

sporder вообще должен быть повыше строк на 10

Код: Выделить всё

{
.{
.begin
if v1.getfirst sporder=0 {}
end. 
&&&&&&&&&&&&&& @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ &'&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& &'&&&&&&&&&&&&&&&
.}
.} 
ну и ваше доп.поле должно выводится в этом же цикле.
и не забудьте "имя_вьюхи." к нему приписать - когда 2 и более вьюхи , это обязательно. Все тут проще чем кажется, тока понять нужно что стулья отдельно, деньги отдельно - а как их и где сцепить решаете именно вы.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Сообщение BlazeBio »

Я слышал есть какие-то утилиты (вроде seclib.exe и resman.exe), с которыми можно производить то ли добавление linkform, то ли замену существующих linkform в ресурсе. Ведь linkform это стандартный.
Можно ли с помощью этих утилит заменить linkform 'SKORDER_03' в L_Sklad.res?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

а к чему заменять? в название буковки свои добавьте и у вас останется стандартный отчет и будет свой, со своим названием.

З.Ы.: указанные утилиты работали до версии 8.10.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Сообщение BlazeBio »

Почему при таком варианте записи:

Код: Выделить всё

...
.Create  view v2 (summak)as select katsopr.summa from katsopr where((SKLORDERREC==sklorder.nrec and sklorder.csopr==katsopr.nrec));
...
могут не выводится значения summak в отчёте?

Код: Выделить всё

...
&&&&&&&&&&&&&& @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ &'&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& &'&&&&&&&&&&&&&&&
.}
.}
───────────────────────────────────────────────────────────────────────────────────────────────────────────
.begin
 
if v2.getfirst katsopr=0 {}

end.
   Итого :                                                                                &&&&&&&&&&&&&&&&& 
...     
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Сообщение Vik »

Код: Выделить всё

if v2.getfirst SklOrder=tsOk {
       if v2.getfirst katsopr=tsOk {
        } 
 } 
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: Формы отчётов из L_SKLAD.res

Сообщение BlazeBio »

И всё-таки как добавить отчёты свои или подредактированные в L_Sklad.res? Только через F4? Хотелось бы поподробнее. :razz:
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Формы отчётов из L_SKLAD.res

Сообщение edward_K »

1. когда совсем тяжко стоит поучится на курсах. Или хотя бы почитать vipprogr.chm. Никто не будет вам оттуда приводить страницы текста.
2. читайте форум - как вообще в принципе формы компилить F4 в галке это крайний случай, откомпилированные попадут в ваш atlantis.res, из которого может быть потом проблематично их доставать. поэтому лучше сохранить в текст и собрать в какой то другой и подключить уже всем.
3. не хорошо закрывать стандартные формы - nameinlist и linkform в вашей форме должны быть уникальные.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: Формы отчётов из L_SKLAD.res

Сообщение BlazeBio »

Ясно. Создал ресурсник с новыми отчётами. Как его подключить туда, где старые стандартные отчёты по ордерам? (Если что-то нужно почитать в Vipprogr или ещё где-то, то скажите, почитаю).
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Формы отчётов из L_SKLAD.res

Сообщение edward_K »

1. воспользоваться консолью управления - если есть лицензия - читайте доку на нее.
2. положить как user.res (user1.res,user2.res) в exe галки
3. если есть лиц.на vip в "опыте" есть фейс для подключение ресов- там найдете и 5 путь.
4. посмотреть xml файлы в exe галки и прочитать как их регить vip-ом(на это действо лицензия не требуется) - тока не снесите весь "репозитариий" , а да "репозитариий" здесь основное слово для поиска на форуме. Не помню где описано - наверное в vip.pdf ну и GAL810\Start\regcomp.bat смотрите.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Re: Формы отчётов из L_SKLAD.res

Сообщение BlazeBio »

Банально скомпилил ресурс, а отчёт автоматом добавился в списки стандартных отчётов по ордерам :grin:
Ответить