Имя: Пароль:
1C
1С v8
Перенос остатков из 7.7 в 8.2
0 Anastasiy
 
12.09.12
12:14
Привет всем!
После переноса остатков из 7.7 в УПП 1.3 стандартными правилами, при вводе остатков материалов в эксплуатацию вылетает вот такая ошибка:   {Документ.ВводНачальныхОстатковМатериаловВЭксплуатации.МодульОбъекта(476)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
           Если СтрокаДок.Количество > 0 Тогда

Хотя поле кол-во = число 15\3

Никак не могу сообразить в чем фокус(( Подскажите кто-нить)
1 DrShad
 
12.09.12
12:16
без фото никак
2 Aleks73
 
12.09.12
12:16
Отладчик спасет отца русской демократии (С)
3 Anastasiy
 
12.09.12
12:17
Не, не спасает((
4 Anastasiy
 
12.09.12
12:18
Фото была, убрала.
5 DrShad
 
12.09.12
12:18
(3) тогда фото в бикини - за меньшее я не полезу в отладчик
6 DrShad
 
12.09.12
12:18
(4) а чего ж тогда и личку не убрала?
7 Anastasiy
 
12.09.12
12:19
А зачем?
8 Надсмотрщик
 
12.09.12
12:20
(4) По тому и ошибка выскочила...   ;-)
9 Anastasiy
 
12.09.12
12:21
))) М... а может быть не соответствие версий? написано 1.16 надо а у меня 1.17
10 Anastasiy
 
12.09.12
12:22
* Сорри, "несоответствие"
11 Джинн
 
12.09.12
12:22
15\3  - это число?
12 Anastasiy
 
12.09.12
12:23
Перенос чистый вроде, справочники+доки+регистры, потом Остатки
13 Anastasiy
 
12.09.12
12:23
Да, длина 15 точность3
14 DrShad
 
12.09.12
12:25
строкаДок это не строка документа
15 DrShad
 
12.09.12
12:27
+(14) поэтому у тебя там NULL
16 Anastasiy
 
12.09.12
12:27
Строка табличной части формы документа
17 DrShad
 
12.09.12
12:27
(16) нет! я же смотрел код
18 Anastasiy
 
12.09.12
12:28
...... Мдя...Спасибо.
19 Anastasiy
 
12.09.12
12:32
Проверить на ЕСТЬNULL///
20 DrShad
 
12.09.12
13:14
(19) неа
21 Guk
 
12.09.12
13:21
(9) с большой долей вероятности...
22 Anastasiy
 
12.09.12
13:23
/// Подсказать жалко?
23 Anastasiy
 
12.09.12
13:26
Запрос = Новый Запрос;
            Запрос.Текст =
           "ВЫБРАТЬ
              |    ВводНачальныхОстатковМатериаловВЭксплуатации.Материалы.(
              |        ЕСТЬNULL(ВводНачальныхОстатковМатериаловВЭксплуатации.Материалы.Количество, 0) КАК Количество
              |    )
              |ИЗ
              |    Документ.ВводНачальныхОстатковМатериаловВЭксплуатации КАК ВводНачальныхОстатковМатериаловВЭксплуатации";

              Результат = Запрос.Выполнить();
              Выборка = Результат.Выбрать();

           
            Если СтрокаДок.Количество > 0 Тогда
               
               Проводка = Операция.Добавить();
               Проводка.Организация = СтруктураШапкиДокумента.Организация;
               Проводка.Регистратор = Ссылка;
               Проводка.Период      = Дата;
               
               Проводка.СчетДт = СтрокаДок.СчетУчетаНУ;
               БухгалтерскийУчет.УстановитьСубконто( Проводка.СчетДт, Проводка.СубконтоДт, "Номенклатура", СтрокаДок.Номенклатура);
               Проводка.ВидУчетаДт = Перечисления.ВидыУчетаПоПБУ18.НУ;
               
               Проводка.КоличествоДт = СтрокаДок.Количество;
               Проводка.Содержание = "Ввод остатков";
               
           КонецЕсли;

Не то что-то((
24 Anastasiy
 
12.09.12
13:27
Странно, это типовая новая УПП 1.3 стандартный документ...
25 Anastasiy
 
12.09.12
13:31
+ туда же: Пока Выборка.Следующий() Цикл
       Если Выборка.Остаток < Выборка.Количество Тогда
           Отказ = Истина;
КонецЕсли;
26 Azverin
 
12.09.12
13:31
(23) результат запроса выгружали? всё норм?
27 DrShad
 
12.09.12
13:32
фотку и я найду именно то место в модуле где поле выборки принимает значение NULL - все просто
28 Anastasiy
 
12.09.12
13:32
Нет, тот же результат..
29 Anastasiy
 
12.09.12
13:33
Редиско(( я же на работе.
30 DrShad
 
12.09.12
13:35
(29) ептить, а я где? должна же быть компенсация за нецелевое использование рабочего времени
31 Anastasiy
 
12.09.12
13:36
))) Чёй-то, нецелевое... Очень даже целевое, профилактика УКВ)))
32 ДемонМаксвелла
 
12.09.12
13:36
Отладчик, остановка по ошибке.
33 petrowsky
 
12.09.12
13:38
(25) запрос вообще не причем, ругается на
Если СтрокаДок.Количество > 0 Тогда

откуда СтрокаДок берется - строка табличной части документа или таблицы значений, очевидно что Количество имеет тип не Число

бери отладчик, не прогадаешь
34 DrShad
 
12.09.12
13:38
(31) у меня УКВ не нуждается в профилактике
35 DrShad
 
12.09.12
13:39
(33) чукча не читатель? чукча писатель? уже давно выяснили что такое СтрокаДок
36 Anastasiy
 
12.09.12
13:46
По ошибке как раз сюда и выкидывает...
37 petrowsky
 
12.09.12
13:51
(35) фига себе, у нас герой
я лично так и не увидел кода, откуда берется СтрокаДок
может, если ты конечно в теме, выложи
38 DrShad
 
12.09.12
13:53
(37) а вот за этот кусочек я и прошу фотку
39 Anastasiy
 
12.09.12
13:54
Для Каждого СтрокаДок Из ТаблицаПоМатериалам Цикл
       
       Если СтрокаДок.СчетУчетаНУ <> ПланыСчетов.Налоговый.ИнвентарьИХозяйственныеПринадлежности Тогда
40 DrShad
 
12.09.12
13:54
+(38) так как ТС наотрез отказалась лезть в конфу сама
41 Anastasiy
 
12.09.12
13:55
....
42 DrShad
 
12.09.12
13:55
(39) осталось понять как собирается ТаблицаПоМатериалам :)
43 DrShad
 
12.09.12
13:55
+(42) продолжайте наблюдения!
44 Anastasiy
 
12.09.12
14:06
// Подготовим таблицу материалов для проведения.
   СтруктураПолей = Новый Структура();
   СтруктураПолей.Вставить( "Номенклатура", "Номенклатура");
   СтруктураПолей.Вставить( "Услуга",       "Номенклатура.Услуга");
   СтруктураПолей.Вставить( "Набор",        "Номенклатура.Набор");
   -------------------------------------------------------------------------------------------------------------------/
СтруктураПолей.Вставить( "Количество",   "Количество * Коэффициент /
Номенклатура.ЕдиницаХраненияОстатков.Коэффициент");
   --------------------------------------------------------------------------------------------------------------------------/
   СтруктураПолей.Вставить( "ХарактеристикаНоменклатуры", "ХарактеристикаНоменклатуры");
   СтруктураПолей.Вставить( "СерияНоменклатуры",          "СерияНоменклатуры");
   
   СтруктураПолей.Вставить( "ФизЛицо",                 "ФизЛицо");
   СтруктураПолей.Вставить( "НазначениеИспользования", "НазначениеИспользования");
   СтруктураПолей.Вставить( "СпособПогашенияСтоимости", "НазначениеИспользования.СпособПогашенияСтоимости");
   СтруктураПолей.Вставить( "ДокументПередачи",        "ДокументПартии");
   
   СтруктураПолей.Вставить( "Стоимость",                   "Стоимость");
   СтруктураПолей.Вставить( "СтоимостьРегл",               "СтоимостьРегл");
   СтруктураПолей.Вставить( "ВременнаяРазница",            "ВременнаяРазница");
   СтруктураПолей.Вставить( "ПостояннаяРазница",           "ПостояннаяРазница");
   СтруктураПолей.Вставить( "ПогашеннаяСтоимость",         "ПогашеннаяСтоимость");
   СтруктураПолей.Вставить( "ПогашеннаяСтоимостьРегл",     "ПогашеннаяСтоимостьРегл");
   СтруктураПолей.Вставить( "ПогашеннаяВременнаяРазница",  "ПогашеннаяВременнаяРазница");
   СтруктураПолей.Вставить( "ПогашеннаяПостояннаяРазница", "ПогашеннаяПостояннаяРазница");
45 Anastasiy
 
12.09.12
14:13
Спасибо))) Работает
46 DrShad
 
12.09.12
14:21
коэффициентов не было, да?
47 Anastasiy
 
12.09.12
14:30
Да.
48 DrShad
 
12.09.12
14:32
эх, фотка сорвалась
ну зато ты теперь на всю жизнь запомнишь про проверку коэффициентов :)
49 Anastasiy
 
13.09.12
07:22
Редиско)))