Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Как открыть разом все закрытые карточки партий?
Goto page 1, 2  Next
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
Pal



Joined: 07 Sep 2005
Posts: 10
Location: Pal
Occupation: Pal
Interests: Владивосток

PostPosted: 08 Sep 2005 12:45    Post subject: Как открыть разом все закрытые карточки партий? Reply with quote

Как открыть разом все закрытые карточки партий?
Back to top
View user's profile Send private message
shura_k



Joined: 10 Oct 2003
Posts: 342
Location: Александр
Occupation: Специалист
Interests: Калининград

PostPosted: 08 Sep 2005 16:30    Post subject: Reply with quote

Обнулить поле в базе данных.
Back to top
View user's profile Send private message
Олег Смирнов



Joined: 06 Sep 2004
Posts: 821
Location: Олег Смирнов
Occupation: Раут (поганист-сисадмин)
Interests: Новосибирск

PostPosted: 08 Sep 2005 17:40    Post subject: Reply with quote

shura_k wrote:
Обнулить поле в базе данных.

Этак то мы (advanced user's ) все умеем... А штатных средств нетути.
А вот кстати: не мог бы Отдел разработок сделать такую фишечку - иногда, после "Восстановления целостности данных" оказывается, что остатки по некоторым карточкам вовсе даже и не нулевые...
А нельзя ли добавить в архив закрытых карточек режим - "Открыть все карточки с ненулевыми остатками"?.. А то закрываются-то они на ура! - а открывать надобно каждую отдельно.
_________________
С уважением, Олег Р. Смирн
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 09 Sep 2005 10:35    Post subject: Reply with quote

Не вижу препятствий господа
Пишется скромненькая прога на HFileEval которая делает интересующий Вас анализ и меняет значение поля статус - тем самым открывая карточки.
Хотите - можем поэтапно совместно такое сделать в целях обучения ?
Back to top
View user's profile Send private message Send e-mail
Pal



Joined: 07 Sep 2005
Posts: 10
Location: Pal
Occupation: Pal
Interests: Владивосток

PostPosted: 10 Sep 2005 05:44    Post subject: Reply with quote

nordk wrote:
Хотите - можем поэтапно совместно такое сделать в целях обучения ?

Спасибо, именно для этого эта тема и затевалась.

Как всё это сделать через bro, я знаю, но для этого надо выгнать всех пользователей, удалить индексы, обнулить поле, переиндексировать. Всё это слишком долго. Хочется всё это делать через CTRL-F5.
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 12 Sep 2005 10:08    Post subject: Reply with quote

Хорошо
Давайте для начала определим цель решения.
Мы знаем что нам надо открыть карточки партий - представьвте что Вы этого добились - не возникнет ли желание сказать что допустим эти карточки слишком старые и их не надо было открывать или по таким-то карточкам закрыт номенклатурный номер и их само собой открывать не надо было....
Вот давайте обдумаем всесторонне и Вы мне напишите условия которые необходимо учитывать при открытии карточек. То есть напишите как Вы себе видите сам принцип работы не внутри программы а глазами пользователя - что она должна отслеживать и т.п.. Представьте на секунду что она есть Вы ей пользуетесь и что в Вашем представлении должно произойти в итоге работы программы
Back to top
View user's profile Send private message Send e-mail
shura_k



Joined: 10 Oct 2003
Posts: 342
Location: Александр
Occupation: Специалист
Interests: Калининград

PostPosted: 12 Sep 2005 10:47    Post subject: Reply with quote

Pal wrote:

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

Я не настаиваю на ручном варианте, просто, если воспользоваться другим инструментом, к примеру BDBFS, ничего кроме обнуления поля делать не надо!!!
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 12 Sep 2005 13:41    Post subject: Reply with quote

Все способы хороши для достижения цели, если результат в итоге положительный. Но в этом разделе мы учимся программировать в БЭСТ, пусть на примерах, которые можно не хуже решить "снаружи", но наш путь лежит от простого к сложном
Back to top
View user's profile Send private message Send e-mail
Pal



Joined: 07 Sep 2005
Posts: 10
Location: Pal
Occupation: Pal
Interests: Владивосток

PostPosted: 14 Sep 2005 02:19    Post subject: Reply with quote

Cейчас надо просто открыть все партии.
т.е. человек должен нажать определенное сочетание клавиш и все партии должны открыться.
Давайте идти от простого к сложному.
На первом этапе сделаем это, на втором этапе добавим условие, на третьем этапе сделаем запрос параметров условия.
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 14 Sep 2005 13:30    Post subject: Reply with quote

Понятно.........
Продолжаем разговор
Теперь давайте обратим внимание что у нас есть база spr_part.dbf внутри которой есть поле STATUS - если занести туда "1" то программа считает карточку партии закрытой. У нас задача обратная значит туда нужно положить "" или NIL
Дальше необходимо написать программу, которая сможет пройтись по всем записям указанной выше БД и на тех позициях, где у нас значение поля STATUS=="1" переприсвоить это значение на ""
Теперь вопрос - это действие Вам по силам или вместе будем писать и еще решение такой задачки смешно полагать каким-то коммерческим решением, поэтому разместите пожалуйста текст Вашей программы - мы его вместе рассмотрим и обсудим - ОК ?
Back to top
View user's profile Send private message Send e-mail
Олег Смирнов



Joined: 06 Sep 2004
Posts: 821
Location: Олег Смирнов
Occupation: Раут (поганист-сисадмин)
Interests: Новосибирск

PostPosted: 14 Sep 2005 17:26    Post subject: Reply with quote

nordk wrote:
Дальше необходимо написать программу, которая сможет пройтись по всем записям указанной выше БД и на тех позициях, где у нас значение поля STATUS=="1" переприсвоить это значение на ""

Наверное, коли уж так вопрос изначально ставился, что, мол, "все" партии - так и проверять STATUS можно не надо...
А вот мне стало стр-рашно интересно - если из плагина поменять эти поля - как БЭСТ заставить обновить свои буфера - там же уже есть данные о том, что карточки закрыты - стало быть, надо заставить БЭСТ прочитать базу/CDX заново?
_________________
С уважением, Олег Р. Смирн
Back to top
View user's profile Send private message
gor966



Joined: 07 Mar 2003
Posts: 26
Location: Михаил


PostPosted: 14 Sep 2005 17:40    Post subject: Reply with quote

Вопрос конечно интересный. Выйти из модуля и войти еще раз
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 14 Sep 2005 18:58    Post subject: Reply with quote

Господа !!!!
При работе с БД все индексы автоматически меняются.
Разве в БЭСТе когда вы закрываете карточки Вам надо выходить - заходить???! Там делается все тоже самое. Ну допустим с кучей проверок - но вы же от них отказались.........
На самом деле если на то дело пошло - выбираете нужный индекс, накладываете на него скоб и перебором всех записей сверху вниз - в списке будут только удаленные.... А когда пройдете, то список будет пуст и соответственно полон среди неудаленных.
Только лучше бы конечно это сделать отдельным пунктом меню - мы к этому еще не подошли (стояло в планах), потому что при CTRL-F5 никаких циклов не надо - просто помечаете все, блокируете запись и меняете значение (даже неинтересно.... )
Поиск наиболее оптимального решения в середине рабочего дня не всегда удачен - поэтому к длине пути решения относитесь с пониманием плз.... Тоже могу допускать неточности в принятии метода решения - моя задача открыть функционал и там в его описании ошибок не допускать, а как его применить это уже Ноу-хау (пусть и маленькое) и каждый найдет его по-свое
Back to top
View user's profile Send private message Send e-mail
Олег Смирнов



Joined: 06 Sep 2004
Posts: 821
Location: Олег Смирнов
Occupation: Раут (поганист-сисадмин)
Interests: Новосибирск

PostPosted: 15 Sep 2005 19:31    Post subject: Reply with quote

nordk wrote:
При работе с БД все индексы автоматически меняются.

Я, может, невнятно сформулировал, но вопрос был не про индексы: коли БЭСТ - сетевая прилада, так и индексы, естественно, должны меняться автоматически...
Мне вот что интересно стало: если у меня на экране есть некоторый список карточек (документов etc.), и я из плагина меняю статус некоторых карточек (опять же - документов etc.) - БЭСТ сообразит сам поменять картинку на экране - или надо предпринимать какие-то дополнительные действия?
nordk wrote:
как его применить это уже Ноу-хау (пусть и маленькое) и каждый найдет его по-своему

Что касается "know-how" - это да, это есть такая штука... Вот кто бы из разработчиков-владельцев этого самого "know-how" объяснил бы мне - что за такая хитровыдуманная технология заставляет БЭСТ-4+ 11.03 обновлять экран после отработки каждой строки накладной при записи этой самой накладной?!. Вот поправил я накладную из 600-700 позиций, сказал - "записать" - и уныло смотрю на специфическое подёргивание экрана - а нафига эти обновления? Ну пусть уже весь документ запишет - а потом и экран обновит...
_________________
С уважением, Олег Р. Смирн
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 19 Sep 2005 11:11    Post subject: Reply with quote

Извините за задержку с ответом - болель...

Насчет обновления картинки на экране - когда вы меняете значение записи через плагин, меняются индексные ключи по этой записи, а поскольку картинка на экране выводится по конкретному индексу на который наложен скоб, то соответственно запись либо появляется на экране либо уходит (в зависимости от значения), потому что при любом нажатии кнопок у вас происходит обновление экрана (принцип работы InitList на котором собственно и построены все экраны БЭСТа типа реестров)
Вот как если вы допустим наложите фильтр на группу и в какой-то позиции группу поменяете на другую - эта запись из списка отфильтрованных позиций исчезнет - это тоже результат того, что фильтр базируется на временном индексе и значение ключа по записи изменилось и не соответствует условиям индекса, осуществляющего фильтрацию данных.

Что касается строк в накладной - отмечу что при изменении строк - пересчитываются все проводки в типовой операции по документу - а они считаются построчно, не думаю что задержка в обновлении экрана - поскольку в номенклатурном справочнике строк значительно больше 700 и обновление экрана Вы там не замечаете совершен
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru