Имя: Пароль:
1C
1С v8
УТ При обновлении до 11.1.2.10 ошибка
0 mrDen
 
02.08.13
22:34
При обновлении выходит ошибка

При вызове обработчика обновления:
"ПартионныйУчетСервер.ИсправитьДвиженияСебестоимости()"
произошла ошибка:
"{ОбщийМодуль.ОбщегоНазначенияУТ.Модуль(1580)}: Ошибка при вызове метода контекста (Выполнить)
Запрос.Выполнить();
по причине:

{(11, 1)}: Тип не может быть выбран в запросе
<<?>>Таблица.Валюта,".

Версия платформы сама последняя на сегодня. Обновляюсь с 2.9 помогите исправить.
УТ типовая
1 mrDen
 
02.08.13
22:36
В общем модуле ОбщегоНазначенияУТ
вот тут ошибка

    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    *
    |ИЗ
    |    ТаблицаТоваровПредварительная
    |
    |ИТОГИ
    |    СУММА(ТаблицаТоваровПредварительная.СуммаБезНДС),
    |    СУММА(ТаблицаТоваровПредварительная.СуммаНДС),
    |    МАКСИМУМ(ТаблицаТоваровПредварительная.Валюта),
    |    МАКСИМУМ(ТаблицаТоваровПредварительная.Дата)
    |ПО
    |    ТаблицаТоваровПредварительная.Ссылка
    |";
    РезультатЗапроса = Запрос.Выполнить();
    
    ПересчитанныеСуммыДокументов = Новый ТаблицаЗначений;
    Для Каждого Колонка Из РезультатЗапроса.Колонки Цикл
        ПересчитанныеСуммыДокументов.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения);
    КонецЦикла;
    
    ВалютаРегл = Константы.ВалютаРегламентированногоУчета.Получить();
    КэшКурсовВалют = РаботаСКурсамиВалютУТ.ИнициализироватьКэшКурсовВалют();
    
    ВыборкаПоДокументу = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоДокументу.Следующий() Цикл
        
        КурсВалютыДокумента = РаботаСКурсамиВалютУТ.ПолучитьКурсВалютыИзКэша(ВыборкаПоДокументу.Валюта, ВыборкаПоДокументу.Дата, КэшКурсовВалют);
        КурсВалютыРегл      = РаботаСКурсамиВалютУТ.ПолучитьКурсВалютыИзКэша(ВалютаРегл, ВыборкаПоДокументу.Дата, КэшКурсовВалют);
        
        СуммаДокумента     = ВыборкаПоДокументу.СуммаБезНДС + ВыборкаПоДокументу.СуммаНДС;
        СуммаДокументаРегл = СуммаДокумента * КурсВалютыДокумента / КурсВалютыРегл;
        
        УчтеноБазыРаспределения = 0;
        УжеРаспределено = 0;
        
        Выборка = ВыборкаПоДокументу.Выбрать();
        Пока Выборка.Следующий() Цикл
            
            СуммаСНДС = Выборка.СуммаБезНДС + Выборка.СуммаНДС;
            
            СуммаСНДСРегл = ?(СуммаДокумента <> 0, Окр(СуммаДокументаРегл * (УчтеноБазыРаспределения + СуммаСНДС) / СуммаДокумента, 2) - УжеРаспределено, 0);
            
            УчтеноБазыРаспределения = УчтеноБазыРаспределения + СуммаСНДС;
            УжеРаспределено         = УжеРаспределено + СуммаСНДСРегл;
            
            НоваяЗапись = ПересчитанныеСуммыДокументов.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяЗапись, Выборка, , "СуммаНДС, СуммаБезНДС");
            
            ТекПроцентНДС = ЦенообразованиеКлиентСервер.ПолучитьСтавкуНДСЧислом(Выборка.СтавкаНДС);
            
            НоваяЗапись.СуммаНДС    = ЦенообразованиеКлиентСервер.РассчитатьСуммуНДС(СуммаСНДСРегл, ТекПроцентНДС);
            НоваяЗапись.СуммаБезНДС = СуммаСНДСРегл - НоваяЗапись.СуммаНДС;
            
        КонецЦикла;
        
    КонецЦикла;
    
    Запрос.Текст = "
    |УНИЧТОЖИТЬ ТаблицаТоваровПредварительная;
    |ВЫБРАТЬ";
    Для Каждого Колонка Из РезультатЗапроса.Колонки Цикл
                Запрос.Текст = Запрос.Текст + "
                |Таблица." + Колонка.Имя + ",";
    КонецЦикла;
    Запрос.Текст = Лев(Запрос.Текст, СтрДлина(Запрос.Текст)-1);
    Запрос.Текст = Запрос.Текст + "
    |ПОМЕСТИТЬ ТаблицаТоваровПредварительная
    |ИЗ &Таблица КАК Таблица";
    Запрос.УстановитьПараметр("Таблица", ПересчитанныеСуммыДокументов);
    Запрос.Выполнить();


Я в запросах совсем не силён.
2 mrDen
 
02.08.13
23:05
хм...наверное зря в пятницу вечером спросил =)
3 Mikhail Volkov
 
03.08.13
21:43
(0) Если УТ типовая, и своих изменений не вносил, то релиз кривой?
4 saaken
 
04.08.13
19:42
ТаблицаТоваровПредварительная где формируется?
5 inkvizitr
 
04.08.13
19:58
1. Если помнишь какой у тебя релиз стоял до обновления, то замени в нем cf файл на такой же, и после чего заново обнови, ну и надеюсь резервные копии сделал
2. А если есть резервная копия, то восстановись, замени cf, и обновляйся
6 inkvizitr
 
04.08.13
19:59
да... "chdbfl" и "тестирования исправления" не забудь перед обновлением