Страница 6 из 6 ПерваяПервая ... 23456
Показано с 51 по 55 из 55

Тема: Импорт комплектов из StoreHouse через Ole

  1. #51
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    Насколько мне известно, непосредственно из программистов, кто занимался OLE SH4, здесь был только brambrulet, но он в последнее время не заходит.
    Мои программисты здесь не сидят, и просить их не буду - колхоз дело добровольное. Потому что все весьма сложно. Тут "подсказать алгоритм" - это сделать его.

    Цитирую чат нашего программиста (А) с заказчиком аналогичной задачи (Q)

    Q: Вообще вопрос возник так: в ркипер импортируется себестоимость из SH кнопкой
    Q: Эта себестоимость устраивает, но никто не будет жать кнопку каждый день
    Q: Фактически, раз ркипер умеет запрашивать у SH по команде эту цифру, значит она где-то в сторе хранится в явном виде
    A: Не факт...
    A: Ой не факт...
    Q: Вряд ли она рассчитываться начинает по запросу
    A: Скорее всего
    A: Почти уверен, что так
    Q: Тогда значит кипер умеет запускать эту процедуру
    Q: В любом случае алгоритм такой есть. Раскопать бы )
    A: По поводу расчета наверняка
    A: SH очень много всего на лету быстро считать умеет
    Q: Как бы понять что за команду формирует ркипер
    Q: Ну и тогда просто ее повторить внешним скриптом ))
    A: Ну чтото я не очень вижу прям экпорт в RK
    A: Есть Экспорт свойст комплектов. Надо смотреть что он делает. А так свойства калькуляций
    A: Они кстати могут сильно расходитя с тем что в RK приходит. Надо понимать какие цифры приходят. Нужен доступ к SH и RK. Чтоб понимать что за цифры в него грузятся и сравнивать их с результатами процедур
    A: Кстати это зачастую единственный способ понять что за колонки возвращает SH - сравнивать цифры
    Q: ну мы так и сделали ))
    Q: мы сделали импорт в РК, сказали клиенту какие цифры пришли (себестоимость) и клиент подтвердил что правильно
    A: Я имел ввиду результаты работы процедуры SHOle и сам SH
    A: Потому что большинство полей не документировано
    A: Поясняю
    A: [ Photo ]
    A: Это список процедур. Он сам по себе немаленький)
    A: А вот что возвращает например CmHdr
    A: [ Photo ]
    A: Она возвращает 5 таблиц
    A: Это список колонок
    A: Так вот. Доков нету)
    A: приходится играть в Шерлокхолмсов)
    A: тут поле 200.5.1
    A: поля таблиц не описаны
    A: SH - это левелап)
    A: Это квест)
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  2. #52
    Новичок
    Регистрация
    01.03.2016
    Адрес
    Москва
    Сообщений
    18
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Все это очень увлекательно, но совершенно бесполезно. Возвращаясь к сообщению

    Собственно, насколько мне известно, OLE - это лишь внешний интерфейс для существующих процедур, там ничего специально не написано.
    Но да, конкретно такую задачу - не решали даже. Была задача вытянуть посчитанную себестоимость из накладныех - вытягивали накладные и разбирали.
    хочется узнать, как вытянуть накладные, чтобы в них была посчитанная себестоимость. Раз уж такую задачу вы решали...
    Последний раз редактировалось Narratius; 28.03.2016 в 19:30. Причина: пунктуация

  3. #53
    Новичок
    Регистрация
    18.10.2015
    Адрес
    С-Пб
    Сообщений
    3
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    хватит это терпеть

    сколько лет сколько зим, код на 1с для получения материалов вхожих в комплект по РИД на дату
    AppID = "Sh4Ole.Sh4App"; sh = новый COMОбъект(AppID);
    Addr = "00.00.000.000";
    Port = "2007";
    Таймаут = "30000"; // таймаут полминуты ну совсем плохой инет
    Протокол = "Ta"; // ТСП\ИП
    sh.SetServerName (Addr + Протокол +Port+ "t"+ Таймаут);
    if sh.DBLoginEx("Admin", "") <> 0 then
    сообщить("Фейл логина");
    возврат;
    конецесли;
    procname = "CmItemsRpt";
    IndQuery = Sh.pr_CreateProc(ProcName);
    if sh.GetExcMessage() <> "OK" тогда
    сообщить(sh.GetExcMessage());
    sh.DBLogout();
    возврат;
    конецесли;
    sh.pr_SetValByName(IndQuery, 0, "200.1.0", 169); // 169 - RID комплекта
    sh.pr_SetValByName(IndQuery, 0, "0.1.0", текущаядата()); // дата, на которую берем комплект
    sh.pr_ExecuteProc(IndQuery);
    IndexDS =1;
    номерстрокидетализированн огокомплекта = 1;
    while sh.pr_EOF( IndQuery,IndexDS )<>1 do
    числ = sh.pr_FieldCount(IndQuery, IndexDS);
    Сообщить("Номер строки: "+номерстрокидетализирован ногокомплекта);
    для сч = 0 по числ-1 цикл
    ик = sh.pr_FieldName(IndQuery, IndexDS, сч);
    сообщить("Колонка = " + ик + " Значение = " + sh.pr_ValByNumber(IndQuery, IndexDS, сч));
    конеццикла;
    номерстрокидетализированн огокомплекта= номерстрокидетализированн огокомплекта+1;
    sh.pr_Next(IndQuery,IndexDS);
    конеццикла;
    sh.pr_CloseProc(IndQuery);
    sh.DBLogout();
    Последний раз редактировалось SH; 23.07.2016 в 14:09. Причина: упс спалил айпишник

  4. #54
    Новичок
    Регистрация
    18.10.2015
    Адрес
    С-Пб
    Сообщений
    3
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    очень странно, код неожиданно прерывается и имя переменной искажено, но если нажать на кнопку"ответить с цитированием", то в темплейте сообщения можно увидить компилируемый 1ской код

  5. #55
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,362
    Поблагодарил(а)
    188
    Благодарностей: 461 (сообщений: 364)
    Движок форума не любит длинныхсловбезпроделов
    Код:
    AppID = "Sh4Ole.Sh4App";    sh =  новый COMОбъект(AppID);
        Addr = "00.00.000.000";
        Port = "2007";
        Таймаут = "30000"; // таймаут полминуты ну совсем плохой инет
        Протокол = ":pTa"; // ТСП\ИП
        sh.SetServerName (Addr + Протокол +Port+ "t"+ Таймаут);
        if sh.DBLoginEx("Admin", "") <> 0 then
            сообщить("Фейл логина");
            возврат;
        конецесли;
        procname = "CmItemsRpt";    
        IndQuery = Sh.pr_CreateProc(ProcName); 
        if sh.GetExcMessage() <> "OK" тогда
            сообщить(sh.GetExcMessage());
            sh.DBLogout();
            возврат;
        конецесли;       
        sh.pr_SetValByName(IndQuery, 0, "200.1.0", 169); // 169 - RID комплекта
        sh.pr_SetValByName(IndQuery, 0, "0.1.0", текущаядата());  // дата, на которую берем комплект
        sh.pr_ExecuteProc(IndQuery);  
        IndexDS =1;     
        номерстрокидетализированногокомплекта = 1;
        while sh.pr_EOF( IndQuery,IndexDS )<>1  do             
            числ = sh.pr_FieldCount(IndQuery, IndexDS);            
            Сообщить("Номер строки: "+номерстрокидетализированногокомплекта);
            для сч = 0 по числ-1 цикл                           
                ик = sh.pr_FieldName(IndQuery, IndexDS, сч);
                сообщить("Колонка = " + ик + " Значение = " + sh.pr_ValByNumber(IndQuery, IndexDS, сч));
            конеццикла;
            номерстрокидетализированногокомплекта=номерстрокидетализированногокомплекта+1;
            sh.pr_Next(IndQuery,IndexDS);    
        конеццикла;
        sh.pr_CloseProc(IndQuery);
        sh.DBLogout();
    Ильин Александр, Компания "Соттос"
    г Новосибирск +7 (383) 373-96-98; +7 (909) 533-93-92; nsk@sottos.ru
    г Омск +7 (3812) 377-902; +7 (905) 098-92-06; abc@sottos.ru
    www.sottos.ru | vk.com/sottos | fb.com/sottosru
    Продажа и установка ПО R-Keeper, обучение, техническая поддержка 24/7

Страница 6 из 6 ПерваяПервая ... 23456

Похожие темы

  1. Ответов: 22
    Последнее сообщение: 07.04.2015, 16:51
  2. Возможен ли импорт данных в StoreHouse из 1С через OLE?
    от Almv в разделе OLE и обмен данными с 1С
    Ответов: 3
    Последнее сообщение: 06.11.2013, 17:43
  3. Можно ли делать экспорт-импорт комплектов
    от Юлия в разделе SH: Технические вопросы
    Ответов: 1
    Последнее сообщение: 15.04.2010, 13:23
  4. импорт комплектов из SH4
    от A_Yes в разделе SH: Организация и ведение учета
    Ответов: 1
    Последнее сообщение: 24.10.2009, 13:27
  5. StoreHouse через терминальный доступ
    от Andry777 в разделе SH: Технические вопросы
    Ответов: 12
    Последнее сообщение: 05.06.2009, 02:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •