![](/s/cache/27/22/2722ce7b258bf1bf8cec8a0e9319ab6a.png)
0
Fixed
ИНН для ИП
ввожу юридическое лицо у организации, указываю в качестве ОПФ – «ИП». Вводим ИНН 12 знаков, «вылазит» предупреждение, что ИНН должен быть 10 символов.
как бы не ошибка, но немного напрягает
как бы не ошибка, но немного напрягает
Answer
![](/s/cache/af/3c/af3c8d962123e442a6231a58785e3ec1.png)
Да. Этот нюанс имеет место быть.
Подготовим решение и в ближайшее время выложим сюда инструкцию, как, что и где поменять, что бы при выборе ИП данная проверка не производилась.
![](/s/cache/27/22/2722ce7b258bf1bf8cec8a0e9319ab6a.png)
какое-то неправильное исправление:
1. второй диапазон указан неправильно, по крайней мере у нас скрипт выглядит таким образом:
2. этим исправлением мы вообще проверку ИНН отключили на количество знаков, независимо от ОПФ.
ps а проверки на, то что в ИНН должны быть только цифры - тоже нет?
1. второй диапазон указан неправильно, по крайней мере у нас скрипт выглядит таким образом:
2. этим исправлением мы вообще проверку ИНН отключили на количество знаков, независимо от ОПФ.
ps а проверки на, то что в ИНН должны быть только цифры - тоже нет?
![](/s/cache/18/4a/184acfbad23b8f19f61895b9cff772f2.png)
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
![](/s/cache/27/22/2722ce7b258bf1bf8cec8a0e9319ab6a.png)
1) Режим "Настройки параметров системы", создаем три системные константы, в которых указываем длину ИНН и КПП (в символах) :не понял где создать эти константы?
- ИНН юр.лицо (ID = 18, значение = 10)
- ИНН ИП (ID = 19, значение = 12)
- КПП юр.лицо (ID = 20, значение = 9)
![](/s/cache/af/3c/af3c8d962123e442a6231a58785e3ec1.png)
В "КлиК", "Утилиты" -> "Настройка справочников" и там вкладка "Системные константы". В этот список и нужно добавлять новые константы.
![](/s/cache/27/22/2722ce7b258bf1bf8cec8a0e9319ab6a.png)
системные константы нашел, вижу 2 варианта: верхнее и нижнее (картинки прилагаю)
вроде как в верхнем надо вводить, но в какие поля надо ввести указанные выше данные, не понимаю
вроде как в верхнем надо вводить, но в какие поля надо ввести указанные выше данные, не понимаю
![](/s/cache/af/3c/af3c8d962123e442a6231a58785e3ec1.png)
Создавать константы необходимо в верхнем списке.
- Наименование = КПП юр.лицо , значение = 9
Порядок добавления следующий:
- Наименование = ИНН юр.лицо , значение = 10
- Наименование = ИНН ИП , значение = 12 - Наименование = КПП юр.лицо , значение = 9
![](/s/cache/af/3c/af3c8d962123e442a6231a58785e3ec1.png)
Answer
Fixed
Вам необходимо зайти в КК под sa в пункт меню Персонал-Структура предприятия.
1.Открыть карточку предприятия
2.Затем перейти в вкладку Юридические лица
3. Открыть карточку Юр.лица
4. Нажать на Ctrl +T, сверху появится значок
5. После нажатия на этот значок появится Редактор сценария
6. Выполнить действия, которые описаны в комментарии ниже
![](/s/cache/18/4a/184acfbad23b8f19f61895b9cff772f2.png)
РЕШЕНИЕ ДЛЯ ПСБ:
- ИНН юр.лицо (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
![](/s/cache/27/22/2722ce7b258bf1bf8cec8a0e9319ab6a.png)
у нас фактически (видимо из-за моих попыток ввести эти параметры в константы и удаление этих попыток):
- ИНН юр.лицо (ID = 19, значение = 10)
- ИНН ИП (ID = 20, значение = 12)
- КПП юр.лицо (ID = 21, значение = 9)
ждать другой скрипт или как то ID можно поменять?
- ИНН юр.лицо (ID = 19, значение = 10)
- ИНН ИП (ID = 20, значение = 12)
- КПП юр.лицо (ID = 21, значение = 9)
ждать другой скрипт или как то ID можно поменять?
![](/s/cache/18/4a/184acfbad23b8f19f61895b9cff772f2.png)
в 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)
![](/s/cache/27/22/2722ce7b258bf1bf8cec8a0e9319ab6a.png)
по количеству знаков - ок, проверка работает, спасибо.
на наличие букв и пробелов проверку не планируете делать?
на наличие букв и пробелов проверку не планируете делать?
![](/s/cache/b7/d2/b7d27a4fa8c9fe1b7dc853707dbbece9.png)
На данный момент эта проверка стоит в список на выполнения задач и не является приоритетной. Данная проверка будет реализована в следующей версии конфигурации. Если вы хотите это сделать себе сейчас , то это займет час работы программиста.
Customer support service by UserEcho
Вам необходимо зайти в КК под sa в пункт меню Персонал-Структура предприятия.
1.Открыть карточку предприятия
2.Затем перейти в вкладку Юридические лица
3. Открыть карточку Юр.лица
4. Нажать на Ctrl +T, сверху появится значок![](/s/attachments/201111/i_99.png)
5. После нажатия на этот значок появится Редактор сценария
6. Выполнить действия, которые описаны в комментарии ниже