Программирование на Атлантисе (VIP, FCOM, ARD), FastReport
Модераторы: m0p3e , edward_K , Модераторы
BlazeBio
Местный житель
Сообщения: 386 Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:
Сообщение
BlazeBio » 31 май 2010, 19:33
Все равно нули
. Почему добавляемые поля в 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
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 31 май 2010, 20:06
ну уж всю форму приведите. там одно здесь другое.
BlazeBio
Местный житель
Сообщения: 386 Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:
Сообщение
BlazeBio » 31 май 2010, 20:09
Какой смысл этой конструкции edward_K?
.begin
if v1.getfirst sporder=0 {}
end.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 31 май 2010, 20:13
1. она стоит в конце цикла по ордеру
2. идет позиционирование во вьюхе - ну надо так
3. вычисляется кто же тут приемщик или отправитель в зависимости от направления ордера.
BlazeBio
Местный житель
Сообщения: 386 Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:
Сообщение
BlazeBio » 31 май 2010, 20:17
То есть так ?
Код: Выделить всё
.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
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 31 май 2010, 20:23
sporder вообще должен быть повыше строк на 10
Код: Выделить всё
{
.{
.begin
if v1.getfirst sporder=0 {}
end.
&&&&&&&&&&&&&& @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ &'&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& &'&&&&&&&&&&&&&&&
.}
.}
ну и ваше доп.поле должно выводится в этом же цикле.
и не забудьте "имя_вьюхи." к нему приписать - когда 2 и более вьюхи , это обязательно. Все тут проще чем кажется, тока понять нужно что стулья отдельно, деньги отдельно - а как их и где сцепить решаете именно вы.
BlazeBio
Местный житель
Сообщения: 386 Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:
Сообщение
BlazeBio » 01 июн 2010, 11:05
Я слышал есть какие-то утилиты (вроде seclib.exe и resman.exe), с которыми можно производить то ли добавление linkform, то ли замену существующих linkform в ресурсе. Ведь linkform это стандартный.
Можно ли с помощью этих утилит заменить linkform 'SKORDER_03' в L_Sklad.res?
Алексей
Местный житель
Сообщения: 2898 Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область
Сообщение
Алексей » 01 июн 2010, 11:53
а к чему заменять? в название буковки свои добавьте и у вас останется стандартный отчет и будет свой, со своим названием.
З.Ы.: указанные утилиты работали до версии 8.10.
BlazeBio
Местный житель
Сообщения: 386 Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:
Сообщение
BlazeBio » 01 июн 2010, 12:44
Почему при таком варианте записи:
Код: Выделить всё
...
.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 » 01 июн 2010, 13:05
Код: Выделить всё
if v2.getfirst SklOrder=tsOk {
if v2.getfirst katsopr=tsOk {
}
}
BlazeBio
Местный житель
Сообщения: 386 Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:
Сообщение
BlazeBio » 07 июн 2010, 11:57
И всё-таки как добавить отчёты свои или подредактированные в L_Sklad.res? Только через F4? Хотелось бы поподробнее.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 07 июн 2010, 12:30
1. когда совсем тяжко стоит поучится на курсах. Или хотя бы почитать vipprogr.chm. Никто не будет вам оттуда приводить страницы текста.
2. читайте форум - как вообще в принципе формы компилить F4 в галке это крайний случай, откомпилированные попадут в ваш atlantis.res, из которого может быть потом проблематично их доставать. поэтому лучше сохранить в текст и собрать в какой то другой и подключить уже всем.
3. не хорошо закрывать стандартные формы - nameinlist и linkform в вашей форме должны быть уникальные.
BlazeBio
Местный житель
Сообщения: 386 Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:
Сообщение
BlazeBio » 07 июн 2010, 12:56
Ясно. Создал ресурсник с новыми отчётами. Как его подключить туда, где старые стандартные отчёты по ордерам? (Если что-то нужно почитать в Vipprogr или ещё где-то, то скажите, почитаю).
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 07 июн 2010, 13:19
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
Контактная информация:
Сообщение
BlazeBio » 07 июн 2010, 14:22
Банально скомпилил ресурс, а отчёт автоматом добавился в списки стандартных отчётов по ордерам