Formulas Использование формул
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Formulas Использование формул
Доброго времени всем участникам форума forum.clarionlife.net
При разработке приложений Clarion APP32 есть возможность использовать встроенный редактор формул (закладка Formulas). В связи с этим возникает вопрос, возможно ли и если возможно, конкретно каким образом манипулировать данными при создании формул не только относящейся к текущей записи (строке) с чем не возникает проблем, а создать формулу для манипулирования результатом текущей записи (строки) во взаимодействии в частности с предыдущей и последующей записью (в идеале указываешь значение необходимого поля для вычисления результата):
Условный пример:
DAT:Number DAT:Date DAT:Arrival DAT:Expence DAT:Remainder
Номер Дата Приход Расход Остаток
1 01.01.2012 10 5 5
2 02.01.2012 20 10 15
Result: DAT:Remainder
Statement: DAT:Arrival - DAT:Expence
Данное выражение действует только для данных текщей строки, а необходима формула приводящая к вычислению согласно условного примера.
Выскажите свои мнения или предложите конкретные примеры по данному вопросу.
С Уважением, Developer, cfwdeveloper@gmail.com
При разработке приложений Clarion APP32 есть возможность использовать встроенный редактор формул (закладка Formulas). В связи с этим возникает вопрос, возможно ли и если возможно, конкретно каким образом манипулировать данными при создании формул не только относящейся к текущей записи (строке) с чем не возникает проблем, а создать формулу для манипулирования результатом текущей записи (строки) во взаимодействии в частности с предыдущей и последующей записью (в идеале указываешь значение необходимого поля для вычисления результата):
Условный пример:
DAT:Number DAT:Date DAT:Arrival DAT:Expence DAT:Remainder
Номер Дата Приход Расход Остаток
1 01.01.2012 10 5 5
2 02.01.2012 20 10 15
Result: DAT:Remainder
Statement: DAT:Arrival - DAT:Expence
Данное выражение действует только для данных текщей строки, а необходима формула приводящая к вычислению согласно условного примера.
Выскажите свои мнения или предложите конкретные примеры по данному вопросу.
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Formulas Использование формул
Можно манипулировать, если результат запоминать в локальную переменную. Только вопрос такой - а зачем? Какая задача стоит?
We are hard at work… for you.
Re: Formulas Использование формул
Задача состоит в расчёте конечного сальдо (остатка) по банковской выписке расчётного счёта на основании прихода и расхода за определённый период и её отображения в Browse окне (и аналогичную бухгалтерскую работу).
Использование локальной переменной пробывал, но тогда необходимо её полное отслеживание(обнуление) при повторном вызове Browse - окна или смене Tab-а и т. д.
В связи с этим очень интересует вопрос как задать правильно формулу в которой будет возможность манипулировать данными во взаимодействии с предыдущими и последующими записями на основании заданного диапазона дат или диапазона порядкового номера.
По возможности, подробный пример.
А по большому счёту прошу подсказать, есть ли шаблоны решающие задачи бухгалтерского учёта, аналогично функционалу 1С:Предприятие - Бухгалтерский учёт.
С Уважением, Developer, cfwdeveloper@gmail.com
Использование локальной переменной пробывал, но тогда необходимо её полное отслеживание(обнуление) при повторном вызове Browse - окна или смене Tab-а и т. д.
В связи с этим очень интересует вопрос как задать правильно формулу в которой будет возможность манипулировать данными во взаимодействии с предыдущими и последующими записями на основании заданного диапазона дат или диапазона порядкового номера.
По возможности, подробный пример.
А по большому счёту прошу подсказать, есть ли шаблоны решающие задачи бухгалтерского учёта, аналогично функционалу 1С:Предприятие - Бухгалтерский учёт.
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Formulas Использование формул
Ну это просто. Остатком обзываешь локальную переменную, например LOC:Remainder. Не надо в таблице хранить лишние данные. Загоняешь эту локальную переменную в Browse. Находишь Embed для этого Browse с названием SetQueueRecord. И там пишешь формулу: LOC:Remainder = LOC:Remainder+DAT:Arrival-DAT:Expence. И в каждой строчке Browse будет своё значение остатка.
We are hard at work… for you.
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: Formulas Использование формул
Добрый день!
Очень много полезного есть в примерах:
например: Clarion6\Examples\HowTo-ABC\Browses
очень много таких простых "бантиков"
для броузеров АВС и т.д.
Алексей
Очень много полезного есть в примерах:
например: Clarion6\Examples\HowTo-ABC\Browses
очень много таких простых "бантиков"
для броузеров АВС и т.д.
Алексей
Re: Formulas Использование формул
Всем привет!
Kreator спасибо! Решение работает, по такому-же принципу работает и в формулах. Однако это требует отслеживания локальной переменной и если использовать стандартный Wizard (Browse + Update) то происходит не корректный расчёт при переходе между Tab-ми или Update-ми. Необходимо обнулять локальную переменную.
Спасибо Алексею - Софт-Центр за подсказку! Буду изучать.
Может кто откликнется и предложит готовые типовые шаблоны на данную тему, а также шаблоны аналоги стандартному функционалу 1С:Предприятие - Бухгалтерский учёт.
С Уважением, Developer, cfwdeveloper@gmail.com
Kreator спасибо! Решение работает, по такому-же принципу работает и в формулах. Однако это требует отслеживания локальной переменной и если использовать стандартный Wizard (Browse + Update) то происходит не корректный расчёт при переходе между Tab-ми или Update-ми. Необходимо обнулять локальную переменную.
Спасибо Алексею - Софт-Центр за подсказку! Буду изучать.
Может кто откликнется и предложит готовые типовые шаблоны на данную тему, а также шаблоны аналоги стандартному функционалу 1С:Предприятие - Бухгалтерский учёт.
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Formulas Использование формул
Я бы что ещё сделал бы. Загнал бы обнуление локальной переменной в Embed "ResetQueue" (Т.е. как только очередь заново формируется, надо обнулять). Потом сделал бы Loading Mode для Browse как File. А вот проблема другой сортировки так просто не решается. Если это очень нужно, то в ту же точку вставки надо писать блок со всеми set, next и т.д. (либо если SQL, то запрос аля Select)
We are hard at work… for you.
Re: Formulas Использование формул
Привет всем!
Kreator спасибо! Твои идеи работают! В дальнейшем, поняв принцип возможно получить требуемый результат.
Однако, так я и не получил ответа есть ли шаблоны аналоги стандартному функционалу 1С:Предприятие - Бухгалтерский учёт?
Хотелось бы для решения данного вопроса использовать преимущество Clarion-а посредством шаблонов.
К теме Formulas (Формулы) - Как настроить IDE Clarion 8.0.8973 для автоматической генерации (перегенерации) файлов исходных модулей при добавлении или изменении формулы в решении (удаляеш вручную *.clw прекрасно генерит новые, если есть старые *.clw генерации из APP нет).
P. S. Стоит ли вынести данный вопрос отдельной темой?
С Уважением, Developer, cfwdeveloper@gmail.com
Kreator спасибо! Твои идеи работают! В дальнейшем, поняв принцип возможно получить требуемый результат.
Однако, так я и не получил ответа есть ли шаблоны аналоги стандартному функционалу 1С:Предприятие - Бухгалтерский учёт?
Хотелось бы для решения данного вопроса использовать преимущество Clarion-а посредством шаблонов.
К теме Formulas (Формулы) - Как настроить IDE Clarion 8.0.8973 для автоматической генерации (перегенерации) файлов исходных модулей при добавлении или изменении формулы в решении (удаляеш вручную *.clw прекрасно генерит новые, если есть старые *.clw генерации из APP нет).
P. S. Стоит ли вынести данный вопрос отдельной темой?
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Re: Formulas Использование формул
видимо нет аналогов...Developer писал(а):Однако, так я и не получил ответа есть ли шаблоны аналоги стандартному функционалу 1С:Предприятие - Бухгалтерский учёт?
Хотелось бы для решения данного вопроса использовать преимущество Clarion-а посредством шаблонов.
Есть такая штука http://forum.clarionlife.net/phpbb/view ... 1&start=15, но платная, у меня пока нет, но в письме с реквизитами на оплату от автора получил пример, проверил под 8.2 УТ10.3 - все ОК.
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Formulas Использование формул
Если это так, то это проблема. Любое изменение в App влечет за собой новую генерацию .clw. Странно, что никто это не замечал. Надо проверить на досуге.К теме Formulas (Формулы) - Как настроить IDE Clarion 8.0.8973 для автоматической генерации (перегенерации) файлов исходных модулей при добавлении или изменении формулы в решении (удаляеш вручную *.clw прекрасно генерит новые, если есть старые *.clw генерации из APP нет).
P. S. Стоит ли вынести данный вопрос отдельной темой?
А по поводу стандартного функционала 1С:предприятие - многим здесь, в частности мне, не понятно, что это. Объяснил бы, что надо. У каждого написан свой функционал, может даже лучше 1С .
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Formulas Использование формул
Перегенерация работает! Проверил. Без проблем. Может на зеленый кружок не нажимаешь после изменения формулы?
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Re: Formulas Использование формул
попишет постоянно на кларионе полгодика хотя бы - глядишь, все и наладитсяkreator писал(а):Объяснил бы, что надо. У каждого написан свой функционал, может даже лучше
Re: Formulas Использование формул
Kreator спасибо за ответы! Однако перегенерация у меня не работает.
Зелёную кнопочку я нажимаю (в смысле сохранить изменения)
Возможно это связано с Windows 7 SP1 или DotNET 4.0
Также иногда среда (IDE) C8 8.0.8973 подвисает или вылетает с ошибкой даже после нормального завершения при закрытом решении.
Думаю надо будет установить Clarion 8.0 на чистые Windows 7 SP1 и Windows XP SP3 для выяснения причины ошибок.
Ал Спасибо за ссылку, попробую связаться с автором, где-то я уже читал об этом, что автор перевёл функционал 1С на Clarion и советовался на каком-то (не помню) форуме о авторском праве на своё решение.
Всем спасибо за советы и решения. Жду очередных откликов.
С Уважением, Developer, cfwdeveloper@gmail.com
Зелёную кнопочку я нажимаю (в смысле сохранить изменения)
Возможно это связано с Windows 7 SP1 или DotNET 4.0
Также иногда среда (IDE) C8 8.0.8973 подвисает или вылетает с ошибкой даже после нормального завершения при закрытом решении.
Думаю надо будет установить Clarion 8.0 на чистые Windows 7 SP1 и Windows XP SP3 для выяснения причины ошибок.
Ал Спасибо за ссылку, попробую связаться с автором, где-то я уже читал об этом, что автор перевёл функционал 1С на Clarion и советовался на каком-то (не помню) форуме о авторском праве на своё решение.
Всем спасибо за советы и решения. Жду очередных откликов.
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Re: Formulas Использование формул
может так http://forum.clarionlife.net/phpbb/view ... f=1&t=2805 ?Developer писал(а):Однако перегенерация у меня не работает
а при работе с формулами может пригодиться EVALUATE(expression)
SDE:Summa = SDE:Quantity*evaluate(SWR:Formula)....
Re: Formulas Использование формул
Проблема с перегенерацией при изменении формулы существует!
Как решение её - Tools - Application Options - Generation снять флаг Condition Generation - тогда перегенерация будет всегда.
А вот при установленном флаге (галочке) при изменении формулы, к примеру
DAT:Remainder+DAT:Arrival-DAT:Expence + 5000 а затем
DAT:Remainder+DAT:Arrival-DAT:Expence - 1000 перегенерация не происходит.
Проверено несколько раз на чистой Windows 7 SP1 Русский Clarion 8.0.8973.
Что это баг или так должно быть?
Прошу высказать своё мнение участников форума!
Ал благодарю за дельные советы!
С Уважением, Developer, cfwdeveloper@gmail.com
Как решение её - Tools - Application Options - Generation снять флаг Condition Generation - тогда перегенерация будет всегда.
А вот при установленном флаге (галочке) при изменении формулы, к примеру
DAT:Remainder+DAT:Arrival-DAT:Expence + 5000 а затем
DAT:Remainder+DAT:Arrival-DAT:Expence - 1000 перегенерация не происходит.
Проверено несколько раз на чистой Windows 7 SP1 Русский Clarion 8.0.8973.
Что это баг или так должно быть?
Прошу высказать своё мнение участников форума!
Ал благодарю за дельные советы!
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer