Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Изменение значение в строках документа (число прочтений - 2698 )
ShEvA
Экс-Участник


Изменение значение в строках документа
24. Октября 2008 :: 14:02
Печать  
Идея проста нужно поменять значение цен и их сум. в выбраном документе.
вот собсно текст подскажите что не так:
Код
Выбрать все
	|UPDATE $Документ.РасходнаяНакладная
	|SET
	|	$ДокC.ЦенаБезНДС = $ПоследнееЗначение.ТМЦ.Цена1($ДокC.ТМЦ, CAST(SUBSTRING(Док.Date_Time_IDDoc,1,8) as DateTime))
	|	,$ДокC.ЦенаСНДС = $ПоследнееЗначение.ТМЦ.Цена1($ДокC.ТМЦ, CAST(SUBSTRING(Док.Date_Time_IDDoc,1,8) as DateTime)) / 6
	|FROM $ДокументСтроки.РасходнаяНакладная ДокC
	|	LEFT JOIN $Документ.РасходнаяНакладная as Док ON Док.IDDoc = ДокС.IDDoc
	|WHERE Док.IDDOC = :ВыбДок 



выдает ошибку:
Код
Выбрать все
State 42000, native 1032, message [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot use the column prefix 'ДокC'. This must match the object in the UPDATE clause 'dt1157'. 



когда меняю |UPDATE $Документ.РасходнаяНакладная на |UPDATE $ДокументСтроки.РасходнаяНакладная

выдает ошибку:
Код
Выбрать все
State 42000, native 1032, message [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot use the column prefix 'ДокC'. This must match the object in the UPDATE clause 'dt1157'. 

  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Изменение значение в строках документа
Ответ #1 - 24. Октября 2008 :: 14:19
Печать  
Код
Выбрать все
UPDATE ДокC 

  
Наверх
ICQ  
IP записан
 
ShEvA
Экс-Участник


Re: Изменение значение в строках документа
Ответ #2 - 24. Октября 2008 :: 14:24
Печать  
Код
Выбрать все
State 42000, native 107, message [Microsoft][ODBC SQL Server Driver][SQL Server]The column prefix 'ДокС' does not match with a table name or alias name used in the query. 

  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Изменение значение в строках документа
Ответ #3 - 24. Октября 2008 :: 14:39
Печать  
Че, не угадал чтоли?
Сейчас тогда посмотрю запрос Улыбка
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Изменение значение в строках документа
Ответ #4 - 24. Октября 2008 :: 14:49
Печать  
Так, что-то тут не то...
Мой вариант с алиасом должен работать. Покажи запрос, который выкидывает ошибку.
  
Наверх
ICQ  
IP записан
 
ShEvA
Экс-Участник


Re: Изменение значение в строках документа
Ответ #5 - 24. Октября 2008 :: 14:52
Печать  
Код
Выбрать все
	|UPDATE ДокC
	|SET
	|	$ДокC.ЦенаБезНДС = $ПоследнееЗначение.ТМЦ.Цена1($ДокC.ТМЦ, :КонДата) - ($ПоследнееЗначение.ТМЦ.Цена1($ДокC.ТМЦ, :КонДата) / 6 )
	|	,$ДокC.ЦенаСНДС = $ПоследнееЗначение.ТМЦ.Цена1($ДокC.ТМЦ, :КонДата)
	|FROM $ДокументСтроки.РасходнаяНакладная as ДокC
	|WHERE ДокC.IDDOC = :ВыбДок
	|"; 



Если жостко указываю дату то работает, но ведь мне нуно дату брать с документа ....
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Изменение значение в строках документа
Ответ #6 - 24. Октября 2008 :: 15:01
Печать  
Ты думаешь, что мне будет проще, если после каждого F5 я вижу другой запрос?
  
Наверх
ICQ  
IP записан
 
ShEvA
Экс-Участник


Re: Изменение значение в строках документа
Ответ #7 - 24. Октября 2008 :: 15:05
Печать  
последняя версия  Смущённый
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Изменение значение в строках документа
Ответ #8 - 24. Октября 2008 :: 15:10
Печать  
Код
Выбрать все
UPDATE ДокC SET
	$ДокC.ЦенаБезНДС = $ПоследнееЗначение.ТМЦ.Цена1($ДокC.ТМЦ, CAST(LEFT(Jrn.date_time_iddoc, 8)) as datetime)
FROM $ДокументСтроки.РасходнаяНакладная as ДокC (NOLOCK)
INNER JOIN _1sjourn as Jrn (NOLOCK) ON Jrn.iddoc = ДокC.iddoc
WHERE
	ДокC.iddoc = :ВыбДок
 



Пальцем в небо..
  
Наверх
ICQ  
IP записан
 
ShEvA
Экс-Участник


Re: Изменение значение в строках документа
Ответ #9 - 24. Октября 2008 :: 15:20
Печать  
заработало, спасибо огромное.

а можно ли после изменения перепровести док в запросе
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Изменение значение в строках документа
Ответ #10 - 24. Октября 2008 :: 15:29
Печать  
Цитата:
а можно ли после изменения перепровести док в запросе


(по-еврейски так) А че нет-то?

ps: если уж взялся модифицировать данные, минуя движок 1с, то тебе следует еще знать, что в шапке документа имеются служебные поля, в которых храняться итоги табличной части реквизитов документов, у которых выставлены влажки "Итог по колонке".
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать