27.11.2006 04:25
BR
 
В общем есть необходимость изменить тип операции документа "расходная накладная", сейчас стоит "передача товара" необходимо поставить "продажа", как это сделать? Документов порядка 5000 штук *01 кто , что подскажет?
27.11.2006 09:14
OlegON
 
Скриптом теретически можно, но опасно, там и на налоги завязка будет... Я так понимаю, доки уже проведенные и дергать их в черновик нехорошо будет? Цель действа? По идее - дернуть их в черновик, переставить OPCODE в SMDOCUMENTS и дернуть обратно... А что с рассылкой? Где они еще лежат? Там их грохнуть сначала надо. И везде, где это будет - пересчитать аналитику. Вот, что первое в голову приходит. Бэкапы там и прочее само собой... И обязательно ДО операций убедиться, что все констрейнты и триггеры включены, а структура базы соответствует эталону.
27.11.2006 09:20
BR
 
Цитата:
olegon ...переставить OPCODE в SMDOCUMENTS и дернуть обратно...
каким образом это проделать??? я с Ораклом никак абсолютно.
Доки лежат в одной БД и никуда не пересылались, аналитику само собой пересчитаю.
27.11.2006 09:33
OlegON
 
Какой признак для выделения этих расходов среди других?
27.11.2006 09:37
BR
 
Все расходки сделаны с 3-х определенных МХ (складов).
МХ имеют одно начало названий "ЦС ("
27.11.2006 09:38
inna
 
Дернуть обратно - видимо поменять опять статус на зеленый. Так, olegon? Есть таблица SMDOCUMENTS. В ней поле OPCODE - код операции (если операции простые - не пользовательские).
UPDATE SMDOCUMENTS SET OPCODE=1 WHERE OPCODE=10
если надо поменять все такие накладные
27.11.2006 09:46
inna
 
тогда так?
UPDATE SMDOCUMENTS SET OPCODE=1 WHERE OPCODE=10 and locationfrom in (select id from SMSTORELOCATIONS where substr(name,1,4)='ЦС (')
27.11.2006 10:22
OlegON
 
Да, дернуть обратно - в "Принят полностью". Раз человек нулевой в Оракле, то еще commit; сделать не забыть. А в целом - тогда и браться бы не надо.
27.11.2006 10:30
BR
 
1. обязательный архив БД
2. SELECT * FROM SMDOCUMENTS WHERE OPCODE=10 and locationfrom in (select id from SMSTORELOCATIONS where substr(name,1,4)='ЦС (')
3. Если все нормально ОК делаю UPDATE/COMMIT

Правильно или нет?

PS. olegon надо ведь когда то позновать неизвестное *07
27.11.2006 10:38
OlegON
 
1. обязательный архив БД
2.
Код:
SELECT * FROM SMDOCUMENTS WHERE OPCODE=10 and locationfrom in (select id from SMSTORELOCATIONS where substr(name,1,4)='ЦС (');
3.
Код:
UPDATE SMDOCUMENTS SET OPCODE=1 WHERE OPCODE=10 and locationfrom in (select id from SMSTORELOCATIONS where substr(name,1,4)='ЦС (');
commit;
Дело не в познании, а напортачить можешь. Познают на тестовых базах.
Часовой пояс GMT +3, время: 10:55.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.