BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / БЭСТ-4  / картотека в АРМе Товары.Готовая продукция

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
картотека в АРМе Товары.Готовая продукция
 
Вопрос к разработчикам
картотека
КАРТОЧКА СКЛАДСКОГО УЧЕТА
как в этой карточке разделить ввод адреса и корректировку начального остатка
нельзя ли сделать событие для спецфункции "проверка карточки" и "сохранение карточки"
как это сделано во всех реестрах документов

сейчас же оператор на складе при вводе адреса может скорректировать начальный остаток
тем самым изменив текущее количество

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

идеальный вариант - в параметрах подсистемы добавьте пункт - "корректировать нач остаток" - ДА/НЕТ

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

хочу полный набор событий в картотеке
 
Вот Вы переходите как раз к объяснению причины, почему чьи-то пожелания в БЭСТе не реализуются. Стоит кому-то в одном месте что-то подключить - сразу начинаются претензии: а почему только там.
События в БЭСТ-4 в каждом реестре надо подключать специально.
Эта возможность при разработке продукта не предусматривалась и пришла
намного позже. Поэтому в БЭСТ-4 разработчик эти события подключает по мере своих возможностей. БЭСТ-5 - продукт следующего поколения и
эта событийность в нем закладывалась изначально. Поэтому событие в одном месте отражается во всех остальных экранах.( За исключением
экранных форм нового типа. Там события подключаются в каждом экране
отдельно по аналогии с БЭСТ-4).
 
накидал плагин
проблемы с поиском
хочу окно поиска как в справочнике партий
то есть один поисковый запрос с тремя полями
ввод ГРУППЫ
ввод НОМЕРА
ввод ПАРТИИ

пока же только в одну строку - группа и первые три символа от номенклатурного номера
Код
aSortSeek:={;
{"- группа/номер  ","Введите ГруппуНомер","grup+left(nnum,3)","UPPER(aIn[1])",,,"mkart_sn"}}


и второй Вопрос
как сделать перед этим инитлистом выбор склада
и в основном инитлисте уже скоп по складу
 
Цитата
denlog пишет:
хочу окно поиска как в справочнике партийто есть один поисковый запрос с тремя полямиввод ГРУППЫввод НОМЕРАввод ПАРТИИ


часть параметров делаете массивом, т.е. в фигурных скобках. Примерно так:

Код
aSortSeek:={; 
{"- группа/номер  ",{"Введите Группу", "Введите номер"},{"grup", "left(nnum,3)"},"UPPER(aIn[1])",,,"mkart_sn"}}
 
за сортировку спасибо
только немного поправить пришлось
если оставить только aIn[1] то ищет только по первому введенному полю (группа)
а остальные (номер и партия) - игнорирует
пришлось добавить + aIn[2]+aIn[3]
aIn[2] - вторая вводимая при поиске срока
aIn[3] - третья
в итоге имеем рабочий вариант с поиском по трем полям одновременно:
Код
aSortSeek:={;
{"- группа/номер  ",{"Группа", "Н/номер","Партия"},{"grup","nnum","partia"},"UPPER(aIn[1]+aIn[2]+aIn[3])",,,"mkart_p1"}}

mkart_p1 - индекc = UPPER(GRUP+NNUM+PARTIA+SCLAD)

ФИЛЬТР РАБОТАЕТ НО ОЧЕНЬ ДОЛГО - НЕ ГОДИТСЯ
СКОП - НЕ РАБОТАЕТ СОВСЕМ!!!

воспользовался Уроком 8. Размещение двух InitList на одном экране
сделал два инитлиста
верхний инитлист - справочник складов
нижний картотека mkart

как скоп правильно сделать
Индекс выбран MKART_SN = UPPER(STATUS+SCLAD+GRUP+NNUM+PARTIA)
ставлю скоп
mkart->( SetScope("UPPER(status)","1",,{'mkart_sn'} ) )
и никакого эффекта
ПОКАЗЫВАЕТ ВСЕ СТРОКИ MKART - КАК С ОДНЕРКАМИ ТАК И ПУСТЫЕ

какие еще параметры надо добавить в инитлист чтобы скоп действовал
 
Цитата
denlog пишет:
mkart->( SetScope("UPPER(status)","1",,{'mkart_sn'} ) )


А если попробовать просто:
Код
mkart->( SetScope("UPPER(status)","1" ))

?

Параметром aOrder ни разу не пробовал использовать. Не понял его назначение :-(
 
Цитата
denlog пишет:

ставлю скоп
mkart->( SetScope("UPPER(status)","1",,{'mkart_sn'} ) )
и никакого эффекта
ПОКАЗЫВАЕТ ВСЕ СТРОКИ MKART - КАК С ОДНЕРКАМИ ТАК И ПУСТЫЕ

какие еще параметры надо добавить в инитлист чтобы скоп действовал

Вы пишите пожалуйста такие Вопросы на форум программирования - я тут реже бываю.
После установки скопа надо еще и курсором пошевелить через
DBSEEK() или DBGOTOP()
И по возможности открывайте алиас таки со своим именем, чтобы быть уверенным, что текущий алиас БЭСТа не имеет скопа и прочих сложностей.
 
Цитата
denlog пишет:
сейчас же оператор на складе при вводе адреса может скорректировать начальный остаток
тем самым изменив текущее количество

На складе есть такая штука - "Управление оперативным периодом"
Ставите там дату, большую чем начало периода и после этого начальный остаток в карточке исправить будет нельзя.
 
за штуку "Управление оперативным периодом"
спасибо

только теперь другая проблема
не могу штатными средствами выводить СТЕЛЛАЖ и ЯЧЕЙКУ в печатной форме в АРМе УПРАВЛЕНИЕ ПРОДАЖАМИ

пока мучаюсь через спецфункцию делаю временный dbf и из него с помощью массивов - в печать

не очень красиво получается
 
Цитата
denlog пишет:
не могу штатными средствами выводить СТЕЛЛАЖ и ЯЧЕЙКУ в печатной форме в АРМе УПРАВЛЕНИЕ ПРОДАЖАМИ

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

перед сохранением документа (при вызове печатной формы стоит в параметрах подсистемы автоматическое сожранение документа) - работает спецфункция в режиме "проверка документа"
делает временный dbf файл
Код
DBPUSH("MDOCM","RBOOKM",,{MDOCM->DOPCODE,MDOC->DOPCODE})
MDOCM->(f_SetRelation("MKART","UPPER(Grup+NNum+Partia+Sclad)"))
...
много кода описания структуры и создания временного dbf
...
Код
WHILE MDOCM->( !EOF() )
            ADRES->(AddRec())
            ADRES->SCLAD   := MKART->SCLAD
            ADRES->STATUS  := MKART->STATUS
            ADRES->GRUP    := MKART->GRUP
            ADRES->NNUM    := MKART->NNUM
            ADRES->PARTIA  := MKART->PARTIA
            ADRES->NAME    := MKART->NAME
            ADRES->MESTO1  := MKART->MESTO1
            ADRES->MESTO2  := MKART->MESTO2
            ADRES->(F_DBUNLOCK())
  MDOCM->(DBSKIP())
ENDDO

потом в печатной форме в массивы забираю и в строки masterdata последовательно подкладываю

не очень прямой и однозначный путь
надежнее было бы из полей masterdata (BDF.STROKI)
 
А без массива в печатной форме нельзя обойтись? К примеру, с помощью зависимой таблицы (я давно не пользоваля этой возможностью).
 
Ага, а то что-то слишком сложно получается.
Страницы: 1
Читают тему (гостей: 1)