форум поддержки 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/ |