В движении "Оприходование ПФ-ГП товар" (из АРМ "Учет производства") при создании документа оприходования у партии товара(продукции) автоматич не ставится наименование партии.
Раньше все отлично автоматом ставилось, в один прекрасный день перестало. За это отвечает опция "Карточка партии" в "Товары.Продукция"->Доп настройка->настройка параметров->Карточка партии.
Там неск вариантов выбора: "Не заполнять", "Наим. первой партии...", "Номер док оприход..."....
У нас всегда стояло Номер док оприход. А теперь именно у этого вида движения автоматич не ставится наим партии.
Это сильно мешает работе, т.к. документы оприход ГП создаются автоматич в доп функции... И всегда выходит ошибка - заполните имя партии на каждую сточку оприход готовой продукции.
Возможно ли в дизайнере отчетов открыть таблицу, для которой нет источника данных (пользовательская)!?
Также как в спецфункциях Use "MyDbf.dbf" shared new alias "my"
Как-то так...
Помниться, такая возможность была!
Local aTabel:={},aPerson:=ARRAY(40),aTime:=ARRAY(30),i:=0,j:=0
For i:=1 to Len(aPerson)
aPerson[i]:="Петров"+Var2Char(i)
NEXT
For j:= 1 to Len(aTime)
aTime[j]:=0
NEXT
For i:=1 to Len(aPerson)
AADD (aTabel,{aPerson[i],aTime})
NEXT
aTabel[2][2][3]:=1
AltD()
i:=1
Массив aTabel - это "посещения" сотрудников по дням месяца.
Сотрудник Петров2 был на работе 3го числа месяца. Поэтому присваиваем за 3е число единицу.
Если сейчас посмотреть в режиме отладки на массив aTabel, то получиться, что все сотрудники были 3го числа на работе.
Как я понимаю код AADD (aTabel,{aPerson[i],aTime}) на самом деле помещает "ссылку" на массив aTime (адрес перемменной aTime в памяти), а не "сам массив", т.е. не создает новый элемент.
Это номально!?
Элемент xbGrid.
1. Как задать ширину колонки (ок)!!!?
2. Как сделать автообновление содержимого колонки при изменении ее ширины, когда пользователь в ней работает?
Тоже интересует данный !!!
Думал использовать xbLabelEditRefer, для вызова справочника. Вот только как этой компонентой пользоваться? По нажатию F2(default) надо "передать" другую форму для отображения, наверняка есть метод или свойство куда эту форму нужно "передать".
Но ! Спецфукнциями можно перекомпилировать не выгружая БЭСТ при отладке
Замечательно!!! Подскажите как! А то надоело уже, то userbdll.txt править, то организацию постоянно перевыбирать!!!
И еще ! Начал рисовать синее окошко. (Смотрел уроки 5,6,7 - за них спасибо отдельно!!! )
На форме BO, DS, DataSource1, уже и класс для таблички нужной описан и грид уже на форме тоже висит. Все работает, всё открывается. (таблица ap_reg.dbf)
НО. Когда в гриде меняю ширину столбцов данные не обновляются :(
Т.е. изначально ширина столба у меня 220 пикселей для поля Партнер, и если есть партнер "шире" 220 пикселей, то когда меняю ширину столба уже пр и работе в Бесте, то данные обрубаются/не выводится полностью - Как исправить!!!? (Надеюсь, понятен).
nordk пишет:
Новые окна тоже можно через HRB запускать.
Смотря из какого режима Вы это делать пытаетесь
Предположим, есть свое "старое" окно, которое вызывается по отдельному меню "Моё окно" (userbdll.txt : Финансы\Расчеты с партнерами;Моё окно;RunTest;MYG;1)
Отсюда можно его вызвать? Или только спецфункциями из стандартных меню Б-5 старого типа?
И тогда компилируете при открытом БЭСТе, только выходите непосредственно из реестра в котором привязан hrb файл.
Дальше помним о том, что RUNFROM работает только в новых окнах.
А такие функции как Diaolg,InitList только в старых - это чтобы понимать где функции видны, а где видны не будут.
Я новое окно и пытаюсь написать . Старые надоели В старых пользователи отказываются работать :(
(Со старыми окнами никаких проблем при использовании userbdll.txt, всё работает, проблемы только с новыми!!!)
Т.е. с новым окном без userbdll.txt не обойтись. Так ведь?
#include "hbclass.ch"
#include "BO_Const.ch"
class UNIT1 from UNIT1Base
endclass
В код формы. (подсмотрел в пример и в файл unit1base.prg)
2. Добавил кнопку
Код
#include "hbclass.ch"
#include "BO_Const.ch"
class UNIT1 from UNIT1Base
METHOD bButton1_Click
endclass
METHOD bButton1_Click(Sender) class unit1
::Destroy()
RETURN .T.
3. Добавил 2 синие формы в меню Б-5 (форма в Example1.bdll работала, свою форму делал по ней)
Финансы\Расчеты с партнерами;zzzzz;RunTest;MY;0
Финансы\Расчеты с партнерами;xxxxx;RunFormTest;Example1;0
После этого что-то начало работать! Но с 2мя синими формами в обеих меню Открывается ОДНА И ТА ЖЕ форма:)!!!. Или одна открывается, а вторая нет. В общем не работает так, как должно? Или так и должно?
Сейчас почему-то выше описанный пример работает. С кнопочкой нарисованной. Правда при условии, что в Б-5 есть только одна синяя форма (на конце "0" в файле userbdll.txt)
Всем доброго времени суток!
Пытаюсь сделать синюю форму! Что-то совсем совсем не получается! (Хотя когда-то давно работало, вообще разобраться не могу).
Начну сразу с кода:
Код
Function RunTest1()
RETURN RunForm('project\unit1',.T.,{},nil)
Итак:
1. У нас в файле (Папка с БД) Man_2011_\userbdll.txt Имеется запись:
Финансы\Расчеты с партнерами;zzzzz;RunTest1;PartFin;0
2. Создан проект в папке "Расчеты с партнерами". Имя проекта (в свойствах) - project.bpr. Все файлы проекта лежат в этой папке workspace.bws, unit1.prg, project.bpr, unit.prg! (Надо ещё додуматься как их туда положить. Первый раз не так просто :) )
3. В файле unit.prg, что соответсвует меню "Программы" в дизайнере приложений имеется вышеупомянутый код, приведу еще раз:
Код
Function RunTest1()
RETURN RunForm('project\unit1',.T.,{},nil)
4. Имеется форма unit1.prg в разделе Форма дизайнера приложений. Форма просто пустая. На ней ничего нет.
Внимание вопрос! Почему при входе в меню zzzzz я получаю ошибку (картинка ниже) :
Код
C:\Program Files\BEST\BEST5_34\Client\Bin\projects\Расчеты с партнерами\unit.prg:RUNTEST1(2);RUNTEST1(0)l
SunSystem:BASE Code: 1001 Неизвестная функция
Сергей Введенский пишет:
В Вашем случае для того чтобы использовать несколько источников, нужны такие источники, которые можно будет связывать между собой по идентификаторам документов. То есть должен быть основной источник, который из регистра расчетов возвращает уникальный идентификатор документа и остальные источники (платежки, накладные и т.д.), которые этот идентификатор принимают как параметр и возвращают по нему требуемые поля документа. Пока таких источников у нас нет. Поэтому выход только один - писать свой пользовательский источник, который и будет "собирать" все требуемые документы. Это даже будет более правильно, поскольку источник тогда будет всего один и соответственно отчет будет формироваться существенно быстрее.
Ясно! Спасибо! Будет проще написать новую форму Б-5 и делать выгрузку в Excel. (как мне кажется) Меньше работы займет и лучше будет работать.
К стати, попутно оффтоп :
До сих пор не понимаю, зачем в Б-5 используется fastreport. Создается ощущение, что система Б-5 нагружена какими-то "довесками" FoxPro, fastRep... Работают эти отчеты долго, оперативки "жрут" много и глючат, вечно вываливаются!!! "Программно" (из синих форм, посредством харбора) все работает гораздо быстрее и лучше (можно выгружать потом в Excel). У Вас в компании не задумывались над тем, чтобы отказаться от FastReport? "Очень большие" отчеты просто "вываливаются" с ошибкой - не хватает оперативки с одним пользователем на компутере и 3,25 ГБ оперы. Т.е. надо либо переходить на х64, либо как-то "экономить".
Сергей Введенский пишет:
С существующим источником вывести эти данные НЕвозможно. Так как понятие СДЕЛКА включает в себя метод расчета партнера (по счету-фактуре, договору, заказу). И если партнер настроен на расчеты по сделке, то в поле СДЕЛКА выведется: метод расчета, вид документа и рег.номер документа по которому производятся расчеты. Все данные отчета берутся из таблиц Ap_reg и Ap_card.
А нельзя ли другие источники (из других отчетов) подключить? Я как раз и имел в виду взять где нибудь в другом месте из всех всех всех существующих.
Т.е. нужен источник с выписками Клиент банка (модуль банк или касса, Б-5 не под рукой). Источник с накладными, источник со сводными заказами и источник со строками сводного заказа. Причем в последнем нужен "поиск" по Н\Н изделий (или запрос делать источнику по Н\Н номер сводного заказа).
Необходимо, чтобы в столбике Сделка выводилось основание платежа или номер заказа(ов) (счета). Если в столбике "Документ" стоит платежка, то в столбик "Сделка" выводим основание этой платежки. А если это накладная, то в столбике "Сделка" надо вывести номера заказов (сводных) или номера счетов, в которых фигурируют отгруженные изделия.
Возможно ли это сделать с существующими источниками!???
oDocs := ScladDocs():New()
oDocs:Hidden := 3
oDocs:Task := "MF"
oDoc := ScladDoc():New()
oDoc:CodeOper := "01"
oDoc:Vid := "1"
oDoc:Type := "2"
// oDoc:TypeEx := "0602"
oDoc:Sclad := sSclad//"000001"
oDoc:CodeDoc := "001"
oDoc:NumDoc:="000200"
// oDoc:AGENTCODE:=sAGENTCODE//"000002"
oDoc:AGENTNAME:="Иванов"
For nI:= 1 to nprod
oDoc:AddRow(aProducts[nI][1],aProducts[nI][2],,,aProducts[nI][nFields+1],/*cEd1*/,/*nR*/,/*cNNOPERM*/,/*aAuto*/,/*aSerNo*/,;
,,,/* cDef_Grup*/,/* cDef_NNUM*/,/* cDef_mDim*/, )
NEXT
oDoc:NumDoc:=MDoc->(WDoc('NumDoc',UPPER(sSclad+oDoc:Vid+oDoc:Type+oDoc:CodeDoc)))
oDocs:AddDoc(oDoc)
// В массиве aProducts информация о продукции, там, вроде все верно. По-моему что-то не так с шапкой документа.
/*METHOD AddRow(cGrup,cNNum,cMDim,cPartia,nKolOut,cEd1,nR,cNNOPERM,aAuto,aSerNo,;
cPrd_Grup, cPrd_NNUM, cPrd_Bom, cDef_Grup, cDef_NNUM, cDef_mDim, cNZ_ID, cCommentM )*/
Далее запускаю
Код
oErr:=oDocs:Run()
И получаю ошибку. Нет прав доступа.
1. Подскажите, пожалуйста, какие именно параметры в шапке документа необходимо указывать.
2. Требуется ли создавать партию для этой продукции перед тем как запускать оприходование или она может создаваться
автоматически? Создавал партию, получаю тоже самое.