Имя: Пароль:
1C
1C 7.7
v7: Перенос(списание) партий из ТЗ в табл часть
,
0 Burunduk8
 
07.09.11
09:51
Доброе утро!
Есть такая проблема:
нужно чтобы юзер мог щелчком мыши из ТЗ в табличную часть РасхНакл выбирать партии для списания, при этом добавляются новые строки в табличную часть, в которые заносится «Товар», «Партия»,  «Количество», а в скрытый реквизит табличной части «ЦенаЗакупки» заносится цена выбранной партии;
Как это можно реализовать?(первая строчка)

п.с. http://s06.radikal.ru/i179/1109/92/dcdfaaf32f66.jpg
вот как примерно выглядит форма диалога документа РасхНакл

п.п.с.: занимаюсь 1С примерно неделю :)
1 zak555
 
07.09.11
09:52
это самописка ?
2 lamme
 
07.09.11
09:52
на таблицу вешай
ОбработкаКликаПоТЗ()
и в нее пиши все события
3 lamme
 
07.09.11
09:53
Процедура ОбработкаКликаПоТЗ()
   перем у;    
   Если Тз.КоличествоСтрок() = 0 Тогда
       СтатусВозврата(0);
       Возврат;
   КонецЕсли;
   
   Тз.ТекущаяКолонка(,у);

....
4 Burunduk8
 
07.09.11
10:00
Процедура ОбработкаКликаПоТЗ()
   перем у;    
   Если СписокПартий.КоличествоСтрок() = 0 Тогда
       СтатусВозврата(0);
       Возврат;
   КонецЕсли;
   
   СписокПартий.ТекущаяКолонка(,у);
КонецПроцедуры

Не работает.
5 Ёпрст
 
07.09.11
10:16
(4)
Процедура ОбработкаКликаПоТЗ()
   Стр = СписокПартий.ТекущаяСтрока();
   Если Стр =0 Тогда Возврат; КонецЕсли;
   СписокПартий.ПолучитьСтрокуПоНомеру(Стр);
   НоваяСтрока()
   Партия = СписокПартий.Партия;
   Количество = СписокПартий.Количество;
   ......
   Форма.Обновить(0);
КонецПроцедуры
6 Burunduk8
 
07.09.11
10:26
(5)

Процедура ОбработкаКликаПоТЗ()
   Стр = СписокПартий.ТекущаяСтрока();
   Если Стр =0 Тогда Возврат; КонецЕсли;
   СписокПартий.ПолучитьСтрокуПоНомеру(Стр);
   НоваяСтрока();
   Партия = СписокПартий.Партия;
   Товар = Товар.Наименование;
   Цена=Товар.ЦенаПродажи.Получить(ДатаДок);
   Количество = СписокПартий.Количество;
   ОбщСумма = СписокПартий.Стоимость;
   Форма.Обновить(0);
КонецПроцедуры

Только Количество заполняет и все.
7 Lepochkin
 
07.09.11
10:34
А отладчик что говорит?
8 Burunduk8
 
07.09.11
10:37
(7)

мне стыдно признаться, но я ещё не умею пользоваться отладчиком...
по крайней мере в меню "Отладка" все недоступно...

п.с. мб меня не будет ~час
9 PuhUfa
 
07.09.11
10:38
>> Товар = Товар.Наименование;
ошибка тут
10 Lepochkin
 
07.09.11
10:45
и еще видимо таблица СписокПартий криво заполнено
11 Burunduk8
 
07.09.11
12:31
(10)

Процедура Сформировать()
   Рег=СоздатьОбъект("Регистр.ТоварыНаСкладе");

   Если ДатаДок<ПолучитьДатуТА() Тогда
       Рег.ВременныйРасчет();
       РассчитатьРегистрыНа(ДатаДок);
   КонецЕсли;
       

   Рег.УстановитьЗначениеФильтра("Товар",ТоварДляВыбора,2);
           
   Рег.ВыгрузитьИтоги(СписокПартий);
                   
   КонецПроцедуры
12 Burunduk8
 
07.09.11
12:44
(9)
к примеру, если закомментировать эту строчку то все равно заполняется только "Количество" как и прежде
13 PuhUfa
 
07.09.11
13:03
(12) ее не надо комментировать ее надо исправить -)
14 Burunduk8
 
07.09.11
13:47
(12)

Тов = СоздатьОбъект("Справочник.Товары");
15 Burunduk8
 
07.09.11
13:48
(12)

Тов = СоздатьОбъект("Справочник.Товары");
Товар = Тов.Наименование;

так сделал, но все также осталось(
16 Burunduk8
 
07.09.11
17:43
В ТЗ колонки "Партия", "Колв-во", и "Стоимость"
а  табл части ещё "Товар" и "Цена"...

помогите плз записывает только "Кол-во" и "Стоимость"...
17 Ёпрст
 
07.09.11
18:05
(16) типы не совпадают
В документе, реквизиты табличной части какого типа у тебя ?
18 Burunduk8
 
07.09.11
18:12
(17)
Партию тож наладил
Товар - Справочник.Товары и та м и там
Цена - число и там и там
19 Ёпрст
 
07.09.11
18:18
(18) так, ... и что сейчас не заполняет ?
И код давай свой.
20 Burunduk8
 
07.09.11
18:23
(19)

Процедура ОбработкаКликаПоТЗ()
   Стр = СписокПартий.ТекущаяСтрока();
   Если Стр =0 Тогда Возврат; КонецЕсли;
   СписокПартий.ПолучитьСтрокуПоНомеру(Стр);
   НоваяСтрока();
   Партия = СписокПартий.Партия;
   Товар = Товар.Наименование;
   Цена=Товар.ЦенаПродажи.Получить(ДатаДок);
   Количество = СписокПартий.Количество;
   ОбщСумма = СписокПартий.Стоимость;
   Форма.Обновить(0);
   
КонецПроцедуры

вот я перебробовал варианты как Товар и Цену написать ПОСЛЕ
Форма.Обновить(0);
но не получалось
21 Ёпрст
 
07.09.11
18:31
(20)
(20)

Процедура ОбработкаКликаПоТЗ()
   Стр = СписокПартий.ТекущаяСтрока();
   Если Стр =0 Тогда
         Возврат;
   КонецЕсли;
   СписокПартий.ПолучитьСтрокуПоНомеру(Стр);
   НоваяСтрока();
   Партия = СписокПартий.Партия;
   Товар = СписокПартий.Товар;
   Цена=Товар.ЦенаПродажи.Получить(ДатаДок);
   Количество = СписокПартий.Количество;
   ОбщСумма = СписокПартий.Стоимость;
   Форма.Обновить(0);
   
КонецПроцедуры
22 Burunduk8
 
07.09.11
18:39
пишет:

Товар = СписокПартий.Товар;
{Документ.РасхНакл.Форма.Модуль(20)}: Поле агрегатного объекта не обнаружено (Товар)
23 Ёпрст
 
07.09.11
18:41
(22) ну дык, а откуда ты товар свой брать собираешься ?
24 Burunduk8
 
07.09.11
18:56
Рег.УстановитьЗначениеФильтра("Товар",ТоварДляВыбора,2);

это стоит у меня в процедуре Сформировать() - но без него никак

может быть из-за этого знаение "Товар" не входит в ТЗ?
25 Ёпрст
 
07.09.11
19:00
(24) в документе, есть реквизит табличной части "Товар" ?
26 Burunduk8
 
07.09.11
19:13
(25)
да
27 Burunduk8
 
07.09.11
20:09
Всем спс. Проблема решилась))