Имя: Пароль:
1C
1C 7.7
v7: Бред какой-то ...
Ø (GROOVY 30.11.2011 07:36)
0 lamme
 
30.11.11
06:43
Код:

Процедура Ух()
Если ТипЗначенияСтр(КППППП)="ТаблицаЗначений" Тогда
Если КППППП.КоличествоСтрок() >0 тогда
       Если Вопрос("Добавить выбранные товары в накладную?","Да+Нет")="Нет" Тогда
           КППППП.очистить();
           СтатусВозврата(0);
           Возврат;
       КонецЕсли;    
               
       
       ТаблВыбранныхТоваров = СоздатьОбъект("ТаблицаЗначений");
       КППППП.Выгрузить(ТаблВыбранныхТоваров);
       КППППП.очистить();
       Если ТаблВыбранныхТоваров.КоличествоСтрок() >0 Тогда
       
       ТаблВыбранныхТоваров.ВыбратьСтроки();
       Пока ТаблВыбранныхТоваров.ПолучитьСтроку() = 1 Цикл  
           Сообщить(ТаблВыбранныхТоваров.номенклатура);
           Сообщить(ТаблВыбранныхТоваров.номенклатура.код);
           НоваяСтрока();
       Номенклатура    = ТаблВыбранныхТоваров.номенклатура;
...
...
...

если в ТаблВыбранныхТоваров - несколько строк
то в документ в ту строку на которой стоит указатель - попадает только последняя строка из ТаблВыбранныхТоваров
т.е. как такового добавления в табл часть - не происходит
и в тож время - сообщить(...) и сообщить(...Код) все верно выводит
т.е. в ТаблВыбранныхТоваров - есть данные и они верного типа.
1 lamme
 
30.11.11
06:45
т.е. общая беда - в текущий открытый документ данные из ТаблВыбранныхТоваров в табл часть - не попадают.
а просто встает в активную строку табл части - последнее значение из ТаблВыбранныхТоваров

если в документе строк нет - то вообще ничего не попадает
2 DCKiller
 
30.11.11
06:46
ЗагрузитьТабличнуюЧасть(ТаблВыбранныхТоваров) - не предлагать?
3 Wobland
 
30.11.11
06:46
новая строка у тебя не добавляется похоже.
НоваяСтрока();
Номенклатура=
это, конечно, бред. но, может, в семёрке так и надо.
и КППППП - тоже бред. и заголовок ветки тоже бред
4 Rie
 
30.11.11
06:48
(0) А что там за многоточиями скрывается?
И что думает по этому поводу товарищ Отладчик?
5 lamme
 
30.11.11
06:49
(2)
не. потому что в документе уже есть какие то строки
и их терять не надо
а ЗагрузитьТабличнуюЧасть - она очищает табл часть - потом только добавляет.
6 lamme
 
30.11.11
06:49
(3)
то что новая строка не добавляется - это я и сам вижу.
почему ?
7 lamme
 
30.11.11
06:50
(3)
в 7-ке - так и надо
(4)
отладчик проходит это место нормалньо.
по кр мере - на НоваяСтрока() - не вываливается и не говорит никакой ошибки
8 lamme
 
30.11.11
06:50
(2)
хотя .. можно выгрузить табл часть
в вирт табл - записать нове данные
и потом загрузить табл часть
изврат конечно - но можно попробовать
9 ДенисЧ
 
30.11.11
06:50
А сказать Форма.Обновить()?
10 lamme
 
30.11.11
06:51
(4)
за многоточяиями скрывается заполнение табл части
как-то
- количество
- сумма
...

(9)
аха. не помогает. пробовал уже
11 Rie
 
30.11.11
06:51
(8) А где эта процедура у тебя расположена? И зачем СтатусВозврата(0)?
12 lamme
 
30.11.11
06:56
в док реализация
по новой кнопке - открывается процедура поиск (Обработка.ПоискНовый)
результат поиска - есть таблица КППППП
13 lamme
 
30.11.11
06:56
где то там вставил
УдалитьСтроки()
а в ответ

УдалитьСтроки();
{Документ.Реализация.Форма.Модуль(1943)}: Нет возможности удалить строку!
14 ParaWiz
 
30.11.11
06:56
Покажи весь бредовый код этой процедуры
15 lamme
 
30.11.11
06:57
(14)
Процедура Ух()  
   Если ТипЗначенияСтр(КППППП)="ТаблицаЗначений" Тогда
       
   
       
Если КППППП.КоличествоСтрок() >0 тогда
       Если Вопрос("Добавить выбранные товары в накладную?","Да+Нет")="Нет" Тогда
           КППППП.очистить();
           СтатусВозврата(0);
           Возврат;
       КонецЕсли;    
               
       
       
       
       ТаблВыбранныхТоваров = СоздатьОбъект("ТаблицаЗначений");
       КППППП.Выгрузить(ТаблВыбранныхТоваров);
       КППППП.очистить();
       Если ТаблВыбранныхТоваров.КоличествоСтрок() >0 Тогда
           НекаВиртТЗ  =СоздатьОбъект("ТаблицаЗначений");
           ВыгрузитьТабличнуюЧасть(НекаВиртТЗ );
       
       ТаблВыбранныхТоваров.ВыбратьСтроки();
       Пока ТаблВыбранныхТоваров.ПолучитьСтроку() = 1 Цикл  
       //    Сообщить(ТаблВыбранныхТоваров.номенклатура);
       //    Сообщить(ТаблВыбранныхТоваров.номенклатура.код);
           НекаВиртТЗ.НоваяСтрока();
           НекаВиртТЗ.Номенклатура    = ТаблВыбранныхТоваров.номенклатура;
           //Количество = 1;
           //Единица = Номенклатура.БазоваяЕдиница;
           //Коэффициент =Номенклатура.БазоваяЕдиница.Коэффициент ;
           //Цена = ПолучитьЦенуТовара(Номенклатура) ;
           //Сумма = Цена;
           //СтавкаНДС = Номенклатура.СтавкаНДС;
           //СтавкаНП =Номенклатура.ставкаНП;
           //
           //
           //глПересчетТаблЧасти(Контекст,"Цена");            
           //глРасчетНалога(Контекст,"НДС");
           //глРасчетНалога(Контекст,"НП");
           //
       //ФОрма.Обновить();        
       КонецЦикла; // Пока ТаблВыбранныхТоваров.ПолучитьСтроку() = 1 Цикл  
           
//        УдалитьСтроки();
       ЗагрузитьТабличнуюЧасть(НекаВиртТЗ);
   КонецЕсли; //Если ТаблВыбранныхТоваров.КоличествоСтрок() >0 Тогда


КонецЕсли;
   
КонецЕсли;    
   
   
КонецПроцедуры    


чуть переделал
хотел выгрузитьТЧ()
заполнить ее данными
ЗагрузитьТЧ()
16 lamme
 
30.11.11
06:59
но собственно
и ВыгрузитьТабличнуюЧасть()
заполнить ее данными
ЗагрузитьТаблЧасть()
не работает тож ...

пошел делать ТиИ
17 Rie
 
30.11.11
07:02
(16) Жестоко...
А может, лучше было бы выяснить, почему не даёт ни добавлять, ни удалять строку? Кто-то чего-то заблокировал?
18 lamme
 
30.11.11
07:03
(17)
тии не помогло. ошибок не дало.
а кто может заблокировать документ - если я в нем сижу?
ну и кроме меня в базе никто не работает
потому что это тестовая база.
19 lamme
 
30.11.11
07:05
(17)
повесил на форму кнопку с функцией - УдалитьСтроки()
прекрасно удалила ...

мда ...
че-то  я припух ...
20 Песец
 
30.11.11
07:06
(15)
Перем КППППП, ТаблВыбранныхТоваров, НекаВиртТЗ;
...
КППППП.ВыбратьСтроку();
...
ТаблВыбранныхТоваров.ВыбратьСтроку();
...
НекаВиртТЗ.ВыбратьСтроку();
...
НекаВиртТЗ.ВыбратьСтроку();
ЗагрузитьТабличнуюЧасть(НекаВиртТЗ);
...
21 Rie
 
30.11.11
07:08
(19) А твоя Ух() - на чём висит-то?
22 lamme
 
30.11.11
07:08
все
понял где собака порылась ...
стыд мне и позор ...

даже говорить не буду ...
тема закрыта
23 YHVVH
 
30.11.11
07:13
+(22) бред какой-то..:-)
24 МастерВопросов
 
30.11.11
07:14
(22) заблокирован документ был?
Или не делал Записать() ?
25 МастерВопросов
 
30.11.11
07:15
(22) а-а-а вот в чем дело?

" ЗагрузитьТабличнуюЧасть(НекаВиртТЗ);" - уже после цикла
26 lamme
 
30.11.11
07:16
(24)
документ заблокирован мной же
потому что я открыл этот документ
и нажал кнопку в документе Ух()
---
27 МастерВопросов
 
30.11.11
07:18
"Процедура Ух()" - мягко говоря неинформативное название процедуры  >:-(
28 Rie
 
30.11.11
07:20
(26) А вот с этого места поподробнее... Если кнопка находится в форме того же документа (а это видно из (0)), то никакой ты ничего (этой форме) не блокируешь.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн