powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / данные для отчета
20 сообщений из 20, страница 1 из 1
данные для отчета
    #39940155
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

на форуме неоднократно звучало, что переменные public зло.
При создании отчета, например, типа "накладная" или "счет", использую много данных, которые загоняю в такие переменные.

Подскажите, а какова должна быть правильная логика подготовки данных для отчетов, что бы не использовать такие переменные? Как report может увидеть их? То есть, у меня не конкретная проблема и вопрос с тем-то и тем-то, а, скорее, теоретический такой вопрос.
...
Рейтинг: 0 / 0
данные для отчета
    #39940158
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn, а что в счете или накладной есть такого, чего нету в таблицах?
...
Рейтинг: 0 / 0
данные для отчета
    #39940165
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn
Добрый день,

на форуме неоднократно звучало, что переменные public зло.
При создании отчета, например, типа "накладная" или "счет", использую много данных, которые загоняю в такие переменные.

Подскажите, а какова должна быть правильная логика подготовки данных для отчетов, что бы не использовать такие переменные? Как report может увидеть их?
1. Отчет видит не только глобальные переменные. Вы в курсе, что еще есть приватные?
2. Ну и замечание Redrik то же в кассу.
...
Рейтинг: 0 / 0
данные для отчета
    #39940172
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Redrik, Sergey Sizov

например, в "накладную" может вносится номер автомобиля, фио водителя, и т.п., непосредственно в момент отгрузки. Делаю так - просто перед печатью документа это вносится пользователем в текстбоксы, потом это глобальные переменные и в отчет.

в форму типа "счет" - я собираю из таблиц в одну переменную, например, данные заказчика. Там и наименование и адрес (индекс, город, улица), ИНН и т.п. Само окно построителя выражения (Expression в Field Properties) в report позволяет 256 символов, установлено эмпирически, сталкивался с тем, что если все поля перебирать:

alltrim(field1) + ', ' + .... и т.д.

то можно не вписаться в 256 символов.

Поскольку опыта и базового образования нет, вот и спрашиваю, какой подход правильный
...
Рейтинг: 0 / 0
данные для отчета
    #39940193
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn,

"номер автомобиля, фио водителя, и т.п." - это "одноразово" и не хранится в таблицах?

"например, данные заказчика" - а это зачем в одну переменную? Почему бы не отдельными полями в отчете? Да и красивше выйдет! :)
...
Рейтинг: 0 / 0
данные для отчета
    #39940205
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn
например, в "накладную" может вносится номер автомобиля, фио водителя, и т.п., непосредственно в момент отгрузки. Делаю так - просто перед печатью документа это вносится пользователем в текстбоксы, потом это глобальные переменные и в отчет.
1. Еще раз - кроме глобальных есть еще и приватные переменные.
2. Что мешает все это вносить в курсор, созданный именно для таких данных?
в форму типа "счет" - я собираю из таблиц в одну переменную, например, данные заказчика. Там и наименование и адрес (индекс, город, улица), ИНН и т.п.О, сударь знает толк в извращениях... Но ЗАДЛЯНАФИГА? Не пробовали смотреть доку по генератору отчетов и приосто примеры в интернете? Само окно построителя выражения (Expression в Field Properties) в report позволяет 256 символовРазумеется, как и любое свойство в фоксе, установлено эмпирически,Доку читать не пробовали? сталкивался с тем, что если все поля перебирать:

alltrim(field1) + ', ' + .... и т.д.

то можно не вписаться в 256 символов.Ну разрабы явно не ожидали ТАКИХ извращений.
Поскольку опыта и базового образования нет, вот и спрашиваю, какой подход правильныйУже написано, и не единожды.
...
Рейтинг: 0 / 0
данные для отчета
    #39940206
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Redrik
DmitryKn,

"номер автомобиля, фио водителя, и т.п." - это "одноразово" и не хранится в таблицах?


до сих пор было так, теперь, наверное , изменится

Redrik

"например, данные заказчика" - а это зачем в одну переменную? Почему бы не отдельными полями в отчете? Да и красивше выйдет! :)


Отдельными полями подгонять сложнее, очень разной длины бывают, а форма документа, я отчет имею ввиду, такова, что нужно все в одну строку, форма установленного образца.
Но и это можно загнать в какой-нибудь курсор, я так думаю.

Просто мне в наследство, в качестве образца, такое решение досталось, с глобальными переменными, теперь вот думаю над возможным усовершенствованием.
...
Рейтинг: 0 / 0
данные для отчета
    #39940213
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn
Отдельными полями подгонять сложнее, очень разной длины бывают, а форма документа, я отчет имею ввиду, такова, что нужно все в одну строку, форма установленного образца.
Но и это можно загнать в какой-нибудь курсор, я так думаю.
Как минимум, в мемо поле можно хоть слона запихать. :)
...
Рейтинг: 0 / 0
данные для отчета
    #39940218
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov,

вот еще вопрос по приватным переменным.
подготовка данных идет в форме, где есть кнопка печать, DataSession default, там просто объявить переменные privat и они будут видны в вызываемом репорте? или их как-то передавать надо? Просто если видны, чем они от паблика отличаются тогда?

Предвосхищая вопрос - отвечаю: книгу читал, хелп местами курил, не все , видимо, вкурилось, и приват и паблик не очень разницу понимаю.

Может как-то в двух словах поясните, в чем разница , и как их в репорт запихнуть. Потому как легчайший путь в моей ситуации - это переменные в приват переопределить, если в этом есть какой-то смысл.
...
Рейтинг: 0 / 0
данные для отчета
    #39940231
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn
Sergey Sizov,

вот еще вопрос по приватным переменным.
подготовка данных идет в форме, где есть кнопка печать, DataSession default, там просто объявить переменные privat и они будут видны в вызываемом репорте?
А почему бы и нет? или их как-то передавать надо?С какого перепугу? Просто если видны, чем они от паблика отличаются тогда?Областью видимости.Предвосхищая вопрос - отвечаю: книгу читал, хелп местами курил, не все , видимо, вкурилось, и приват и паблик не очень разницу понимаю.Паблик видны по ВСЕЙ программе с момента объявления, приват - только в модуле с объявлением и вызываемых из него.Может как-то в двух словах поясните, в чем разница , и как их в репорт запихнуть.См. выше. Потому как легчайший путь в моей ситуации - это переменные в приват переопределить, если в этом есть какой-то смысл.Именно так и надо сделать. Удивишься насколько меньше всяких переменных болтается в памяти во время работы программы.
...
Рейтинг: 0 / 0
данные для отчета
    #39940234
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov, Redrik

большое вам спасибо за ваши советы и наставления, пойду приберусь немного в своем "проекте" )
...
Рейтинг: 0 / 0
данные для отчета
    #39940478
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DmitryKn,

Наверное, должен дополнить, вдруг какому бедолаге пригодится, что в репорте видны даже переменные локал из вызывающей формы.

Понятия не имею, как так вышло, что я это сразу не проверил...
...
Рейтинг: 0 / 0
данные для отчета
    #39940711
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn


например, в "накладную" может вносится номер автомобиля, фио водителя, и т.п., непосредственно в момент отгрузки. Делаю так - просто перед печатью документа это вносится пользователем в текстбоксы, потом это глобальные переменные и в отчет.
...

Мне кажется, в данном случае подход не верный. И с приватными тоже.

Кто то набил некую "Накладную" и напечатал ее не сохранив.
И кто и где оптом будет искать электронную копию сего документа?

При печати, сначала надо сохранить документ.
А коли он сохранен, то можно знать его ID, и по нему получить вьюху, для отчета, из которой его и заполнить.

И я бы делал все, вместе с формой, в приватной датасессии.

Такой же подход для печати других доков. Заполняй отчеты из курсоров. Это основной путь.

Приватные переменные хороши, например делаешь какой то агрегированный отчет.
Осговгое опять заполняешь из курсора, а например даты "С"-"по" из формы через приватные.
...
Рейтинг: 0 / 0
данные для отчета
    #39940893
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что мешает создать курсор, запичать в него все для отчена?
...
Рейтинг: 0 / 0
данные для отчета
    #39941513
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor
DmitryKn


например, в "накладную" может вносится номер автомобиля, фио водителя, и т.п., непосредственно в момент отгрузки. Делаю так - просто перед печатью документа это вносится пользователем в текстбоксы, потом это глобальные переменные и в отчет.
...

Мне кажется, в данном случае подход не верный. И с приватными тоже.

Кто то набил некую "Накладную" и напечатал ее не сохранив.
И кто и где оптом будет искать электронную копию сего документа?

При печати, сначала надо сохранить документ.
А коли он сохранен, то можно знать его ID, и по нему получить вьюху, для отчета, из которой его и заполнить.

И я бы делал все, вместе с формой, в приватной датасессии.

Такой же подход для печати других доков. Заполняй отчеты из курсоров. Это основной путь.

Приватные переменные хороши, например делаешь какой то агрегированный отчет.
Осговгое опять заполняешь из курсора, а например даты "С"-"по" из формы через приватные.


Сам документ безусловно сохранен, и найти его не сложно. Просто есть данные, которые врядли имеет смысл хранить в цифре - номер машины, фио водителя, время отгрузки и т.п.
Но проблема решена, вернее, ее не было, была моя неопытность и невнимательность.
...
Рейтинг: 0 / 0
данные для отчета
    #39941514
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Penner
А что мешает создать курсор, запичать в него все для отчена?


Ничего, и это, наверное, самый гармоничный способ.
...
Рейтинг: 0 / 0
данные для отчета
    #39941552
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn


Сам документ безусловно сохранен, и найти его не сложно. Просто есть данные, которые врядли имеет смысл хранить в цифре - номер машины, фио водителя, время отгрузки и т.п.


Поверьте, имеет смысл хранить все, и даже еще чуть -чуть!!!
По крайней мере, то что вы перечислили, удивлен что не храните.
...
Рейтинг: 0 / 0
данные для отчета
    #39941923
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asdor
Поверьте, имеет смысл хранить все, и даже еще чуть -чуть!!!

+100500*10^6! ;)
...
Рейтинг: 0 / 0
данные для отчета
    #39941972
DmitryKn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor
DmitryKn


Сам документ безусловно сохранен, и найти его не сложно. Просто есть данные, которые врядли имеет смысл хранить в цифре - номер машины, фио водителя, время отгрузки и т.п.


Поверьте, имеет смысл хранить все, и даже еще чуть -чуть!!!
По крайней мере, то что вы перечислили, удивлен что не храните.


может вы и правы, просто не было случая, что бы такая информация пригодилась для внутреннего пользования, т.е. для себя. А для внешнего она имеет только доказательный смысл в виде подписанного оригинала на бумаге или надлежащей копии.

В любом случае, все равно пересматриваю, не сложно и это сохранить. Хотя раньше болел такой историей - пытался писать все действия пользователя в мемо, что-то вроде лог-файла, дату, время, изменения и т.п. для каждого документа.

Потом забыл про это. Потом очередной раз копался и обнаружил эти простыни. Зачем они мне, так и не решил )
...
Рейтинг: 0 / 0
данные для отчета
    #39942004
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmitryKn
Зачем они мне, так и не решил

Пусть это и редко бывает нужным, но таки архиполезная вещь! )
Да и для "внешнего" пользования облегчает - одно дело бумажки перерывать в поисках, другое дело - сначала найти в компе! Потом бумажка легче находится...
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / данные для отчета
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]