Имя: Пароль:
1C
1С v8
Помогите с приведением значений пожалуйста.
0 Ruben
 
07.05.12
16:32
Подскажите как привести правильно значение что-то ни как не получается,
есть таблица значений на форме в нее загружаю из табличной части.
ТЗТовары=Товары.Выгрузить().Скопировать();
в табличной части товары колонка количество положительная а мне надо сделать чтобы в таблице значений были и отрицательные значения пишу так
       Знак = ДопустимыйЗнак.Любой;
       ТипЧисло= Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3,Знак));        
       ЭлементыФормы.ТЗТовары.Колонки.Количество.ЭлементУправления.ОграничениеТипа=ТипЧисло;

а как назначить тип для данных а не элементу управления потому что когда пишу следующее...

...
       Результат=Запрос.Выполнить().Выбрать();
       
       Пока Результат.Следующий() Цикл
       НоваяСтрока = ТЗТовары.Добавить();
       НоваяСтрока.Количество    =Результат.Количество;
               
....
тут в Результат.Количество у меня отрицательные значения.
и не записывается в таблицу значений
1 zak555
 
07.05.12
16:34
выбрать

  -1*ТЧ.Количество
ИЗ
  Документ.МойДок.ТабличнаяЧасть КАК ТЧ
ГДЕ
  ТЧ.Ссылка = &Ссылка
2 Ruben
 
07.05.12
16:37
(1) не понял смысла? Результат.Количество  это у меня скажем -1 после того как происходит
НоваяСтрока.Количество    =Результат.Количество в НоваяСтрока.Количество =0. там в типе стоит неотрицательный.
3 palpetrovich
 
07.05.12
16:44
а в чем глубокий смысл конструкции?  ТЗТовары=Товары.Выгрузить().Скопировать();
4 Ruben
 
07.05.12
16:47
Объясню сначала, у меня документ заказ покупателя надо чтобы при открытии, видели корректировки в таблице значений, вот код.
       ТЗТовары=Товары.Выгрузить().Скопировать();
       
       //назначим тип
       Знак = ДопустимыйЗнак.Любой;
       ТипЧисло= Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,3,Знак));        
       ЭлементыФормы.ТЗТовары.Колонки.Количество.ЭлементУправления.ОграничениеТипа=ТипЧисло;
       //выберем корректировки
       Запрос=Новый Запрос;                    
       Запрос.Текст=
       "ВЫБРАТЬ
       |    КорректировкаЗаказаПокупателя.Ссылка
       |ИЗ
       |    Документ.КорректировкаЗаказаПокупателя КАК КорректировкаЗаказаПокупателя
       |ГДЕ
       |    КорректировкаЗаказаПокупателя.Проведен
       |    И КорректировкаЗаказаПокупателя.ЗаказПокупателя = &ЗаказПокупателя";
       Запрос.УстановитьПараметр("ЗаказПокупателя",ЭтотОбъект.Ссылка);
       Результат=Запрос.Выполнить().Выбрать();
       
       Пока Результат.Следующий() Цикл
           Кор=Результат.Ссылка;
           Для Каждого ТекСтрока Из Кор.Товары Цикл
               НоваяСтрока = ТЗТовары.Добавить();
               НоваяСтрока.ЕдиницаИзмерения                          =ТекСтрока.ЕдиницаИзмерения;
               НоваяСтрока.ЕдиницаИзмеренияМест                    =ТекСтрока.ЕдиницаИзмеренияМест;
               НоваяСтрока.ЗначениеУсловияАвтоматическойСкидки     =ТекСтрока.ЗначениеУсловияАвтоматическойСкидки;
               НоваяСтрока.Количество                              =ТекСтрока.Количество;
               НоваяСтрока.КоличествоМест                          =ТекСтрока.КоличествоМест;
               НоваяСтрока.Коэффициент                             =ТекСтрока.Коэффициент;
               НоваяСтрока.Номенклатура                            =ТекСтрока.Номенклатура;
               НоваяСтрока.ПлановаяСебестоимость                   =ТекСтрока.ПлановаяСебестоимость;
               НоваяСтрока.ПроцентАвтоматическихСкидок             =ТекСтрока.ПроцентАвтоматическихСкидок;
               НоваяСтрока.ПроцентСкидкиНаценки                    =ТекСтрока.ПроцентСкидкиНаценки;
               НоваяСтрока.Размещение                              =ТекСтрока.Размещение;
               НоваяСтрока.СтавкаНДС                               =ТекСтрока.СтавкаНДС;
               НоваяСтрока.Сумма                                   =ТекСтрока.Сумма;
               НоваяСтрока.СуммаНДС                                =ТекСтрока.СуммаНДС;
               НоваяСтрока.УсловиеАвтоматическойСкидки             =ТекСтрока.УсловиеАвтоматическойСкидки;
               НоваяСтрока.ХарактеристикаНоменклатуры              =ТекСтрока.ХарактеристикаНоменклатуры;
               НоваяСтрока.Цена                                    =ТекСтрока.Цена;
               НоваяСтрока.СерияНоменклатуры                       =ТекСтрока.СерияНоменклатуры;
               НоваяСтрока.СуммаОтката                             =ТекСтрока.СуммаОтката;
           КонецЦикла;    
       КонецЦикла;    
   КонецЕсли;
5 Ruben
 
07.05.12
16:48
Будет табличка дополнительная по товару там будут идти сначала товары из заказа а потом корректировки, другим цветом, это нужно для некоторых пользователей они будут чтобы они не лазили по корректировкам.
6 Ruben
 
07.05.12
16:49
(3) а в чем глубокий смысл конструкции?  ТЗТовары=Товары.Выгрузить().Скопировать();
копирую из документа в таблицу значений из табличной части.
7 zak555
 
07.05.12
16:50
писец
8 palpetrovich
 
07.05.12
16:51
(6) это Вам кажеться :)
9 Ruben
 
07.05.12
16:57
(8) ну возможно ТЗТовары=Товары.Выгрузить() достаточно ну проблема не в этом.
10 palpetrovich
 
07.05.12
17:04
(9) ну если очень хочется, в порядке бреда, выгрузи в ТЗ не все колонки, а только нужные. Потопм добавь колонку "количество" с нужным форматом - и загрузи ее выбркой строк
11 Ruben
 
07.05.12
17:06
(10) :) да я в порядке бреда думаю уже создать таблицу руками выборкой туда все загнать из табличной части, а потом из доп выборки, но неужели нельзя поменять тип после того как выгрузил в таблицу значений?
12 Ruben
 
07.05.12
17:08
можно ли как то сделать, что-то типа такого?
ТЗТовары.Колонки.Количество.ТипЗначения.КвалификаторыЧисла.ДопустимыйЗнак=ДопустимыйЗнак.Любой

на такую конструкцию ругается что поле недоступно для записи.
13 palpetrovich
 
07.05.12
17:09
(11) хз, я не пробовал.
По идее может и есть ограничение, а то начнется... из "строки" "справочник" лепить начнут :)
14 palpetrovich
 
07.05.12
17:10
(12) а у тебя ТЗ на форме? Почему-бы не создать колонкк руками с нужными форматами и "православными" именами?
15 Ruben
 
07.05.12
17:12
(14) да на форме, я так и сделал, но после ТЗТовары=Товары.Выгрузить() тип колонки количество становится неотрицательным. и все отрицательные туда не грузятся.
16 EvgeniuXP
 
07.05.12
17:18
(15) научи меня так делать.
17 Ruben
 
07.05.12
17:23
(16) ну не знаю если получится:) ну на самом деле когда пишем выгрузить() тогда копируется и структура табличной части, че я писал еще скопировать() думал что поможет не помогло.
18 Ruben
 
07.05.12
17:48
up