Имя: Пароль:
1C
1С v8
Заполнение рек. ХарактеристикиНоменклатуры в таб. части документа
,
0 EKO LX
 
17.09.12
08:48
При нажатии выполнить появляется модальное окно "Не выбрана номенклатура". что не так, что нужно добавить или убрать?

Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   Запрос=Новый Запрос;
     Запрос.Текст="ВЫБРАТЬ
    |    ЧекККМ.Ссылка КАК ДокументСсылка
    |ИЗ
    |    Документ.ЧекККМ КАК ЧекККМ
    |ГДЕ
    |    ЧекККМ.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонПериода, ДЕНЬ)";
    Запрос.УстановитьПараметр("НачПериода",НачПериода);
    Запрос.УстановитьПараметр("КонПериода",КонПериода);
    Результат = Запрос.Выполнить().Выбрать();
   
    Пока Результат.Следующий() Цикл
    Попытка    
       
    ФормаВыбора = Справочники.ХарактеристикиНоменклатуры.ПолучитьФормуВыбора(,ЭтаФорма);
    ФормаВыбора.ЗакрыватьПриВыборе=Истина;
    ФормаВыбора.ОткрытьМодально();
    Для каждого Стр Из Результат.ДокументСсылка.Товары Цикл
    Если Стр.ХарактеристикаНоменклатуры = Неопределено
    Тогда        
    Стр.Номенклатура = Справочники.Номенклатура.Выбрать();
    Стр.ХарактеристикаНоменклатуры = ФормаВыбора.ЭлементыФормы;
    ЭлементыФормы = "Пустой";
    КонецЕсли;
    КонецЦикла;
   
    Фрм = Результат.ДокументСсылка.ПолучитьФорму();
    Фрм.ЗаписатьВФорме(РежимЗаписиДокумента.Запись);
    Сообщить(Результат.ДокументСсылка);    
    Исключение
    Сообщить(ОписаниеОшибки());    
    КонецПопытки;
    КонецЦикла;
   
КонецПроцедуры
1 golden-pack
 
17.09.12
08:51
Стр.ХарактеристикаНоменклатуры = ФормаВыбора.ЭлементыФормы;
2 EKO LX
 
17.09.12
08:58
golden-pack, что с этой строкой?
3 golden-pack
 
17.09.12
09:00
(2) Объясни код.
4 Maxus43
 
17.09.12
09:00
(1) не только с этой...
    Стр.Номенклатура = Справочники.Номенклатура.Выбрать();
    Стр.ХарактеристикаНоменклатуры = ФормаВыбора.ЭлементыФормы;
нафига в номенклатуру пихать Выборку?
нафига в характеристику - Элементы форммы?
Где логика, здравый смысл, и хотя бы понимание задачи?
5 Maxus43
 
17.09.12
09:00
(4)>(2)
6 Serg_1960
 
17.09.12
09:01
(0) Для формы выбора владельца указывать надо или нет?

PS: а строки Между "Тогда" и "КонецЕсли" комментировать не буду. Это бред. Поток безсознательного сознания.
7 golden-pack
 
17.09.12
09:02
(4) Видно что везде бред там написан ...
8 EKO LX
 
17.09.12
09:03
я в программировании не силен, поэтому прощу помощи
9 EKO LX
 
17.09.12
09:04
Стр.ХарактеристикаНоменклатуры.Наименование = "Пустой";
10 k1us181b
 
17.09.12
09:05
задача какая?
11 EKO LX
 
17.09.12
09:05
Если Стр.ХарактеристикаНоменклатуры = Неопределено
    Тогда          
    Стр.ХарактеристикаНоменклатуры.Наименование = "Пустой";
КонецЕсли;

???
12 Maxus43
 
17.09.12
09:06
Если Стр.ХарактеристикаНоменклатуры.Пустая() Тогда
13 golden-pack
 
17.09.12
09:06
(8) Что такое объект и ссылка знаешь ?  Типы - строка, число, ссылка ?
14 EKO LX
 
17.09.12
09:06
k1us181b. проверить табличную часть документа, если реквизит ХарактеристикаНоменклатуры не заполнено, заполнить ее значением "пустой" или по коду
15 Oleg_Kag
 
17.09.12
09:06
Ванга-mode on.
У нас стоит УТ 10.3.
При продаже через кассу за наличные продавцы не забивали характеристику номенклатуры.
Теперь нужно как-то поправить эту ситуацию.
Поэтому пытаюсь хоть как-то заполнять и перезаписывать документы.
Ванга-mode off.
16 artist
 
17.09.12
09:07
(11)Вопрос в чём?
(8)Звучит как - мне некогда заниматься вашим дурацким программированием, метнитесь все быстро, и напишите мне решение, а задачу я потом расскажу.
17 artist
 
17.09.12
09:08
(14)Что такое значение "пустой"? что значит по коду? (по какому коду?)
18 EKO LX
 
17.09.12
09:10
golden-pack, да
19 EKO LX
 
17.09.12
09:12
artist, "пустой" это значение ХарактеристикаНоменклатуры
20 Serg_1960
 
17.09.12
09:13
EKO LX, не указывай кому отвечаешь, а указывай номер топика в скобках, на который ты отвечаешь.
21 Oleg_Kag
 
17.09.12
09:13
1) Абсолютно не нужно использовать форму выбора для Характериситки.Вы же ведь в дальнейшем перезаписываете документ программно.
Поэтому строчки
ФормаВыбора = Справочники.ХарактеристикиНоменклатуры.ПолучитьФормуВыбора(,ЭтаФорма);
ФормаВыбора.ЗакрыватьПриВыборе=Истина;
ФормаВыбора.ОткрытьМодально();
Сразу удаляйте из обработки
22 EKO LX
 
17.09.12
09:15
Oleg_Kag, хорошо а как добраться до ХарактеристикиНоменклатуры? через справочники.ХарактеристикиНоменклатуры при открытии выдает ошибку "не определен владелец, не возможно определить тип учета по характеристикам!"
23 EKO LX
 
17.09.12
09:17
(20)ок
24 EKO LX
 
17.09.12
09:20
(16) хоть скажите с чего начать
25 EKO LX
 
17.09.12
09:23
Для каждого Стр Из Результат.ДокументСсылка.Товары Цикл
    Если Стр.ХарактеристикаНоменклатуры.Пустая()
    И Стр.Номенклатура <> Неопределено
    Тогда        
    Стр.ХарактеристикаНоменклатуры = "Пустой";
    КонецЕсли;
КонецЦикла;
26 artist
 
17.09.12
09:29
Что такое "Пустой"?
Опиши подробно задачу, может тебе просто в печатную форму надо вывести "Пустой", и не мучать документы?
27 artist
 
17.09.12
09:31
ЗЫ Обратиться к специалисту уже советовали?
28 Мимохожий Однако
 
17.09.12
09:40
(27) Он сам себе режиссер. Пока до сотки не дойдём, он задачу описывать не будет.
29 EKO LX
 
17.09.12
09:41
(26) (28) раньше характеристики номенклатуры вбивались в реквизиты самой номенклатуры, теперь хочу чтобы эти характеристики набирать соответствующим образом. у товаров я поменял вид номенклатуры. теперь в документах появилось еще одно поле для характеристики номенклатуры, которая обязательна для заполнения. хочу перепровести документы, выдается ошибка что поле характеристики номенклатуры не заполнено. вот хочу программно заполнить у всех товаров каким-нибудь значением, например с наименованием "пустой" или "нет характеристики" и т.п.
30 Мимохожий Однако
 
17.09.12
09:44
Убери из вида номенклатуры, на которое поменял учет по характеристикам. Надеюсь, на копии экспериментируешь?
31 EKO LX
 
17.09.12
09:49
(30) да на копии. не понял, как убрать из вида номенклатуры?
32 Мимохожий Однако
 
17.09.12
09:50
(29)Если идти по твоему планы, то:
1. Обойди справочник Номенклатура и создай для каждого элемент справочника Характеристики номенклатуры с наименованием "Пустой".
2. Обойди все документы с незаполненной характеристикой элементом справочника с именем "Пустой".
Приведенные тобой фрагменты кода неправильные.
На я более склонен с экспериментами по (30)
33 EKO LX
 
17.09.12
09:54
(32) обойти все документы за определенный период, если характеристика не заполнена то заполнить элементом справочника Характеристики Номенклатуры с наименованием "Пустой"
34 Мимохожий Однако
 
17.09.12
09:54
(31) Открой справочник Виды номенклатуры и посмотри.
35 EKO LX
 
17.09.12
09:54
(25) последняя версия
36 EKO LX
 
17.09.12
09:55
(34) она не открывается, выдает ошибку "не определен владелец, не возможно определить тип учета по характеристикам!"
37 Мимохожий Однако
 
17.09.12
09:59
(36)"она не открывается".)))
Я не телепат.
ОФФ: Рассказывай, как обгонял,как подрезал.
38 EKO LX
 
17.09.12
10:00
(37)
Для каждого Стр Из Результат.ДокументСсылка.Товары Цикл
    Если Стр.ХарактеристикаНоменклатуры.Пустая()
    Тогда        
    НовСтрокаТабЧасти = Стр.Добавить();
    НовСтрокаТабЧасти.ХарактеристикаНоменклатуры = "Пустой";
    КонецЕсли;
КонецЦикла;
39 Мимохожий Однако
 
17.09.12
10:02
Не читатель? в (34) я сказал про справочник Виды номенклатуры.
40 Мимохожий Однако
 
17.09.12
10:04
(38)
//Это неверно НовСтрокаТабЧасти.ХарактеристикаНоменклатуры = "Пустой";
Пытаешься присвоить строковое значение в реквизит с типом "Справочники.ХарактеристикаНоменклатуры"
41 EKO LX
 
17.09.12
10:04
(40) а так?

Для каждого Стр Из Результат.ДокументСсылка.Товары Цикл
    Если Стр.ХарактеристикаНоменклатуры.Пустая()
    Тогда        
    ХарактеристикаНоменклатуры =     Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию("Пустой").ПолучитьОбъект();
    НовСтрокаТабЧасти = Стр.Добавить();
    НовСтрокаТабЧасти.ХарактеристикаНоменклатуры = "Пустой";
    КонецЕсли;
КонецЦикла;
42 Maxus43
 
17.09.12
10:06
о май год
43 Мимохожий Однако
 
17.09.12
10:07
Я умываю руки...
44 EKO LX
 
17.09.12
10:07
(42) о май гад! год пишется, читается гад. или о май гаш!
45 EKO LX
 
17.09.12
10:08
(43) вы не к чему не дотрагивались, зачем сушить руки?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.