форум поддержки VSGroup
https://forum.vsgroup.ua/

Загрузка из 1С в WC для оптимизации
https://forum.vsgroup.ua/viewtopic.php?f=74&t=1825
Страница 1 из 1

Автор:  TerentyevSergey [ 05 июл 2011, 17:47 ]
Заголовок сообщения:  Загрузка из 1С в WC для оптимизации

1. когда выгружаем основные изделия, в таблице есть уникальный номер (ID).
я записываю его в свою карточку ТМЦ и при выгрузке для оптимизации
нахожу эту строку в соответствующей таблице (CONSTRUKTION) и записываю туда № Заказа и № Наряда.
т.е. с окнами это понятно.

2. Аналогично надо сделать для таблицы CONSTRUCTION_SPROFS, но как найти строку, я не вижу
(т.е. не вижу идентификатора строки).

когда я разрабатывал выгрузку из WC в 1С, этой таблицы еще не было в природе.
в выгрузку я брал данные из другой таблицы (CONSTRUCTION_COMPL). теперь мне надо понимать соответствие строк в "старой"
таблице и в "новой". Т.е. в идеале это уникальное поле в этих таблицах должно совпадать.

Автор:  Николай@VSGroup [ 06 июл 2011, 12:57 ]
Заголовок сообщения:  Re: Загрузка из 1С в WC для оптимизации

Я делал так:

1. Если позиция спецификации calcrepu имеет поле NOK более нуля, тогда:

select ExtRem from constructions_kompl where pid=constructions.ID and nok=calcrepu.nok

2. Если NOK=0, тогда ExtRem=constructions.extrem
далее делаю запрос
select * from constructions_sprofs where pid=constructions.ID
и для каждой строк проверяю, если constructions_sprofs.id входит в calcrepu.bid, тогда EXtRem=constructions_sprofs.extrem

P.S. Оригинальный код:

Код:
ExtRem:='';                       
  if profiles_table.dataset.fieldbyname('NOK').asinteger=0 then
    begin                         
    ExtRem:=constructions_table.dataset.fieldbyname('ExtRem').asstring;

    ExecQueryO('select * from constructions_sprofs where pid='+constructions_table.dataset.fieldbyname('ID').asstring);
    iwqo_table.dataset.first;
    while not iwqo_table.dataset.eof do
      begin
      if pos(','+iwqo_table.dataset.fieldbyname('ID').asstring+',',','+profiles_table.dataset.fieldbyname('IDS').asstring+',')>0 then
        ExtRem:=iwqo_table.dataset.fieldbyname('ExtRem').asstring;                                                                                                                 

      iwqo_table.dataset.next;                   
      end;               
     
    end else                   
      begin
      ExecQueryO('select * from constructions_kompl where pid='+constructions_table.dataset.fieldbyname('ID').asstring+' and nok='+profiles_table.dataset.fieldbyname('NOK').asstring);
      ExtRem:=iwqo_table.dataset.fieldbyname('ExtRem').asString;
      end;

Автор:  TerentyevSergey [ 06 июл 2011, 14:54 ]
Заголовок сообщения:  Re: Загрузка из 1С в WC для оптимизации

ок, Николай, спасибо, буду изучать.

Страница 1 из 1 Часовой пояс: UTC + 2 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/