Имя: Пароль:
1C
1C 7.7
v7: Как из отчета открыть элемент номенклатуры?
0 Azmarika
 
06.04.15
13:22
Всем привет! Подскажите пожалуйста, буду очень благодарна. Версия 7.7, в отчете формируется список с номенклатурой, при выборе строки хотелось бы получить элемент из справочника
1 Волшебник
 
модератор
06.04.15
13:23
расшифровка
2 aka AMIGO
 
06.04.15
13:25
(0) в таблице, в поле, где выводится этот элемент, в свойствах/расшифровка указываешь этот элемент еще раз
3 dk
 
06.04.15
13:25
открыть из печатной формы или из списка на форме?
4 Azmarika
 
06.04.15
13:27
Спасибо. Но у меня стоит расшифровка (
5 ДенисЧ
 
06.04.15
13:28
(4) Ой, не верю... НЕ ВЕ РЮ!
6 dk
 
06.04.15
13:28
толькопросмотр включи тогда
7 Azmarika
 
06.04.15
13:32
ТолькоПросмотр, где включить?
8 dk
 
06.04.15
13:33
таб.толькопросмотр()
таб.показать()
9 aka AMIGO
 
06.04.15
13:33
(4) Скорей всего, расшифровка у тебя представляет собой список значений, и предназначен этот СЗ для процедуры "ОбработкаЯчейкиТаблицы"

Если так уж нужно открыть только номенклатуру, выполни то, что я написал в (2), иначе - вопрос чуток сложнее
10 Azmarika
 
06.04.15
13:37
ТолькоПросмотр тоже не помогает (
11 Масянька
 
06.04.15
13:38
(10) Что в расшифровке (код)?
12 aka AMIGO
 
06.04.15
13:38
вот пример вывода элемента номенклатуры в поле, и прямой расшифровки - показа этого элемента:
http://savepic.su/5510244.htm
13 Azmarika
 
06.04.15
13:38
Запрос.Товар
14 Масянька
 
06.04.15
13:40
(13) Кусок кода, где инициализируется Запрос.Товар...
15 aka AMIGO
 
06.04.15
13:42
(14)+1 и в свойствах примерно должно быть так: http://savepic.su/5537895.htm
16 Azmarika
 
06.04.15
13:46
//*******************************************
Процедура Сформировать()
    
        
    ВыбСотрудник=ВыбклиентФорма;
    Запрос=СоздатьОбъект("Запрос");      
    ТекстЗапроса =  
    "//{{ЗАПРОС(ТоварыЗаПериоды)  
    |Период с ДатаНачала по ДатаКонец;
    |Автор = Документ.РасходнаяНал.Автор, Документ.РасходнаяКредит.Автор  ;
    |Клиент = Документ.РасходнаяНал.Клиент, Документ.РасходнаяКредит.Клиент;  
    |Группировка Клиент упорядочить по Клиент.Наименование Без Групп;
//    |Условие  ((Автор = ВыбСотрудникФорма) и (Клиент = ВыбКлиентФорма));    
    |"//}}ЗАПРОС
    ;
    
    Если ВыбКлиентФорма.Выбран()=0 Тогда
        Заг = "По всем клиентам";
    ИначеЕсли ВыбКлиентФорма.ЭтоГруппа()=1 Тогда
        ТекстЗапроса = ТекстЗапроса + "Условие (Клиент в ВыбКлиентФорма);";
        Заг = "По клиентам группы " + ВыбКлиентФорма.Наименование;
    Иначе
        ТекстЗапроса = ТекстЗапроса + "Условие (Клиент в ВыбКлиентФорма);";
        Заг = "По клиенту " + ВыбКлиентФорма.Наименование;
    КонецЕсли;
    Если ПустоеЗначение(ВыбКлиентФорма)= 1 Тогда
        ТекстЗапроса=СтрЗаменить(ТекстЗапроса, "и (Клиент = ВыбКлиентФорма)", "");
    КонецЕсли;  
    
    
    Таб=СоздатьОбъект("Таблица");  
    Таб.ИсходнаяТаблица("Таблица");
    Таб.ТолькоПросмотр(0);
    Таб.ВывестиСекцию("Отчет");
    Таб.ВывестиСекцию("Шапка");
    
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    КолТТ=0;
    Пока Запрос.Группировка(1) = 1 Цикл
        //Сообщить ("123");  
        ВыбКлиент=Запрос.Клиент;
        //ВыбСотрудник=ВыбСотрудникФорма;
        ВыбКлиентАдрес=Строка(ВыбКлиент)+" /"+Запрос.Клиент.Адрес;
        //ВыбКлиент=ВыбКлиент+" адрес:"+ВыбКлиент.адрес;
        Таб.ВывестиСекцию("Строка");  
        КолТТ=КолТТ+1;
    КонецЦикла;    
    Таб.ВывестиСекцию("КоличествоТТ");
    
    Запрос=СоздатьОбъект("Запрос");      
    ТекстЗапроса =  
    "//{{ЗАПРОС(ТоварыЗаПериоды)  
    |Период с ДатаНачала по ДатаКонец;
    |Автор = Документ.РасходнаяНал.Автор, Документ.РасходнаяКредит.Автор  ;
    |Клиент = Документ.РасходнаяНал.Клиент, Документ.РасходнаяКредит.Клиент;  
    |Товар = Документ.РасходнаяНал.Товар, Документ.РасходнаяКредит.Товар;
    |Количество = Документ.РасходнаяНал.Количество, Документ.РасходнаяКредит.Количество;
    |Сумма = Документ.РасходнаяНал.Сумма, Документ.РасходнаяКредит.Сумма;
    |Кг = Документ.РасходнаяНал.Товар.zref_цена, Документ.РасходнаяКредит.Товар.zref_цена;
    |Функция СумКол = Сумма(Количество);
    |Функция СумСумма = Сумма(Сумма);
    |Функция СумКг = Сумма(Кг);
    |Группировка Клиент упорядочить по Клиент.Наименование Без Групп;  
    |Группировка Товар упорядочить по Товар.Наименование Без Групп;
    |"//}}ЗАПРОС
    ;  
      Если ВыбКлиентФорма.Выбран()=0 Тогда
        Заг = "По всем клиентам";
    ИначеЕсли ВыбКлиентФорма.ЭтоГруппа()=1 Тогда
        ТекстЗапроса = ТекстЗапроса + "Условие (Клиент в ВыбКлиентФорма);";
        Заг = "По клиентам группы " + ВыбКлиентФорма.Наименование;
    Иначе
        ТекстЗапроса = ТекстЗапроса + "Условие (Клиент в ВыбКлиентФорма);";
        Заг = "По клиенту " + ВыбКлиентФорма.Наименование;
    КонецЕсли;
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    Таб.ВывестиСекцию("Шапка2");
    Пока Запрос.Группировка(1) = 1 Цикл
        ВыбКлиент=Запрос.Клиент;
        КоличествоГрупп=Запрос.СумКол;
        КгГрупп=Запрос.СумКг;
        СуммаГрупп=Запрос.СумСумма;
        Таб.ВывестиСекцию("ИтогоГрупп");
        Пока Запрос.Группировка(2) = 1 Цикл
            ВыбТовар=Запрос.Товар;
            ВыбКоличество=Формат(Запрос.СумКол, "Ч015.2");
            ВыбКг=Запрос.Кг*Запрос.Количество;
            выбКг=Формат(ВыбКг, "Ч015.2");
            ВыбСумма=Формат(Запрос.СумСумма, "Ч015.2");
            Таб.ВывестиСекцию("Строка2");
            ВыбКлиент="";
            
        КонецЦикла;    
        
        
    КонецЦикла;    
    СуммаИтого=Запрос.СумСумма;
    КолИтого=Запрос.СумКол;
    КгИтого="";
    Таб.ВывестиСекцию("Итого");
    Таб.Показать();
КонецПроцедуры
17 aka AMIGO
 
06.04.15
13:48
(16) внимательно см. (8)
18 aka AMIGO
 
06.04.15
13:49
+17 и в свойствах ячейки, где выводится ВыбТовар, в расшифровке поставь тоже ВыбТовар
19 Масянька
 
06.04.15
13:49
(16)    |Товар = Документ.РасходнаяНал.Товар, Документ.РасходнаяКредит.Товар;
А в этих док-ах реквизит Товар = справочник?
20 Azmarika
 
06.04.15
13:53
(19) да справочник
21 Azmarika
 
06.04.15
13:54
И почему-то у меня не реагирует программа, на только просмотр. Все равно можно редактировать
22 Масянька
 
06.04.15
13:55
(20) А "Защита" у ячейки стоит? Ну, и стоит попробовать (18).
23 Azmarika
 
06.04.15
13:55
(17)  а что там ни так?
24 aka AMIGO
 
06.04.15
13:56
(21) (23) тебе-ж написали: в конце кода должно быть:
таб.ТолькоПросмотр(1);
Таб.Показать();
25 Масянька
 
06.04.15
13:56
(21) Просмотр в конце надо. Перед Показать.
26 Azmarika
 
06.04.15
13:56
(22) попробовала, не помогает. Защита стоит
27 Azmarika
 
06.04.15
13:57
(25) там тоже не реагирует
28 aka AMIGO
 
06.04.15
13:57
вот теперь и я НЕ ВЕ РЮ :)
29 Azmarika
 
06.04.15
13:59
(28) да я и сама не верю, какая-то засада
30 Spyke
 
06.04.15
13:59
(0) Процедура и скрин печатной формы не соответствуют друг другу.
31 aka AMIGO
 
06.04.15
13:59
(29) Еще раз: ТолькоПросмотр(1);
32 Azmarika
 
06.04.15
14:00
(30), что неправильно?
33 aka AMIGO
 
06.04.15
14:00
+31 В скобочках - единичка :)
34 Spyke
 
06.04.15
14:03
(33) в 12 вывод Рег.Товар В процедуре Рег Неопределена
35 Azmarika
 
06.04.15
14:03
О боже, свершилось!!!  Всем огромное человеческое спасибо!!!
36 Spyke
 
06.04.15
14:04
(35) Ну и что было?
37 Azmarika
 
06.04.15
14:04
(33) за единичку особое )))) Себя такой дурочкой ощущаю
38 Azmarika
 
06.04.15
14:05
Таб.ТолькоПросмотр(1);   стоял 0
39 aka AMIGO
 
06.04.15
14:05
(37) Пожалуйста :)
А дурочкой себя никогда не надо считать.. просто нет опыта