Проверка СИКов в Зарплата и кадры 7.70.027
|
|
#1 Пн Сен 08, 2008 10:25:27
|
|
|
База знаний http://www.balans.kz/viewtopic.php?p=108098#108098
Здравствуйте. Помогите пожалуйста
При формировании Списка пенсионных отчислений РНН проверяет, а СИКи нет - выдает ошибку Не обнаружен модуль проверки СИКов (Файл "RICFor1C.exe")
И следующий вопрос: после записи списка пенсионных отчислений, при вводе на подчиненного документа - платежное поручение
ошибка
Сумма = Основание.Итог("Сумма") + Основание.Комиссия;
{Документ.ПлатежноеПоручение.Форма.Модуль(72)}: Поле агрегатного объекта не обнаружено (Комиссия)
Если я в конфигурации убираю + Основание.Комиссия, то начинает работать, можно так?
А вот с СИКами не могу разобраться...
Добавлено спустя 18 минут 18 секунд:
Может это нужно...
Процедура ПоКнопкеПроверить()
Меню = СоздатьОбъект("СписокЗначений");
Меню.ДобавитьЗначение("СИКи", "Проверить СИКи");
Меню.ДобавитьЗначение("РНН", "Проверить РНН");
Ответ = "";
Если Меню.ВыбратьЗначение(Ответ, "Выберите вид данных", , , 1) = 1 Тогда
Если Ответ = "СИКи" Тогда
глТЗСИК.УдалитьСтроки();
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если Сотрудник.Выбран() = 1 Тогда
глТЗСИК.НоваяСтрока();
глТЗСИК.Наименование = Сотрудник.Наименование;
глТЗСИК.ФИОСИКа = Сотрудник.ФИОСИКа;
глТЗСИК.ДатаРождения = Сотрудник.ДатаРождения;
глТЗСИК.СИК = Сотрудник.СИК;
КонецЕсли;
КонецЦикла;
глПроверитьСИКи();
Иначе
глТЗРНН.УдалитьСтроки();
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Если Сотрудник.Выбран() = 1 Тогда
глТЗРНН.НоваяСтрока();
глТЗРНН.Наименование = Сотрудник.Наименование;
глТЗРНН.РНН = Сотрудник.РНН;
КонецЕсли;
КонецЦикла;
глПроверитьРНН();
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ПоКнопкеПроверить()
|
|
За помощь кликните ′Спасибо′ →
|
|
|
d.Fedor
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
d.Fedor
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#5 Пн Сен 08, 2008 13:56:51
|
|
|
Поиском я пользовался, и эта ссылка на СИК в 8 версии, и что-то нечего похожего я там не нашел...
Файл "RICFor1C.exe")?
Прошу помощи...
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#6 Пн Сен 08, 2008 14:08:54
|
|
|
Код: |
Функция СгенерироватьСИК(Сотр) Экспорт
Если ГенСИК=0 Тогда
Возврат "000000000000000T";
КонецЕсли;
Фамилия=ВРег(Сотр.ФамилияПриРегистрации);
Имя=ВРег(Сотр.ИмяПриРегистрации);
Отчество=ВРег(Сотр.ОтчествоПриРегистрации);
ДатаР=Формат(Сотр.ДатаРожд,"ДДДММГГГГ");
СтрДатаР=Лев(ДатаР,2)+Сред(ДатаР,4,2)+Прав(ДатаР,4);
Пар = СокрЛП(Фамилия)+СокрЛП(Имя)+СокрЛП(Отчество)+СокрЛП(СтрДатаР);
СтрСИК = ГенСИК.GetSPC(Пар);
Возврат СтрСИК;
КонецФункции
ГенСИК=0;
Если ЗагрузитьВнешнююКомпоненту("rainbow.dll")=1 Тогда
// в Windows\System необходимо наличие библиотек mfc42.dll и msvcrt.dll
tsric32="tsric321.dll";
Если ФС.СуществуетФайл(ФС.WindowsКаталог()+"\"+tsric32)=0 Тогда
Если ФС.СуществуетФайл(КаталогИБ()+tsric32)=1 Тогда
ФС.КопироватьФайл(КаталогИБ()+tsric32,ФС.WindowsКаталог()+"\"+tsric32,0);
ГенСИК = СоздатьОбъект("Math");
КонецЕсли;
Иначе
ГенСИК = СоздатьОбъект("Math");
КонецЕсли;
КонецЕсли;
Если ГенСИК=0 Тогда
Сообщить("Не удается загрузить внешнюю компоненту формирования СИК.","!");
КонецЕсли;
|
Объявить не забудьте перем ГенСИК в экспорт, если нужно.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#7 Пн Сен 08, 2008 15:37:36
|
|
|
Compas
а можно для особо одаренных поподробнее, эти файлики положить в конфигурацию, а код куда поместить?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#8 Пн Сен 08, 2008 15:50:43
|
|
|
Пути к файлам описаны в коде. Их положить в папку с базой. Код можете положить в глобальный модуль а можете в саму модуль формы.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#10 Пн Сен 08, 2008 16:46:12
|
|
|
Надо учиться, иначе как я Вам объясню? Если только мд мне скинете, я под настроение сделаю сегодня вечером.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#11 Пн Сен 08, 2008 17:31:16
|
|
|
Конечно Compas, вы абсолютно правы, буду дома пробовать вечерком, файлы положить я смогу, а вот в какую часть процедуры проверки СИКа, воткнуть этот код не знаю...
А под мд вы что имеете в виду?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
d.Fedor
Нерезидент Баланса
|
|
|
|
#12 Вт Сен 09, 2008 07:36:13
|
Сообщить модератору
|
|
Алекс Мневис тогда прежде чем вообще что-то делать, поищите в интернете уроки по программированию в 7.7, их воз и маленькая тележка. А если очень надо, то заплатите маленькую денюжку специалисту... С вашими "знаниями" увы далеко не уедеш в данный момент...
Добавлено спустя 9 минут 10 секунд:
Алекс Мневис тогда прежде чем вообще что-то делать, поищите в интернете уроки по программированию в 7.7, их воз и маленькая тележка. А если очень надо, то заплатите маленькую денюжку специалисту... С вашими "знаниями" увы далеко не уедеш в данный момент...
|
|
За помощь кликните ′Спасибо′ →
|
|
|
т.Сема
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#14 Вт Сен 09, 2008 08:38:01
|
|
|
Алекс Мневис нужны основы. Федор прав. Может ссылок Вам дать?
Добавлено спустя 40 секунд:
т.Сема это не клава. Инет.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#15 Вт Сен 09, 2008 11:36:06
|
|
|
Compas говорит: |
Алекс Мневис нужны основы. Федор прав. Может ссылок Вам дать?
|
Да, буду благодарен
Добавлено спустя 2 минуты 28 секунд:
Хотя вчера пытался "методом тыка"
Получалось вот это...
Если ГенСИК<<?>>=0 Тогда
{Документ.СписокПенсионныхОтчислений.Форма.Модуль(325)}: Переменная не определена (ГенСИК)
СтрСИК = ГенСИК<<?>>.GetSPC(Пар);
{Документ.СписокПенсионныхОтчислений.Форма.Модуль(334)}: Переменная не определена (ГенСИК)
<<?>>Процедура ВводНаОсновании(Основание)
{Документ.СписокПенсионныхОтчислений.Форма.Модуль(358)}: Определения процедур и функций должны размещаться перед операторами основной программы
|
|
За помощь кликните ′Спасибо′ →
|
|
|
d.Fedor
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|