0
Fixed
ИНН для ИП
ввожу юридическое лицо у организации, указываю в качестве ОПФ – «ИП». Вводим ИНН 12 знаков, «вылазит» предупреждение, что ИНН должен быть 10 символов.
как бы не ошибка, но немного напрягает
как бы не ошибка, но немного напрягает
Vasta
Да. Этот нюанс имеет место быть.
Подготовим решение и в ближайшее время выложим сюда инструкцию, как, что и где поменять, что бы при выборе ИП данная проверка не производилась.
+1
может это решение нужно сделать в инсталяционном пакете на будущее?
какое-то неправильное исправление:
1. второй диапазон указан неправильно, по крайней мере у нас скрипт выглядит таким образом:
2. этим исправлением мы вообще проверку ИНН отключили на количество знаков, независимо от ОПФ.
ps а проверки на, то что в ИНН должны быть только цифры - тоже нет?
1. второй диапазон указан неправильно, по крайней мере у нас скрипт выглядит таким образом:
2. этим исправлением мы вообще проверку ИНН отключили на количество знаков, независимо от ОПФ.
ps а проверки на, то что в ИНН должны быть только цифры - тоже нет?
1) Режим "Настройки параметров системы", создаем три системные константы, в которых указываем длину ИНН и КПП (в символах) :
Описание изменений в приложенном файле:
Удалены процедуры INN, KPP. из блока Main убраны создания надписей (label) для ИНН и КПП.
В блоке Main после выхода из полей ИНН и КПП вызывается процедура ChangeINNKPP
добавлена процедура ChangeINNKPP
Добавлены функции VisibleLableINNKPP и GetParamByINNKPP
Код функции VisibleLableINNKPP:
- ИНН юр.лицо (ID = 18, значение = 10)2) В карточке Юр.лица нажимаем Ctrl+T, открываем VBS скрипт (кнопка с синим свитком), заменяем его на приложенный.VBS_83_Jur.vbs
- ИНН ИП (ID = 19, значение = 12)
- КПП юр.лицо (ID = 20, значение = 9)
Описание изменений в приложенном файле:
Удалены процедуры INN, KPP. из блока Main убраны создания надписей (label) для ИНН и КПП.
В блоке Main после выхода из полей ИНН и КПП вызывается процедура ChangeINNKPP
this ("attr620374").OnExit = "ChangeINNKPP" ' ИНН
this ("attr620375").OnExit = "ChangeINNKPP" ' КПП
a = VisibleLableINNKPP()
добавлена процедура ChangeINNKPP
sub ChangeINNKPP(Sender)
a = VisibleLableINNKPP()
end sub
Добавлены функции VisibleLableINNKPP и GetParamByINNKPP
public function GetParamByINNKPP(IK)
'IK = 18 - ИНН
'IK = 19 - ИНН для ф.л.
'IK = 20 - КПП
if IK = 18 or IK = 19 or IK = 20 then
if not isObject(this("datSist")) then
datSist = this.create("TX2Query", this, "datSist")
end if
with this("datSist")
.ClassName = "Константы"
.Connector = this("X2Connector1")
.SelectString = "cast(p343 as int) as [Значение]"
.WhereString = "ObjectID = "+cstr(IK)
end with
this("datSist").open
this("datSist").refresh
GetParamByINNKPP = this("datSist").ValueByFieldName("Значение")
end if
end function
Код функции VisibleLableINNKPP:
public function VisibleLableINNKPP()
dim lenINN
dim lenKPP
dim parINN
dim parKPP
lenINN = len(this("BookQuery").ValueByFieldName("ИНН"))
lenKPP = len(this("BookQuery").ValueByFieldName("КПП"))
'105 - ID элемента справочника для ОПФ "ИП". в функцию GetParamByINNKPP передается ID соответствующей системной константы.
if this("BookQuery").ValueByFieldName("ID_ОПФ") = 105 then 'ИП
parINN = GetParamByINNKPP(19)
else
parINN = GetParamByINNKPP(18)
end if
parKPP = GetParamByINNKPP(20)
if not isObject(this("LabINN")) then
LabINN = this.create("TcxLabel", this, "LabINN")
end if
if not isObject(this("LabKPP")) then
LabKPP = this.create("TcxLabel", this, "LabKPP")
end if
'Надпись для ИНН
if parINN<>lenINN and lenINN>0 then
with this("lab620374").style
.TextStyle = "fsbold" ' жирный
.Textcolor = RGB (200,0,0)
end with
with this("LabINN")
.Caption = cstr(lenINN)+"/"+cstr(parINN)+" симв."
.top = this("lab620374").top
.left = this("lab620374").left +30
.parent = this("Tabsheet0")
With .style
.TextStyle = "fsbold" ' жирный
.Textcolor = RGB (200,0,0)
.font.size = 1
End With
.transparent = true
.visible = true
end with
else
with this("lab620374").style
.TextStyle = "" ' жирный
.Textcolor = RGB (0,0,0)
end with
this("LabINN").visible = false
end if
'Надпись для КПП
if parKPP<>lenKPP and lenKPP>0 then
with this("lab620375").style
.TextStyle = "fsbold" ' жирный
.Textcolor = RGB (200,0,0)
end with
with this("LabKPP")
.Caption = cstr(lenKPP)+"/"+cstr(parKPP)+" симв."
.top = this("lab620375").top
.left = this("lab620375").left+30
.parent = this("Tabsheet0")
With .style
.TextStyle = "fsbold" ' жирный
.Textcolor = RGB (200,0,0)
.font.size = 1
End With
.transparent = true
.visible = true
end with
else
with this("lab620375").style
.TextStyle = "" ' жирный
.Textcolor = RGB (0,0,0)
end with
this("LabKPP").visible = false
end if
VisibleLableINNKPP = 1
end function
1) Режим "Настройки параметров системы", создаем три системные константы, в которых указываем длину ИНН и КПП (в символах) :не понял где создать эти константы?
- ИНН юр.лицо (ID = 18, значение = 10)
- ИНН ИП (ID = 19, значение = 12)
- КПП юр.лицо (ID = 20, значение = 9)
В "КлиК", "Утилиты" -> "Настройка справочников" и там вкладка "Системные константы". В этот список и нужно добавлять новые константы.
системные константы нашел, вижу 2 варианта: верхнее и нижнее (картинки прилагаю)
вроде как в верхнем надо вводить, но в какие поля надо ввести указанные выше данные, не понимаю
вроде как в верхнем надо вводить, но в какие поля надо ввести указанные выше данные, не понимаю
Создавать константы необходимо в верхнем списке.
- Наименование = КПП юр.лицо , значение = 9
Порядок добавления следующий:
- Наименование = ИНН юр.лицо , значение = 10
- Наименование = ИНН ИП , значение = 12 - Наименование = КПП юр.лицо , значение = 9
Vasta
Fixed
Вам необходимо зайти в КК под sa в пункт меню Персонал-Структура предприятия.
1.Открыть карточку предприятия
2.Затем перейти в вкладку Юридические лица
3. Открыть карточку Юр.лица
4. Нажать на Ctrl +T, сверху появится значок
5. После нажатия на этот значок появится Редактор сценария
6. Выполнить действия, которые описаны в комментарии ниже
РЕШЕНИЕ ДЛЯ ПСБ:
- ИНН юр.лицо (ID = 15, значение = 10)
- ИНН ИП (ID = 17, значение = 12)
- КПП юр.лицо (ID = 16, значение = 9)
ID параметров можно посмотреть в "Настройке справочников", вкладка "Системные константы". в верхней таблице нажмите на "*" (звездочка) в верхнем левом углу шапки таблицы, поставьте галочку около поля ID_, проверьте, совпадают ли ID, которые получились у вас с теми, что я приложила выше.
Если совпадают - обновите скрипт VBS для юр.лиц в базе ПСБ прилагается VBS_83_Jur_psb.vbs
- ИНН юр.лицо (ID = 15, значение = 10)
- ИНН ИП (ID = 17, значение = 12)
- КПП юр.лицо (ID = 16, значение = 9)
ID параметров можно посмотреть в "Настройке справочников", вкладка "Системные константы". в верхней таблице нажмите на "*" (звездочка) в верхнем левом углу шапки таблицы, поставьте галочку около поля ID_, проверьте, совпадают ли ID, которые получились у вас с теми, что я приложила выше.
Если совпадают - обновите скрипт VBS для юр.лиц в базе ПСБ прилагается VBS_83_Jur_psb.vbs
у нас фактически (видимо из-за моих попыток ввести эти параметры в константы и удаление этих попыток):
- ИНН юр.лицо (ID = 19, значение = 10)
- ИНН ИП (ID = 20, значение = 12)
- КПП юр.лицо (ID = 21, значение = 9)
ждать другой скрипт или как то ID можно поменять?
- ИНН юр.лицо (ID = 19, значение = 10)
- ИНН ИП (ID = 20, значение = 12)
- КПП юр.лицо (ID = 21, значение = 9)
ждать другой скрипт или как то ID можно поменять?
в VBS юр.лица необходимо поправить процедуры VisibleLableINNKPP и GetParamByINNKPP.
GetParamByINNKPP:
строку:
VisibleLableINNKPP :
строки
GetParamByINNKPP:
строку:
if IK = 15 or IK = 16 or IK = 17 thenзаменить на:
if IK = 19 or IK = 20 or IK = 21 thenв комментариях выше - тоже лучше поменять (чтобы комментарии были актуальны)
VisibleLableINNKPP :
строки
if this("BookQuery").ValueByFieldName("ID_ОПФ") = 105 then 'ИП parINN = GetParamByINNKPP(17)заменить на:
else
parINN = GetParamByINNKPP(15)
end if
parKPP = GetParamByINNKPP(16)
if this("BookQuery").ValueByFieldName("ID_ОПФ") = 105 then 'ИП parINN = GetParamByINNKPP(20)
else
parINN = GetParamByINNKPP(19)
end if
parKPP = GetParamByINNKPP(21)
по количеству знаков - ок, проверка работает, спасибо.
на наличие букв и пробелов проверку не планируете делать?
на наличие букв и пробелов проверку не планируете делать?
На данный момент эта проверка стоит в список на выполнения задач и не является приоритетной. Данная проверка будет реализована в следующей версии конфигурации. Если вы хотите это сделать себе сейчас , то это займет час работы программиста.
Customer support service by UserEcho
Вам необходимо зайти в КК под sa в пункт меню Персонал-Структура предприятия.
1.Открыть карточку предприятия
2.Затем перейти в вкладку Юридические лица
3. Открыть карточку Юр.лица
4. Нажать на Ctrl +T, сверху появится значок
5. После нажатия на этот значок появится Редактор сценария
6. Выполнить действия, которые описаны в комментарии ниже