Имя: Пароль:
1C
1C 7.7
v7: в стандартных отчетах ошибка "СписокЗначений"
,
0 pcica
 
30.06.13
19:47
Чтото я туплю сильно. В любых стандартных отчетах ОСВ, Анализ счета, и т.д. при нажатии по ячейке, кнопкам "обновить", "настройка" - т.е. везде где есть вызов функции РасшифровкаОбновить() вываливается окошко 1С в предупреждением "СписокЗначений".
При этом все работает - нужные расшифровки и действия выполняются.
Помогите избавиться от наойливого окошка.

Конфигурация самописная. Вручную интегрировал стандартные отчеты.
Где мог ошибиться?
1 Aleksey
 
30.06.13
20:27
строку 252 смотрел?
2 Aprobator
 
30.06.13
20:58
нам отсюда фигово видно самописку то.
3 Storm911
 
30.06.13
21:02
Ищи "Предупреждение("Список значений");" :)
Скорее всего в глобальнике.
4 dedmoroz777
 
30.06.13
21:08
(3) Да, что-нибудь вроде: Предупреждение(спПараметров);
5 Aleksey
 
30.06.13
21:14
(4) Небудет там такого. Это очень похоже на стандартное поведения системы при расшифровки неизвестных параметров. Т.е. смотри что у тебя происходит в ОбработкаЯчейкиТаблицы. причем смотри как в локальном контексте так и в глобальном
6 Aleksey
 
30.06.13
21:15
даже точнее сравни что происходит у них в типовых и у тебя
7 Ork
 
30.06.13
21:17
+(5) В обработкаЯчейкиТаблицы флаг нужно уронить в "0".
8 Aprobator
 
30.06.13
21:17
(5) +100500 косяк какой то в коде.
9 pcica
 
01.07.13
09:55
Все уже 1000% верено-проверено. Окошек предупреждение() нигде в глобальнике нет. Стандартные отчеты не трогал. Скорее всего когда интегрировал отчеты чтото не вписал в глобальник.
вот окошко:
[URL=http://photo.qip.ru/users/pcica/96689280/131002433/][IMG]http://photo.qip.ru/photo/pcica/96689280/xlarge/131002433.jpg[/IMG][/URL]
С благодарностью бы принял лекция о том, как правильно вживлять стандартные отчеты в конфу.
Спасибо
10 pcica
 
01.07.13
09:57
блин. неудобно вставлять фото. еще попытка:
http://photo.qip.ru/users/pcica/96689280/131002433/
11 pcica
 
01.07.13
09:58
т.е. нажал на кнопку настроить - вначале вывалилось это предупреждение. после нажатия на кнопку Ок - все дальше работает.
12 Мимохожий Однако
 
01.07.13
10:06
Логично провалиться по кнопке Настройка и посмотреть какая функция подвязана.
13 Mikeware
 
01.07.13
10:11
(12) или спросить товарища Отладчика....
14 Ёпрст
 
01.07.13
10:17
(9) см. (7)
15 aka AMIGO
 
01.07.13
10:17
есть в отчетах, и гм тоже, Процедура ОбработкаЯчейкиТаблицы(...)
в первых строках производится проверка вида/типа реквизита
чаще всего там поминается СписокЗначений
16 aka AMIGO
 
01.07.13
10:19
15+ это я к тому, где посмотреть отладчиком..

а насчет "флаг уронить в 0" - так у тс это происходит во многих отчетах..
17 pcica
 
01.07.13
11:35
(7) Вот процедура
Процедура ОбработкаЯчейкиТаблицы(Расшифровка, СтандартнаяОбработка, Таблица) Экспорт
   Перем Отчет;
   
   Если ТипЗначенияСтр(Расшифровка) <> "СписокЗначений" Тогда
       СтандартнаяОбработка=1;
       Возврат;
   КонецЕсли;
   
   Док=Расшифровка.Получить("Документ");
   Если ТипЗначения(Док) <> 0 Тогда
       ОткрытьФорму("Операция",, Док, Расшифровка.Получить("НомерПроводки"),
       Расшифровка.Получить("НомерКорреспонденции"),-1);
   Иначе  
       Меню=Расшифровка.Получить("Меню");
       Если ТипЗначенияСтр(Меню)="СписокЗначений" Тогда
           Если Меню.ВыбратьЗначение(Отчет, "",,, 1)=0 Тогда
               Возврат;
           КонецЕсли;
       Иначе
           Отчет=Расшифровка.Получить("Отчет");
       КонецЕсли;
       
       глРасшифровка=Расшифровка;
       глФлагРасшифровки=1;
       глОбновить=Число(Расшифровка.Получить("Обновить"));
       Если глОбновить <> 0 Тогда
           глТаблица=Таблица;
       КонецЕсли;
       
       Если Отчет="ОборотноСальдоваяВедомостьПоСчету" Тогда
           Счет=Расшифровка.Получить("Счет");
           Если Счет.КоличествоСубконто()=0 Тогда
               Расшифровка.Установить("ДанныеПоСубсчетам", Счет.ЭтоГруппа());
           КонецЕсли;
       КонецЕсли;                                                  
       
       Если Расшифровка.Получить("ОткрытьЖурналДокументов")=1 Тогда
           Док=Расшифровка.Получить("ДокументЖурнала");
           Конт=ПолучитьПустоеЗначение("");
           ОткрытьФорму("Журнал.Общий#ЖДОб", Конт);
           Конт.УстановитьИнтервал(Док.ДатаДок - 30, Док.ДатаДок + 30);
           Конт.АктивизироватьОбъект(Док);
       Иначе
           Попытка            
               Если Метаданные.Отчет(Отчет).Выбран()=1 Тогда
                   ОткрытьФорму("Отчет." + Отчет + "#");
               ИначеЕсли Метаданные.Обработка(Отчет).Выбран()=1 Тогда
                   ОткрытьФорму("Обработка." + Отчет + "#");
               ИначеЕсли ФС.СуществуетФайл(Отчет)=1 Тогда
                   ОткрытьФорму("Отчет",, Отчет);
               КонецЕсли;
           Исключение  
               Сообщить(ОписаниеОшибки());
           КонецПопытки;                  
       КонецЕсли;
       глФлагРасшифровки=0;
       глРасшифровка=0;
       глОбновить=0;
   КонецЕсли;
КонецПроцедуры
18 pcica
 
01.07.13
11:38
Переменные        
глФлагРасшифровки=0;
глРасшифровка=0;
глОбновить=0;
в глобальнике определены.
+ тоже окошко вываливается при двойном клике по отчету и переходе на расшифровку.
Отладчик пройдено все по шагам. В итоге доходим до конецПроцедуры ОбработкаЯчейкиТаблицы() и отладка заканчивается и вываливается окошко.
+ Расшифровка = "СписокЗначений" и в процедуру входим.
19 Ork
 
01.07.13
11:39
(17)
Если ТипЗначенияСтр(Расшифровка) <> "СписокЗначений" Тогда
   СтандартнаяОбработка=1;
   Возврат;
Иначе
   //Должно быть примерно так:
   СтандартнаяОбработка = 0;
КонецЕсли;
20 pcica
 
01.07.13
11:40
а насчет "флаг уронить в 0" - так у тс это происходит во многих отчетах..
А можно поподробнее???
21 Ork
 
01.07.13
11:42
(20) В (17) флаг стандартной обработки НИГДЕ в "0" не устанавливается.
22 aka AMIGO
 
01.07.13
11:45
(20) а что подробнее?
вот у тебя есть
   Если ТипЗначенияСтр(Расшифровка) <> "СписокЗначений" Тогда
       СтандартнаяОбработка=1;
       Возврат;
   КонецЕсли;

а вот вариант установки ФСО в 0

  Если ТипЗначенияСтр(Расшифровка) <> "СписокЗначений" Тогда
       СтандартнаяОбработка=1;
       Возврат;
   Иначе
       СтандартнаяОбработка=0;
   КонецЕсли;

ЗЫ. учти (21)
23 pcica
 
01.07.13
11:46
Ребят!!!! Стоп всем!! Спасибо!!!!
Сделал
   Если ТипЗначенияСтр(Расшифровка) <> "СписокЗначений" Тогда
       СтандартнаяОбработка=1;
       Возврат;
   Иначе
       СтандартнаяОбработка=0;
   КонецЕсли;
и все заработало!
ток я ничо не понял :)
24 aka AMIGO
 
01.07.13
11:49
(23) чё тут понимать? если нет обработки ячейки, движок сообщает, что за тип установлен в расшифровке
это может быть СЗ, число, значение..
25 pcica
 
01.07.13
11:50
Не понял. потому как ветка
   Иначе
       СтандартнаяОбработка=0;
работать не будет. т.к. ВСЕГДА Расшифровка="СписокЗначений".
т.е. в эту веткузаходить не будет
26 pcica
 
01.07.13
11:51
по крайней мере когда я ходил по ОбработкаЯчейкиТаблицы отладчиком для отлова окошка с ошибкой.
27 Ёпрст
 
01.07.13
11:54
(26) у тебя с логикой х..во совсем.
28 Ёпрст
 
01.07.13
11:55
он туда всегда заходить будет, если
ТипЗначенияСтр(Расшифровка) РАВНО (=) "СписокЗначений"
29 pcica
 
01.07.13
11:58
(27) Да, кодер с меня х..вый.
Спасибо за помощь.
Я уже понял свой косяк.