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

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

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


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 След.
Платежное поручение спроверками на ошибки.
 
Есть ещё вариант можно сразу подставлять значения из запроса Partner в соответствующие поля, а бухам просто сообщать о таком факте или выбор предоставить.
Платежное поручение спроверками на ошибки.
 
Отменить печать без диалогового окна не получилось. Посмотрите что есть.
Изменено: Сергей Иваницкий - 11.01.2011 16:15:19
Платежное поручение спроверками на ошибки.
 
В обед посмотрю.
Платежное поручение спроверками на ошибки.
 
К стати исправь вот так
Код
While Length(S1)>210 do
Begin
S1:= input('Слишком длинное основание удали ' +Chr(10)+Chr(13)+Trim(Str(Length(S1)-210))+Chr(10)+Chr(13)+ ' символов' ,S1);
End;
Будет сообщать сколько удалить и при этом пока не получится правильно дальше не пустит
Платежное поручение спроверками на ошибки.
 
Почему пришлось через ИНН , а не через код клиента - потому что в штатном наборе PL_P не нашёл такого поля -был удивлён! Через код клиента - правильней. Через RSDOC нельзя потому, что такой записи можт ещё не быть.
Вот и пришлось через ИНН и строить такой корявый запрос вместо штатного.
Платежное поручение спроверками на ошибки.
 
Подавлять запрос не надо иначе не будет отрабатываться твоя проверка, но если хочется то можно
во первых надо исправить на странице с формой все ссылки на управляющие элементы на фиксированные,
во вторых обработчик кнопки выполнить переместит на событие открытие формы.
ну и про инициализацию не нужного окна не забыть.

транспрант input() я сделал специально, чтобы в строке ввода можно было вручную исправит основание платежа. Если хочется автоматически, то тоже можно, все зависит от степени корректности. Если тупо обрубать может получиться фигня.
Нужна помощь новичку
 
Цитата
Максим пишет
Давайте разберем все на следующем примере. В АРМе Учет заработной платы мне, допустим, нужно с помощью ФастРепорта создать новый шаблон для отчета

Не очень удачный пример, в арме зарплата, при формировании справок по шаблону например, сначала данные подготавливаются в каких-то временных таблицах, а уж потом вызывается fastreport, для примера лучше взять накладную или счет и поглядеть как там организовано, или скопировать что-то подобное своей задаче и подправить. Fastreport не очень годится для сложных манипуляций с данными, разьве что с помощью запросов...
Платежное поручение спроверками на ошибки.
 
Валерий, я тут кое что подправил, попробуйте, правда есть некоторые ограничения,
Не знаю как себя поведёт если у вас существует несколько организаций с одинаковым ИНН.
Платежное поручение спроверками на ошибки.
 
Теоретически можно вообще не печатать если обработчик нажатия кнопки "Выполнить"
будет завершаться конструкцией
Код
modalresult:=mrCancel
Платежное поручение спроверками на ошибки.
 
в строках
Код
While Length(S1)>210 do
Begin
точку с запятой писать не надо.
Платежное поручение спроверками на ошибки.
 
Цитата
Валерий пишет
S1:=[DialogForm.PL_P."Назнплатнаиментовараначало"]
While Length(S1)>210 do
Begin
S1:= Input("Слишком длинное основание",S1)
End;

а фастрепорт на точки с запятой ругался?
в конце строки в Паскале надо обязательно ставить точку с запятой,
и ещё, я сейчас не на работе и не могу вызвать редактор фастрепорта.
но надо ещё посмотреть в инспекторе у кнопки выполнить есть свойство "result" или как-то так оно установлено в "mrOk", надо это "mrOk" убрать а в конце функции присвоить.
Платежное поручение спроверками на ошибки.
 
В фастрепорте есть функция Input(<Заголовок> [,<Значение>]). на нажати кнопки "Выполнить" вешаешь проверку длины примерно так:
Код
S1:=[строка]
While Length(S1)>210 do
Begin
S1:= Input("Слишком длинное основание",S1)
End;

и ещё поверку реквизитов
ну если всё нормально или все реквизиты измененные нашёл раскладывай по соответствующим объектам Memo новые значения и печатай. и про S1 не забудь.
в конце своей функции пишешь
Код
modalresult:=mrOk
или
Код
modalresult:=mrCancel
если не хочешь печатать.
точнее 10 числа могу написать.
Событие на запись и удаление документов в реестре банковских выписок
 
Валерий, прочитал ваш пост в праздники, я дома и смоделировать вызов редактора фастрепорта не могу, Но я много каких документов у себя в конторе поправлял.
Что касается событий в пп, то вам как я понял нужно событие на вход в документ или при его копировании - в такого нет , проверка документа - это Хорошо, но как я понимаю поздно. Я бы ка вариант сделал на "проверку" баннер, если не выполняются условия, чтобы бухи хотя бы перепечатали!
Событие на запись и удаление документов в реестре банковских выписок
 
Цитата
ВАЛЕРИЙ БОНДАРЧУК пишет
Сергей, если у вас заработало, не поможете ли написанием плагина на запись платежного поручения, с проверками реквизитов и длины полей основания не более 210 символов
темы
http://www.bestnet.ru/support/forum/i...1&TID=4516
и
http://www.bestnet.ru/support/forum/i...9&TID=4517
Изменено: ВАЛЕРИЙ БОНДАРЧУК - 30.12.2010 06:52:36

Я пишу в реестре банковских выписок - там работает. Для платёжек я не видел как там событие назначить.
Событие на запись и удаление документов в реестре банковских выписок
 
Во блин заработало. не понятно.
Событие на запись и удаление документов в реестре банковских выписок
 
Не получается, я тоже думал, что может надо что-нибудь изменить например сумму-реакции никакой.
Событие на запись и удаление документов в реестре банковских выписок
 
Цитата
Константин пишет
Помним также что измененные плагины работают только после того как вы выйдете и зайдете в модуль заново, иначе стартует все время старая копия в памяти.
Это имеет и к старту с отладчиком отношение.
Если мы не хотим выходить-заходить.
То этот же плагин должен быть подвешен к событию по требованию и хотябы один раз запущен по требованию через SHIFT-F5
Не забываем также что сам файл должен быть найден в нужной папке для запуска.

всё это я помню только не запускается. даже компьютер перезагружал. на удаление запускается а вот на F10 нет.
Событие на запись и удаление документов в реестре банковских выписок
 
На счёт на запись - да наверное не правильно понял, только плагин всё равно не запускается. по идее должен был запуститься отладчик, ну или хотя бы транспарант появиться, а с удалением тут тоже как-то особенно?
может я что-то не так делаю?
Меню "Выписки из банка"->"Расчетные счета"->"511 Расчетный счет НПСБ" -> попадаю в реестр "Выписки банка по расчетному счету" -> выбираю дату захожу в "Реестр банковских выписок по расчетному счету 511" Вот в этом то реестре нажимаю Ctrl+F5 добавляю свою короткую программку на событие "Запись документа" а она при нажатии F10 в документе из этого реестра не запускается. У нас два счета в разных банках 511 и 512.

На счет БЭСТа 5 изучаю Вопрос, наши сотрудники не в восторге от идеи что либо менять. Финансисты хотят бюджетировать план-фактный анализ делать, вот собственно и задали Вопрос на что-бы перейти БЭСТ5 или 1с.
Событие на запись и удаление документов в реестре банковских выписок
 
Цитата
ВАЛЕРИЙ БОНДАРЧУК пишет
У меня одни клиенты впереди при обработке выписки основания платежа ставят вручную кодирование информации какой менеджер заказал этот т овар, что бы затем спросить его за возврат всех бухгалитерских документов.
...
пупер Алексеея Новиковы плагин на разбор выписки

подобный подход имеет существенные недостатки, его потом сложно автоматически обрабатывать, например бухгалтер может забыть написать или сделать орфографическую ошибку (что не редкость когда я писал плагин для автоматического создания авансовых счетов-фактур нагляделся на основание платежей!). Если бы удалось это действие подвесить на запись, то можно не допускать ошибки, например используя справочники, и вообще удобно, только вот не работает почему-то.
Событие на запись и удаление документов в реестре банковских выписок
 
Уважаемые коллеги подскажите пожалуйста как мне поступить.
У меня БЭСТ 4+ 12.01 SP65
Финансисты попросили добавить пару реквизитов к каждой записи кредитовой(когда мы за что нибудь платим) в реестре банковских выписок - ответственного (сотрудника) и группу расхода(типа для каких целей платёж) чтобы потом можно было анализировать (вроде дополнительной аналитики). Я пообещал, что сделать можно. Написал
Код
Function Utest()
Altd()
SayAndWait('Запись невозможна')
Return .F.
выбрал вызов запись документа, но вызов не происходит.Судя по тому что написано запись происходить не должна, но она происходит.
Попробовал заодно вызвать эту программку при удалении, по идее не должно удаляться, программа вызывается но документ тем не менее удаляется.
Что не так?
Работа с Excel файлом из БЭСТ, Выгрузка данны в УЖЕ существуюий Excel файл.
 
Даже не знаю что и сказать, для себя буду помнить о такой особенности, раз ни у кого больше не проявляется буду думать, что так и должно быть или это у меня глючня какая-то.
Работа с Excel файлом из БЭСТ, Выгрузка данны в УЖЕ существуюий Excel файл.
 
Ещё интересный факт если
Код
C:=Select("Mdoc")

вставить после оператора
Код
oAS:Range("B2"):Select()
 или 
 oAS:Cells(3,6):Select()
и т.д.
то глюк исчезает, т.е. всё работает так, как должно! и последующие команды
Код
oAS:Range("B2"):Select()
выполняются и
Код
C:=Select("Mdoc")
значение возврашает.
Работа с Excel файлом из БЭСТ, Выгрузка данны в УЖЕ существуюий Excel файл.
 
Из интереса сел за компьютер на котором стоит Office 2007 корпоративный, а Office XP отродясь не стояло. Откомпилировал эту свою тестовую программку пост #19 результат точно такой же, и
Цитата
oAs:Range("A8"):Select()
попробовал, всё одинаково.

Вот ужал глюк до 1 строки
Код
Function uOExcel()
 Local oApp,oWorkBook,oRange,oAS
 Local  I,J, C
 AltD()
 C:=Select("Mdoc")
 TRY
 oApp := CreateObject( "Excel.Application" ) //попытка создать объект Excel
 CATCH
 Alert("Excel не доступен!")
 Return
 END
AltD()
oWorkBook:=oApp:WorkBooks:Add()
oAS:=oWorkBook:Worksheets():Add()
oApp:visible:=.T.
For I=1 To 50
   oAS:Cells(I,1):value:=OemToAnsi('Строка' + Str(I,3,0))
 For J=2 To 20
   oAS:Cells(I,J):value:=I*(J-1)
 Next
Next
oAS:Range("B2"):Select()
oApp:ActiveWindow:FreezePanes := .T.
Return .T.

Программка всего 25 строк если
Код
 C:=Select("Mdoc")
закомментировать, то все работает , а если оставить то выпадает ошибка на строке
Код
oAS:Range("B2"):Select()
хотя строка по моему вполне легальная. и результат даёт, у меня например С=60.
Работа с Excel файлом из БЭСТ, Выгрузка данны в УЖЕ существуюий Excel файл.
 
Цитата
Константин пишет
Данная функция имеет отношение к работе с алиасом и никакого отношения к скрипту VBS не имеет. Другими словами "Это нога - у кого надо нога !!!..."
Я прекрасно понимаю, что это к VBS отношения иметь не должно, однако проявляется именно так как я пишу. Ппоробую скомпилировать на компе где 2007 Office установлен.
Цитата
oRange:=oAS:Range("8:8")
у меня вполне себе отработал, мне ведь надо целую стоку выделить.
Цитата
Сергей я уже давно понял что мне надо самому посидеть повозиться чтобы Вам помочь, пока время не выбрал. Простите что вот такие советы "поробуй то, попробуй это выдаю..."
Это пока все, что могу
да обычно хватало вполне.
Работа с Excel файлом из БЭСТ, Выгрузка данны в УЖЕ существуюий Excel файл.
 
Цитата
Константин пишет
Да нет в харборе таких функций

ну может не харбор, может ещё клиппер...
открываем файл news\develop\ng\weg.exe
и там написано:
Цитата

Синтаксис
SELECT([<алиас>]) --> номер рабочей области
...
SELECT() является функцией работы с базами данных, которая определяет
номер рабочей области по заданному алиасу. Возвращаемое число может
быть в диапазоне от 0 до 250. Если аргумент <алиас> не задан,
возвращается номер текущей (активной) рабочей области. Если значение
аргумента <алиас> задано, но такого алиаса не существует, SELECT()
возвращает ноль.

Так вот если я использую её раньше(по тексту программы), чем функцию Excel с таким же именем, то Excel на соответствующей строке вылетает, а если не использую или использую после(по тексту), то все описанные мной конструкции у меня работают с теми версиями Excel которые у меня есть это XP(2002), и 2007.
Попробовал и
Код
oRange:=oAS:Range("8:8")
oRange:Select()
oApp:ActiveWindow:FreezePanes := .T.

результат тот-же.

А вы пробовали запустить то что написано в посте #19 как есть, напомню БЭСТ4+ арм товары.
Тут либо я не правильно что-то использую, либо глюк(особенность), и это надо просто в будущем учитывать и всё. Ну хоть у кого-нибудь такой эффект проявился? Или я один такой?
В смысле некогда, понимаю, спасибо за Внимание , не тороплю. И вообще всех с наступающим НОВЫМ ГОДОМ!
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 След.