Смотрим таблицу журнала расчетов:
.........
F=IDALG | |C |4 |0
.........
Смотрим некий документ, у которого имеется реквизит шапки "Расчет", тип - ВидРасчета. Смотрим в ДД:
..........
F=SP954 |(P)Расчет |C |13 |0
..........
Почему С(13)? Смотрим в дбф, там значения типа " 0 "+4 знака ИДРасчета. Зачем?
Вообще, мне нужно вот, что: заменть в журнале расчетов в ряде записей Один вид расчета на др.
)));
Поз=Найти(Стр," ");
ЗаменяемыйРасчет=Прав(_IdToStr(Число(СокрЛП(Сред(Стр,Поз,10)))),4);
а()));
Поз=Найти(Стр," ");
НовыйРасчет=Прав(_IdToStr(Число(СокрЛП(Сред(Стр,Поз,10)))),4);
глКоманда.Отладка(1);
Запрос="
//|select * from CJ447
|UPDATE
| CJ447
|SET
| CJ447.IDALG=:НовыйРасчет
|WHERE
| CJ447.IDDoc=:ДокОснование
| AND CJ447.IDALG=:ЗаменяемыйРасчет
|";
глКоманда.УстановитьТекстовыйПараметр("ДокОснование",ДокОснование);
глКоманда.УстановитьТекстовыйПараметр("ЗаменяемыйРасчет",ЗаменяемыйРасчет);
глКоманда.УстановитьТекстовыйПараметр("НовыйРасчет",НовыйРасчет);
h=глКоманда.ВыполнитьИнструкцию(Запрос);
h.выбратьСтроку();
Запрос="
|UPDATE
| DH952
|SET
| DH952.SP954=:НовыйРасчет
|WHERE
| DH952.IDDoc=:ДокОснование
| AND DH952.SP954=:ЗаменяемыйРасчет
|";
глКоманда.УстановитьТекстовыйПараметр("ДокОснование",ДокОснование);
глКоманда.УстановитьТекстовыйПараметр("ЗаменяемыйРасчет"," 0 "+ЗаменяемыйРасчет);
глКоманда.УстановитьТекстовыйПараметр("НовыйРасчет"," 0 "+НовыйРасчет);
глКоманда.ВыполнитьИнструкцию(Запрос);
В документах вид расчета меняется, в журнале - нет, т.е. если посматреть в табл., то, конечно, изменился, если открыть ЖР в 1С - там стоит старый вид расчета. Где я что-то упускаю?