Re: Скрипт по вычислению. HELP!!!

derek wrote:

Хотя использование одной таблицы для хранения движения запасов (как входной, так и выходной) является более простым вариантом, если вам нужно использовать две таблицы, попробуйте сделать это следующим образом (см. Приложение).


Спасибо большое за проект который выложили в качестве примера.
В Вашем проекте процедура иная чем то что я хочу реализовать.
Нужно сначала добавить "товар" в "STOCK SUMMARY" и после этого чтоб указать количество прихода/ухода, нужно листать список. У меня список товара будет большой. Открывать каждый раз разные формы, немного не удобно.
Я хочу реализовать по другому. Когда делается "приход", вся информация указывается в одной форме и сохраняется в одной таблице. Название товара в таблице может повторяться.
Если делать "расход" то выбрать товар можно из таблицы "приходов" или "номенклатуры".
В таблице "номенклатура" хочу чтоб показывала остаток, но чтоб позиции не повторялись как в таблице "приходов"
smile)))))
Как то так smile)))

Re: Скрипт по вычислению. HELP!!!

andrew wrote:
derek wrote:

Хотя использование одной таблицы для хранения движения запасов (как входной, так и выходной) является более простым вариантом, если вам нужно использовать две таблицы, попробуйте сделать это следующим образом (см. Приложение).


Спасибо большое за проект который выложили в качестве примера.
В Вашем проекте процедура иная чем то что я хочу реализовать.
Нужно сначала добавить "товар" в "STOCK SUMMARY" и после этого чтоб указать количество прихода/ухода, нужно листать список. У меня список товара будет большой. Открывать каждый раз разные формы, немного не удобно.
Я хочу реализовать по другому. Когда делается "приход", вся информация указывается в одной форме и сохраняется в одной таблице. Название товара в таблице может повторяться.
Если делать "расход" то выбрать товар можно из таблицы "приходов" или "номенклатуры".
В таблице "номенклатура" хочу чтоб показывала остаток, но чтоб позиции не повторялись как в таблице "приходов"
smile)))))
Как то так smile)))

что бы не писать сто раз один и тот же товар используйте combobox, установите его  свойство searchable в True
и вам еще это может пригодиться http://myvisualdatabase.com/forum/viewtopic.php?id=5188

Re: Скрипт по вычислению. HELP!!!

pavlenko.vladimir.v wrote:
andrew wrote:
derek wrote:

Хотя использование одной таблицы для хранения движения запасов (как входной, так и выходной) является более простым вариантом, если вам нужно использовать две таблицы, попробуйте сделать это следующим образом (см. Приложение).


Спасибо большое за проект который выложили в качестве примера.
В Вашем проекте процедура иная чем то что я хочу реализовать.
Нужно сначала добавить "товар" в "STOCK SUMMARY" и после этого чтоб указать количество прихода/ухода, нужно листать список. У меня список товара будет большой. Открывать каждый раз разные формы, немного не удобно.
Я хочу реализовать по другому. Когда делается "приход", вся информация указывается в одной форме и сохраняется в одной таблице. Название товара в таблице может повторяться.
Если делать "расход" то выбрать товар можно из таблицы "приходов" или "номенклатуры".
В таблице "номенклатура" хочу чтоб показывала остаток, но чтоб позиции не повторялись как в таблице "приходов"
smile)))))
Как то так smile)))

что бы не писать сто раз один и тот же товар используйте combobox, установите его  свойство searchable в True
и вам еще это может пригодиться http://myvisualdatabase.com/forum/viewtopic.php?id=5188

Спасибо большое за совет

Re: Скрипт по вычислению. HELP!!!

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

Re: Скрипт по вычислению. HELP!!!

Я начал переделывать свой проект, учитывая проект который был дан в качестве примера.
Вроде все поменял, лишнее убрал. Ошибка есть
Помогите исправить пожалуйста.
Даю ссылку на проект
cloud.mail.ru/public/iXrx/BrEevRikW

Re: Скрипт по вычислению. HELP!!!

В вашем вычисляемом поле есть ошибка; должен быть:

(select total(qtyin) from stockIN where stockIN.id_stock = stock.id) - (select total(qtyout) from stockout where stockout.id_stock = stock.id) 

Derek

Re: Скрипт по вычислению. HELP!!!

derek wrote:

В вашем вычисляемом поле есть ошибка; должен быть:

(select total(qtyin) from stockIN where stockIN.id_stock = stock.id) - (select total(qtyout) from stockout where stockout.id_stock = stock.id) 

Derek

Ошибка исчезла...
Но арифметические действия не происходят.
Делаю приход/расход.. - не считается

Re: Скрипт по вычислению. HELP!!!

Данные в ваших таблицах не соответствуют вашей схеме базы данных.
1. таблица «stock» содержит повторяющиеся данные и не показывает товары, указанные в «наличии на складе» (скрин 1 в приложении).
2. отношение таблицы "stock in" к таблице "stock" содержит только значение "2", поэтому не имеет смысла (скрин2 во вложении).
3. связь таблицы "stock out" с таблицей "stock" пуста (скрин3 во вложении).
4. бывают ошибки ввода данных - это как раз то, что предотвращает реляционная БД (скрин4 во вложении).
Таким образом, хотя вычисляемое поле синтаксически корректно, оно никогда не даст вам правильного результата.
Пока ваши данные и ваша структура данных не будут согласованы, вы не получите желаемых результатов.
Со всем уважением, вы не можете подходить к своему проекту, как если бы это была электронная таблица.

Post's attachments

Attachment icon andrew.zip 429.93 kb, 82 downloads since 2023-08-03 

Re: Скрипт по вычислению. HELP!!!

derek wrote:

Данные в ваших таблицах не соответствуют вашей схеме базы данных.
1. таблица «stock» содержит повторяющиеся данные и не показывает товары, указанные в «наличии на складе» (скрин 1 в приложении).
2. отношение таблицы "stock in" к таблице "stock" содержит только значение "2", поэтому не имеет смысла (скрин2 во вложении).
3. связь таблицы "stock out" с таблицей "stock" пуста (скрин3 во вложении).
4. бывают ошибки ввода данных - это как раз то, что предотвращает реляционная БД (скрин4 во вложении).
Таким образом, хотя вычисляемое поле синтаксически корректно, оно никогда не даст вам правильного результата.
Пока ваши данные и ваша структура данных не будут согласованы, вы не получите желаемых результатов.
Со всем уважением, вы не можете подходить к своему проекту, как если бы это была электронная таблица.



Я не знаток в таких тонкостях. Я новичок. Можете мне помочь, исправить ошибки, чтоб заработало? wink smile

Re: Скрипт по вычислению. HELP!!!

andrew wrote:

Я не знаток в таких тонкостях. Я новичок. Можете мне помочь, исправить ошибки, чтоб заработало? wink smile

Новички внимают советам, читают книжки и статьи с примерами, вникают в проблему, находят решения. А концепция "исправьте мне мои ошибки, чтобы заработало" подробно рассматривается в этой ветке форума: http://myvisualdatabase.com/forum/viewtopic.php?id=6262

Визуальное программирование: блог и телеграм-канал.

Re: Скрипт по вычислению. HELP!!!

Привет Andrew

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

Однако я взял ваши данные и...

1. создал список уникальных названий продуктов из ваших данных, из которых можно построить таблицу «продукты».
2. Объедините ваши списки «stockin» и «stockout» для создания таблицы «транзакций».
3. Полученные внешние ключи (id_product) путем сопоставления описаний продуктов и добавления этих внешних ключей в таблицу «транзакции».

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

Как уже упоминалось, это не очень помогает, если кто-то просто делает работу за вас, но просит кого-то показать вам, как это сделать (если возможно, с примерами, которые вы можете использовать в качестве учебника).

И там, где это возможно, использование ваших собственных «реальных» данных часто облегчает связь.

Но, как упоминалось ранее, необходимо базовое понимание реляционных баз данных (и это верно независимо от того, используете ли вы MyVisualDatabase или любой другой продукт).

Удачи.

Derek.
.
It's not possible to use your original project with corrections as there are quite a few problems with it.

However, I've taken your data and -

1.  created a list of unique product names from your data from which to build a "products" table.
2.  combined your "stock in" and "stock out" lists to create a "transactions" table.
3.  obtained foreign keys (id_product) by matching on product descriptions and adding these foreign keys to the "transactions" table.

The attached example is not a finished programme - it is only to get you started and to suggest ways to develop your own application. 

As others have mentioned, it doesn't really help if someone simply does the job for you, but asking someone to show you how to do it (if possible with examples that you can use as a tutorial) does. 

And where possible, using your own "real" data often makes it easier to relate to.

But as mentioned previously, a basic understanding of relational databases is a pre-requisite (and this is true whether you are using MyVisualDatabase or any other product).

Post's attachments

Attachment icon stocks2.zip 475.93 kb, 70 downloads since 2023-08-05 

Re: Скрипт по вычислению. HELP!!!

derek wrote:

Привет Andrew

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

Однако я взял ваши данные и...

1. создал список уникальных названий продуктов из ваших данных, из которых можно построить таблицу «продукты».
2. Объедините ваши списки «stockin» и «stockout» для создания таблицы «транзакций».
3. Полученные внешние ключи (id_product) путем сопоставления описаний продуктов и добавления этих внешних ключей в таблицу «транзакции».

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

Как уже упоминалось, это не очень помогает, если кто-то просто делает работу за вас, но просит кого-то показать вам, как это сделать (если возможно, с примерами, которые вы можете использовать в качестве учебника).

И там, где это возможно, использование ваших собственных «реальных» данных часто облегчает связь.

Но, как упоминалось ранее, необходимо базовое понимание реляционных баз данных (и это верно независимо от того, используете ли вы MyVisualDatabase или любой другой продукт).

Удачи.

Derek.
.
It's not possible to use your original project with corrections as there are quite a few problems with it.

However, I've taken your data and -

1.  created a list of unique product names from your data from which to build a "products" table.
2.  combined your "stock in" and "stock out" lists to create a "transactions" table.
3.  obtained foreign keys (id_product) by matching on product descriptions and adding these foreign keys to the "transactions" table.

The attached example is not a finished programme - it is only to get you started and to suggest ways to develop your own application. 

As others have mentioned, it doesn't really help if someone simply does the job for you, but asking someone to show you how to do it (if possible with examples that you can use as a tutorial) does. 

And where possible, using your own "real" data often makes it easier to relate to.

But as mentioned previously, a basic understanding of relational databases is a pre-requisite (and this is true whether you are using MyVisualDatabase or any other product).

Спасибо большое за помощь.
У меня к Вам вопрос. В Вашем проекте мне не получается создать ПОИСК.
Выбираю все необходимые компоненты, таблицу для поиска и так далее... в конце когда нажимаю ОК, то появляется сообщение "НЕ ВЫБРАН НИ ОДИН КОМПОНЕНТ УЧАСТВУЮЩИЙ В ПОИСКЕ"
Так же, выбранный компонент исчезает из списка компонентов.
Можете мне помочь?
спасибо

Post's attachments

Attachment icon 02.jpg 71.71 kb, 23 downloads since 2023-08-14 

Re: Скрипт по вычислению. HELP!!!

Вам необходимо прикрепить свой проект (удалите файл .exe, а затем "zip" папку проекта).
Также объясните конкретно, какое поле вы используете в своем поиске.
Derek.

Re: Скрипт по вычислению. HELP!!!

derek wrote:

Вам необходимо прикрепить свой проект (удалите файл .exe, а затем "zip" папку проекта).
Также объясните конкретно, какое поле вы используете в своем поиске.
Derek.


Это в Вашем проекте которым вы поделились.
Можете попробовать добавить кнопку и использовать ее для поиска для любого grida

Re: Скрипт по вычислению. HELP!!!

Если вы используете мое предыдущее вложение, то добавление нового поля поиска к существующей кнопке «поиск» или добавление нового поля поиска к новой кнопке «поиск» ничего не докажет — мы уже знаем, что оба варианта будут работать!
Как я уже писал ранее, если мы не увидим, что вы сделали, чтобы вызвать ошибку, невозможно догадаться о проблеме.

Re: Скрипт по вычислению. HELP!!!

derek wrote:

Если вы используете мое предыдущее вложение, то добавление нового поля поиска к существующей кнопке «поиск» или добавление нового поля поиска к новой кнопке «поиск» ничего не докажет — мы уже знаем, что оба варианта будут работать!
Как я уже писал ранее, если мы не увидим, что вы сделали, чтобы вызвать ошибку, невозможно догадаться о проблеме.

Я прикрепил Ваш проект. Проверьте пожалуйста!!

Post's attachments

Attachment icon Stocks_ 2.rar 296.32 kb, 61 downloads since 2023-08-15 

Re: Скрипт по вычислению. HELP!!!

Добавление новых кнопок «поиск» работает как надо. Если у вас это не работает, значит, вы делаете что-то неожиданное.
Как уже было запрошено, вам необходимо предоставить информацию о том, что вы на самом деле делаете, чтобы воспроизвести ошибку.
1. Какие компоненты поиска вы хотите использовать и для каких полей базы данных определены эти компоненты поиска?
2. Из какой таблицы вы хотите получить данные?
3. Какие поля вы хотите в своем выводе?
4. На какую сетку таблиц вы хотите отправить результаты?
Без этой информации можно предлагать только догадки, а не решение

Post's attachments

Attachment icon andrew problem.jpg 68.04 kb, 19 downloads since 2023-08-15 

43 (edited by andrew 2023-08-15 11:35:05)

Re: Скрипт по вычислению. HELP!!!

derek wrote:

Добавление новых кнопок «поиск» работает как надо. Если у вас это не работает, значит, вы делаете что-то неожиданное.
Как уже было запрошено, вам необходимо предоставить информацию о том, что вы на самом деле делаете, чтобы воспроизвести ошибку.
1. Какие компоненты поиска вы хотите использовать и для каких полей базы данных определены эти компоненты поиска?
2. Из какой таблицы вы хотите получить данные?
3. Какие поля вы хотите в своем выводе?
4. На какую сетку таблиц вы хотите отправить результаты?
Без этой информации можно предлагать только догадки, а не решение


Я прикрепил скриншон. Там показано, что все выбрано.
После того как я нажимаю на ОК, то выбранный компонент исчезает и появляется ошибка

Post's attachments

Attachment icon Screenshot 2023-08-15 142915.jpg 71.14 kb, 20 downloads since 2023-08-15 

Re: Скрипт по вычислению. HELP!!!

andrew wrote:
derek wrote:

Добавление новых кнопок «поиск» работает как надо. Если у вас это не работает, значит, вы делаете что-то неожиданное.
Как уже было запрошено, вам необходимо предоставить информацию о том, что вы на самом деле делаете, чтобы воспроизвести ошибку.
1. Какие компоненты поиска вы хотите использовать и для каких полей базы данных определены эти компоненты поиска?
2. Из какой таблицы вы хотите получить данные?
3. Какие поля вы хотите в своем выводе?
4. На какую сетку таблиц вы хотите отправить результаты?
Без этой информации можно предлагать только догадки, а не решение


Я прикрепил скриншон. Там показано, что все выбрано.
После того как я нажимаю на ОК, то выбранный компонент исчезает и появляется ошибка



Вот второй скриншот.

Post's attachments

Attachment icon Screenshot 2023-08-15 143245.jpg 80.79 kb, 22 downloads since 2023-08-15 

Re: Скрипт по вычислению. HELP!!!

derek wrote:

Добавление новых кнопок «поиск» работает как надо. Если у вас это не работает, значит, вы делаете что-то неожиданное.
Как уже было запрошено, вам необходимо предоставить информацию о том, что вы на самом деле делаете, чтобы воспроизвести ошибку.
1. Какие компоненты поиска вы хотите использовать и для каких полей базы данных определены эти компоненты поиска?
2. Из какой таблицы вы хотите получить данные?
3. Какие поля вы хотите в своем выводе?
4. На какую сетку таблиц вы хотите отправить результаты?
Без этой информации можно предлагать только догадки, а не решение

Так же можете просмотреть видео
Ссылка ниже
cloud.mail.ru/public/GUJu/NCcU3qo6h

Re: Скрипт по вычислению. HELP!!!

Теперь проблема ясна.
В «MyVisualDatabase» «критерии поиска» не могут совпадать с «табличной сеткой», которая будет отображать выходные данные. Если бы вы могли это сделать, это вызвало бы две проблемы;
1. Вы не можете выбрать запись для редактирования, не выбрав ее в качестве «критерия поиска».
2. Если «табличная сетка», которая отображает вывод, совпадает с «критериями поиска», то вы ограничены выбранной строкой в «табличной сетке». Как тогда снова увидеть все строки в «табличной сетке»?
Взгляните на пример «Andrew1» во вложении, который демонстрирует обе эти проблемы.
Вы можете решить вторую проблему, используя сценарий для копирования идентификатора строки в tablegrid в «поле редактирования», а затем использовать это «поле редактирования» в качестве «критерия поиска». Вам также необходимо предоставить опцию (обычно кнопку), чтобы переустановить «табличную сетку» для отображения всех записей (см. пример «Andrew2» во вложении).
Как правило, вместо использования «табличной сетки» в качестве «критерия поиска» вы должны использовать либо «поле со списком», либо «поле редактирования».
Использование «табличной сетки» в качестве «критерия поиска», который выводит данные в другую «табличную етку», не вызывает никаких проблем.
Derek.

Post's attachments

Attachment icon andrew.zip 673.79 kb, 63 downloads since 2023-08-15 

Re: Скрипт по вычислению. HELP!!!

derek wrote:

Теперь проблема ясна.
В «MyVisualDatabase» «критерии поиска» не могут совпадать с «табличной сеткой», которая будет отображать выходные данные. Если бы вы могли это сделать, это вызвало бы две проблемы;
1. Вы не можете выбрать запись для редактирования, не выбрав ее в качестве «критерия поиска».
2. Если «табличная сетка», которая отображает вывод, совпадает с «критериями поиска», то вы ограничены выбранной строкой в «табличной сетке». Как тогда снова увидеть все строки в «табличной сетке»?
Взгляните на пример «Andrew1» во вложении, который демонстрирует обе эти проблемы.
Вы можете решить вторую проблему, используя сценарий для копирования идентификатора строки в tablegrid в «поле редактирования», а затем использовать это «поле редактирования» в качестве «критерия поиска». Вам также необходимо предоставить опцию (обычно кнопку), чтобы переустановить «табличную сетку» для отображения всех записей (см. пример «Andrew2» во вложении).
Как правило, вместо использования «табличной сетки» в качестве «критерия поиска» вы должны использовать либо «поле со списком», либо «поле редактирования».
Использование «табличной сетки» в качестве «критерия поиска», который выводит данные в другую «табличную етку», не вызывает никаких проблем.
Derek.


Спасибо большое за помощь.
Я нашел в чем была ошибка. wink smile