Имя: Пароль:
1C
1C 7.7
v7: Перестала корректно работать форма справочника
0 Gray776
 
31.01.13
09:20
Конфигурация самописная(Писал не я) видимых причин возникновения глюка не обнаружил. Но что то вроде того работало работало и вдруг перестало. (сам я в такие чудеса не верю но причину так и не выяснил)
В общем справочник материалы и там создается список по субсчетам счета 10 кроме 10,7 и вот этот список перестал выпадать. Если надо могу код выложить там чуть чуть кода.
1 Gray776
 
31.01.13
09:23
По сути глюк в этой процедуре по моему :
//_____________________________________________________________________________
Процедура ПриВыбореВидаМатериала()
   Если СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока()) = СчетПоКоду("10.7") Тогда
     Предупреждение("Счет "+СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока())+" "
     +СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока()).ПолнНаименование+"
      |не может быть использован в качестве счета первичного учета материалов.
      |Для оформления передачи материалов в переработку на сторону
      |используйте документ ""Отгрузка материалов на сторону"" в режиме
      |""Передача в переработку на сторону""");
   СписокСубсчетов.ТекущаяСтрока(СписокСубсчетов.НайтиЗначение(СубСчет10));
   Возврат;
   КонецЕсли;
   СубСчет10 = СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока());
КонецПроцедуры //ПриВыбореВидаМатериала
//_____________________________________________________________________________
2 Gray776
 
31.01.13
09:24
Блин вроде все нормально и работало все почему перестало работать не пойму блин.
3 Mikeware
 
31.01.13
09:26
открой для себя отладчик
4 Mitay_D
 
31.01.13
09:27
Процедура ПриОткрытии() // Предопределенная процедура
   Сч = СоздатьОбъект("Счет");
   Сч.ИспользоватьРодителя(СчетПоКоду(10));
   Сч.ВыбратьСчета();
   СписокСубсчетов.УдалитьВсе();
   
   Если ПустоеЗначение(СубСчет10) = 1 Тогда
       СписокСубсчетов.ДобавитьЗначение("","< не выбран >");
   КонецЕсли;
   
   Пока Сч.ПолучитьСчет() = 1 Цикл
       
       Если (Найти(Сч.Код, "10.7") = 1)
       или (Найти(Сч.Код, "10.11") = 1) Тогда
           Продолжить;
       КонецЕсли;
       
       СписокСубсчетов.ДобавитьЗначение(Сч.ТекущийСчет(),"("+Сч.Код+") "+Сч.ПолнНаименование);    
   КонецЦикла;
   
   СписокСубсчетов.ТекущаяСтрока(СписокСубсчетов.НайтиЗначение(СубСчет10));
   
   УправлениеВидимостьюКнопкиНазначенияИспользования();
   
КонецПроцедуры // ПриОткрытии
5 Gray776
 
31.01.13
09:27
(3) Не понял... С отладчиком прогнать чтоль предлагаешь?
6 Mitay_D
 
31.01.13
09:28
(4) вот здесь в отладчик лезь и смотри. добавляет или нет значения счетов
7 Ёпрст
 
31.01.13
09:28
(0) в этой проце нет выбра из списка, она тут не при чем
8 Gray776
 
31.01.13
09:28
(4)//_____________________________________________________________________________
Процедура ПриВыбореВидаМатериала()
   Если СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока()) = СчетПоКоду("10.7") Тогда
     Предупреждение("Счет "+СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока())+" "
     +СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока()).ПолнНаименование+"
      |не может быть использован в качестве счета первичного учета материалов.
      |Для оформления передачи материалов в переработку на сторону
      |используйте документ ""Отгрузка материалов на сторону"" в режиме
      |""Передача в переработку на сторону""");
   СписокСубсчетов.ТекущаяСтрока(СписокСубсчетов.НайтиЗначение(СубСчет10));
   Возврат;
   КонецЕсли;
   СубСчет10 = СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока());
КонецПроцедуры //ПриВыбореВидаМатериала
//_____________________________________________________________________________
//_____________________________________________________________________________
Процедура ВводНового(Копирование)
   Если Копирование = 1 Тогда    //копирование элемента
       Возврат;
   КонецЕсли;

   СубСчет10 = СчетПоКоду("10.1");
   ЕдиницаИзмерения = глЗначениеПоУмолчанию("ОсновнаяЕдиницаИзмерения");
КонецПроцедуры
//_____________________________________________________________________________
Процедура ПриОткрытии() // Предопределенная процедура
   Сч = СоздатьОбъект("Счет");
   Сч.ИспользоватьРодителя(СчетПоКоду(10));
   Сч.ВыбратьСчета();
   СписокСубсчетов.УдалитьВсе();
   СписокСубсчетов.ДобавитьЗначение("","< не выбран >");
   Пока Сч.ПолучитьСчет() = 1 Цикл
       СписокСубсчетов.ДобавитьЗначение(Сч.ТекущийСчет());  //,"("+Сч.Код+") "+Сч.ПолнНаименование
       Сообщить(Сч.ТекущийСчет());
   КонецЦикла;
   СписокСубсчетов.ТекущаяСтрока(СписокСубсчетов.НайтиЗначение(СубСчет10));
КонецПроцедуры // ПриОткрытии
//_____________________________________________________________________________
Процедура ПриЗаписи()
   Если СубСчет10 = СчетПоКоду("10.7") Тогда
     Предупреждение("Счет "+СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.НайтиЗначение(СубСчет10)) +" "
     +СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.НайтиЗначение(СубСчет10)).ПолнНаименование+
     "|не может быть использован в качестве счета первичного учета материалов.
      |Для оформления передачи материалов в переработку на сторону
      |используйте документ ""Отгрузка материалов на сторону"" в режиме
      |""Передача в переработку на сторону""");
   СтатусВозврата(0);
   КонецЕсли;
КонецПроцедуры // ПриЗаписи


Вот весь код
9 Gray776
 
31.01.13
09:29
Сообщить эт я уже проверял счета выбираютс да и куда они блин денутся...
10 Gray776
 
31.01.13
09:30
(7)Ф орме в элементе стоит формулой эта процедура при нажатии на кнопку пустой список показывать стало хотя раньше такого не было
11 Gray776
 
31.01.13
09:32
Упс я там немного неправильно счас приведу к изначальному виду и коперну(8)
12 Gray776
 
31.01.13
09:34
(4)(8)(11)

//_____________________________________________________________________________
Процедура ПриВыбореВидаМатериала()
   Если СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока()) = СчетПоКоду("10.7") Тогда
     Предупреждение("Счет "+СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока())+" "
     +СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока()).ПолнНаименование+"
      |не может быть использован в качестве счета первичного учета материалов.
      |Для оформления передачи материалов в переработку на сторону
      |используйте документ ""Отгрузка материалов на сторону"" в режиме
      |""Передача в переработку на сторону""");
   СписокСубсчетов.ТекущаяСтрока(СписокСубсчетов.НайтиЗначение(СубСчет10));
   Возврат;
   КонецЕсли;
   СубСчет10 = СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.ТекущаяСтрока());
КонецПроцедуры //ПриВыбореВидаМатериала
//_____________________________________________________________________________
//_____________________________________________________________________________
Процедура ВводНового(Копирование)
   Если Копирование = 1 Тогда    //копирование элемента
       Возврат;
   КонецЕсли;

   СубСчет10 = СчетПоКоду("10.1");
   ЕдиницаИзмерения = глЗначениеПоУмолчанию("ОсновнаяЕдиницаИзмерения");
КонецПроцедуры
//_____________________________________________________________________________
Процедура ПриОткрытии() // Предопределенная процедура
   Сч = СоздатьОбъект("Счет");
   Сч.ИспользоватьРодителя(СчетПоКоду(10));
   Сч.ВыбратьСчета();
   СписокСубсчетов.УдалитьВсе();
   СписокСубсчетов.ДобавитьЗначение("","< не выбран >");
   Пока Сч.ПолучитьСчет() = 1 Цикл
       СписокСубсчетов.ДобавитьЗначение(Сч.ТекущийСчет(),"("+Сч.Код+") "+Сч.ПолнНаименование);
   КонецЦикла;
   СписокСубсчетов.ТекущаяСтрока(СписокСубсчетов.НайтиЗначение(СубСчет10));
КонецПроцедуры // ПриОткрытии
//_____________________________________________________________________________
Процедура ПриЗаписи()
   Если СубСчет10 = СчетПоКоду("10.7") Тогда
     Предупреждение("Счет "+СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.НайтиЗначение(СубСчет10)) +" "
     +СписокСубсчетов.ПолучитьЗначение(СписокСубсчетов.НайтиЗначение(СубСчет10)).ПолнНаименование+
     "|не может быть использован в качестве счета первичного учета материалов.
      |Для оформления передачи материалов в переработку на сторону
      |используйте документ ""Отгрузка материалов на сторону"" в режиме
      |""Передача в переработку на сторону""");
   СтатусВозврата(0);
   КонецЕсли;
КонецПроцедуры // ПриЗаписи
13 Ёпрст
 
31.01.13
09:41
(12) здесь нигде нет выбора из списка.
14 Ёпрст
 
31.01.13
09:42
СписокСубсчетов - это реквизит формы у тебя, или что ?
15 Ёпрст
 
31.01.13
09:42
Т.е это поле со спискам, или список значений на форме?
16 Gray776
 
31.01.13
09:50
(13) Но ведь работало я не думаю что бух залез и грохнул что-то
(14)СубСчет10 реквизит формы, СписокСубсчетов Элемент формы ну кнопка так называется - кнопка со списком
17 Gray776
 
31.01.13
09:51
(15)Выпадающий список блин незнаю как еще его назвать
18 Boroda
 
31.01.13
09:51
А реквизит "ВидМатериала" не обрабатывается через "ПриНачалеВыбораЗначения"?
19 Ёпрст
 
31.01.13
09:53
(17)Это поле со списком, растяни его вниз на форме и не ипи мосх.
20 Gray776
 
31.01.13
09:53
(18)Нет. Там просто выбор из справочника в котором 2 поля № и наименование.
21 Gray776
 
31.01.13
09:54
(19) сча попробую
22 Джордж1
 
31.01.13
09:54
(19)+100.
Лет 15 назад на это сам попадал
23 Ёпрст
 
31.01.13
09:55
24 Gray776
 
31.01.13
09:55
(19)Блин работает спасибо
25 Gray776
 
31.01.13
09:56
(23) та проверил уже все нормально стало еще раз спасибо ото я мозг себе чуть не сломал думать что не так там просто никогда не работал с таким элементом другими обходился
26 oslokot
 
31.01.13
09:58
мда...
27 Gray776
 
31.01.13
10:02
Вот интересно как (или какая сука постаралась) получилось что перестал выпадать список хм...
28 Ёпрст
 
31.01.13
10:03
конфу мот обновили
29 Ёпрст
 
31.01.13
10:03
или удалили реквизит с формы - вернули обратно, растянуть забыли
30 Gray776
 
31.01.13
10:07
Неее конфа писаная с нуля. А в конфигураторе там остальным делать нефига. да и некому. ХЗ может при жестком ребуте такое случилось блин кароче загадка ...ну и хрен с ней главное решение проблемы есть...