×
Показано с 1 по 26 из 26
  1. #1
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18

    Данные из Зарплата И Кадры

    Я создаю проходную на 1с компоненту для работы с турникетом (регистрация направления прохода и открытие турникета в нужное направление) писал сам ... интересует как мне получить из ЗИК данные о сотрудниках (номер,ФИО,отдел,должность). Выгружая в файлик (DBF) данные приходится выгонять всех из 1с кадровики обычно из за этого буянят. помогите кто чем может очень нужно (((
    Поделиться с друзьями
    Последний раз редактировалось VoLT; 19.07.2008 в 21:55. Причина: уточнил ...

  2. #2
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    Если скажете удобнее написать свою компоненту прошу обьяснить какие процедуры необходимы ... написать компоненту для меня не сложно главное иметь необходимые процедуры

  3. #3
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    что-то я не понимаю...есть обработки по выгрузке справочников в таблицу. ними воспользуйся.

  4. #4
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    да не то это ... я же написал ну что вы так плохо
    выгрузка запускается только в монопольном режиме ...
    а я же говорю мне нужно взять незаметно ну почти не заметно ... ну как будто бы я вошёл в зик и выписал на бумажку всех сотрудников

  5. #5
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    это что за выгрузка? я вам про внешние обработки толкую. с чего вдруг они стали только в монопольном режиме работать

  6. #6
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    давай подробнее ... что то я не пойму ... внешние обработки .. это в зик или мне самому их писать

    ЗЫ моя база называется проходная ... это не зик

  7. #7
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    да но приходится заходить в ЗИК ... запускать обработку ... а это не нужно ...
    Последний раз редактировалось Fosihas; 20.07.2008 в 23:08. Причина: сайт

  8. #8
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    вопрос стоял как это сделать не монопольно..."приходится выгонять всех из 1с кадровики обычно из за этого буянят" а не как не запускать 1с.
    тогда узнать в каком файле хранится список сотрудников, и копировать эту дбф. есть файл в котором написано в какой таблице какой справочник хранится. название не помню.

  9. #9
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    найди дбф (если база не скульная) и копируй его себе. это самый простой вариант
    1Cv7.DD открой в блокноте

  10. #10
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    база скульная

  11. #11
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    Процедура Выполнить()

    ТабСотрудники.НоваяКолонка("Номер");
    ТабСотрудники.НоваяКолонка("Сотрудник");


    ДругаяБаза=СоздатьОбъект("v77.application");
    Открыта=ДругаяБаза.Initialize(ДругаяБаза.RMTrade,,);
    Если Открыта=0 Тогда
    Сообщить("База не была открыта.");
    Возврат;
    КонецЕсли;
    дСотрудники=ДругаяБаза.CreateObject("Справочник.Сотрудники");

    СпрСотр = ДругаяБаза.CreateObject("Справочник.Сотрудники");
    дСотрудники.ВыбратьЭлементы();
    Пока дСотрудники.ПолучитьЭлемент()=1 Цикл
    ТабСотрудники.НоваяСтрока();
    ТабСотрудники.Номер = дСотрудники.Код;
    ТабСотрудники.Сотрудник = дСотрудники.Наименование; //следите за типом колонки!
    КонецЦикла;


    КонецПроцедуры
    Сделал ... но эта процедура работает лишь когда база никем не открыта ((( как исправить это ... как сделать возможным данную процедуру даже если база кем то открыта

  12. #12
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    спроси на мисте. там точно скажут как и быстрее чем тут...
    я не знаю

  13. #13
    Фырчун Аватар для Dracosha Andrew
    Регистрация
    07.02.2002
    Адрес
    Санкт-Петербург
    Сообщений
    2,259
    Господа программисты,
    1. согласно стандарту SQL2 положено произносить эСКуэЛь. "Скуль" произносят только "ораклисты", потому как в документацию Оракла это уточнение никто не догадается внести уже лет 5 как... А может это их политика.
    2. для прямого доступа с SQL ищите компоненту rainbow
    Всех благ!!!
    Чувелёв Андрей

    ps: Всё вышеизложенное является моим частным мнением и не может претендовать на полноту изложения.

  14. #14
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    ок. но так короче

  15. #15
    Fosihas
    Гость
    Цитата Сообщение от VoLT Посмотреть сообщение
    Сделал ... но эта процедура работает лишь когда база никем не открыта ((( как исправить это ... как сделать возможным данную процедуру даже если база кем то открыта

    если

    база скульная
    то не проще прямо в нее обратиться к ней, с праметром только для чтения.


    Да и подключение по Оле не требует монопольное подключение к базе.

  16. #16
    Умный Клерк!
    Регистрация
    07.01.2004
    Адрес
    Владимир
    Сообщений
    13,623
    VoLT, у тебя движок может однопользовательский, вот по ОЛЕ и может коннектится, когда никто в ЗиК не работает?
    p.s. Ищи в инете по ключевой фразе "прямые SQl-запросы". тогда читать можно непосредственно
    1.Открыта новая радиостанция для юзеров под названием RТ FМ. По ней будут транслироваться чтения различных мануалов и ответы на часто задаваемые вопросы.
    2. "Помогая ленивым людям, ты помогаешь им сесть на свою шею" Сян-Цзы

  17. #17
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    нашёл где сотрудники обитают ... с номерами табельными ...
    но там нет отдела и кем работает капец ... есть отдельно таблица с наименованиями отделов и отдельно с профессиями ... как всё это воедино слепить ... пробовал поискать совпадения ... типа номер в строке сотрудника и такой же номер у названий отделов выяснил что нет таких совпадений

  18. #18
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    таблицы как правило соединяются по ключу. так они связаны. ищите во владельце ссылку на подчиненного
    "...мой друг, не надо разводить еще никем не наведенные мосты..." (с) АР

  19. #19
    Кошки рулят
    Гость
    Цитата Сообщение от VoLT Посмотреть сообщение
    Сделал ... но эта процедура работает лишь когда база никем не открыта ((( как исправить это ... как сделать возможным данную процедуру даже если база кем то открыта
    Не лги.
    ДругаяБаза=СоздатьОбъект("v77.application");
    v77 - это ты пытаешься зайти монопольно. Поэтому тебя и не пускают, если в базе кто-то есть.
    Тебе нужен объект v77s

  20. #20
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    Цитата Сообщение от rasswet Посмотреть сообщение
    таблицы как правило соединяются по ключу. так они связаны. ищите во владельце ссылку на подчиненного
    я незнаю где там искать но попробую ... эмм а за совет спасибо ... кошки реально рулят

  21. #21
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    да .. кстати поглядел ... по ключам никак ... или я что то не догоняю или меня этот ЗИК сведёт с ума

  22. #22
    вне статуса Аватар для rasswet
    Регистрация
    03.06.2008
    Адрес
    Москва
    Сообщений
    649
    VoLT, ну таблицы только так и соединяются...в одной есть ссылка на другую...иначе никак..и в 1с и в sql...может так?
    "...обеспечивает для связанных таблиц контроль за соблюдением следующих условий:

    * В подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;
    * В главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
    * Изменение значений ключа связи в записи главной таблицы невозможно, если в подчиненной таблице имеются связанные с ней записи."
    "...мой друг, не надо разводить еще никем не наведенные мосты..." (с) АР

  23. #23
    Умный Клерк!
    Регистрация
    07.01.2004
    Адрес
    Владимир
    Сообщений
    13,623
    Цитата Сообщение от Кошки рулят Посмотреть сообщение
    Не лги.
    ДругаяБаза=СоздатьОбъект("v77.application");
    v77 - это ты пытаешься зайти монопольно. Поэтому тебя и не пускают, если в базе кто-то есть.
    Тебе нужен объект v77s
    не надо ля-ля.
    v77s появится, если ставился скульный движок.
    1.Открыта новая радиостанция для юзеров под названием RТ FМ. По ней будут транслироваться чтения различных мануалов и ответы на часто задаваемые вопросы.
    2. "Помогая ленивым людям, ты помогаешь им сесть на свою шею" Сян-Цзы

  24. #24
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    Немогу вытащить по OLE ещё один параметр работает ли сотрудник

    вытаскивается он
    Если ПустоеЗначение(глРаботалСотрудник(Сотр.ТекущийЭлемент(), ТекущаяДата(), ТекущаяДата())) = 1 Тогда // определяем работает ли сотредник
    Сообщить("Сотрудник "+Сотр.ТекущийЭлемент() +" не работает") //Если не работает


    и просто
    Если ПустоеЗначение(Справочник.Сотрудники.СостояниеФизлица) = 1 тогда Сообщить("Сотрудник "+Сотр.ТекущийЭлемент() +" не работает")

  25. #25
    Клерк
    Регистрация
    19.07.2008
    Сообщений
    18
    выборкой и прочим не могу ... получаю надпись OLE

  26. #26
    Аноним
    Гость
    сдвинется с мёртвой точки дело или нет? интересно узнать

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)