Имя: Пароль:
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)), то никакой ты ничего (этой форме) не блокируешь.