Имя: Пароль:
1C
1С v8
не заполняется табличная часть документа
0 hollow82
 
30.08.12
16:33
Добрый день, помогите, пожалуйста, разобраться
не заполняется табличная часть документа поступления



Процедура Инициализировать(ПереданныйОбъект, ИмяТЧ, ТабличноеПоле)Экспорт

СсылкаНаОбъект = ПереданныйОбъект.Ссылка;
//сообщить(ПереданныйОбъект + ИмяТЧ);
ИмяТаблЧасти = ИмяТЧ;
ТаблЧасть = ТабличноеПоле.Значение;    
Если ТаблЧасть.Количество()>0 Тогда
Ответ = Вопрос("Очистить табличную часть?", РежимДиалогаВопрос.ДаНет);
   Если Ответ = КодВозвратаДиалога.Да Тогда
       ТаблЧасть.Очистить();
   КонецЕсли;
КонецЕсли;
адресФайла = "C:\tov.txt";
файл = Новый ТекстовыйДокумент;
файл.Прочитать(адресФайла);
   
Для сч=1 По файл.КоличествоСтрок() Цикл    
   стр = файл.ПолучитьСтроку(сч);

новЗапрос=Новый Запрос;
новЗапрос.Текст=
"ВЫБРАТЬ ПЕРВЫЕ 1
| Штрихкоды.Владелец КАК Владелец,
| Штрихкоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| Штрихкоды.Штрихкод КАК Штрихкод
| ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
| ГДЕ
| Штрихкоды.Штрихкод=&стр";
           
           
новЗапрос.УстановитьПараметр("стр",стр);
РезультатЗапроса = новЗапрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
 Сообщить("не пустой");
 Выборка = РезультатЗапроса.Выгрузить();
 Для каждого ТекСтрока из Выборка цикл
       ПолучВладелец = ТекСтрока.Владелец;
       Сообщить(ПолучВладелец);
 КонецЦикла;
КонецЕсли;
Если НЕ ПустаяСтрока(ПолучВладелец)  тогда
               
Попытка ном =  Справочники.Номенклатура.НайтиПоНаименованию(ПолучВладелец);
Исключение
Попытка ном = Справочники.Номенклатура.НайтиПоРеквизиту( "НаименованиеПолное", ПолучВладелец) ;
                           
Исключение
 Сообщить("   !!!   ошибка, не найден товар с штрихкод = "+стр);        
КонецПопытки;
КонецПопытки;
КонецЕсли;
товарыСтрока= ТаблЧасть.Добавить();  
 Если НЕ ПустаяСтрока(ном)  тогда
   //сообщить("Тест "+ном.Наименование);
   товарыСтрока.Номенклатура=ном.Наименование; //здесь ошибка говорит не найдено поле объекта Номенклатура
   товарыСтрока.Количество = ном.Количество;            
   //товарыСтрока.Наименование=ном.Наименование;
   //товарыСтрока.ЕдиницаИзмерения=ном.ЕдиницаИзмерения;
   //товарыСтрока.Характеристика=ном.Артикул;
   //товарыСтрока.Коэффициент=ном.Коэффициент;
   //товарыСтрока.Качество = ном.Качество;

 КонецЕсли;
КонецЦикла;
1 Wobland
 
30.08.12
16:35
>говорит не найдено поле объекта Номенклатура
думаешь, мы его найдём?
2 Wobland
 
30.08.12
16:35
и почему берётся любой один владелец из выборки?
3 Wobland
 
30.08.12
16:36
ИмяТаблЧасти = ИмяТЧ;
ТаблЧасть = ТабличноеПоле.Значение;

двойка
4 Wobland
 
30.08.12
16:37
(2) первые 1. не из выборки, а из регистра
5 del123
 
30.08.12
16:37
попытка
исключение
попытка
исключение
конецпопытки
конецпопытки
Жесть какая..
6 Wobland
 
30.08.12
16:38
ном.Наименование

ты в курсе, чем "холлов82" отличается от тебя?
7 vmv
 
30.08.12
16:38
(5)
подстрахуй не подстрахуй
все равно получишь ...двойка
8 Staffa
 
30.08.12
16:39
вроде не пятница, но код доставляет )))
9 Wobland
 
30.08.12
16:39
на первый взгляд всё. если что-то упустил, остальные дозакидают ;) исправляй и возвращайся.
10 hollow82
 
30.08.12
16:42
Ну блин весело
Скажу сразу, многое копипаста, так как делаю что либо в 1С первый раз

ИмяТаблЧасти = ИмяТЧ;
ТаблЧасть = ТабличноеПоле.Значение;

двойка

ну я понял что двойка, здесь вопросы новичкам задавать запрещается?
11 Wobland
 
30.08.12
16:43
(10) нет. перед тем, как задать вопрос, придумай ответ:
1 строка: зачем?
2 строка: обращайся к данным, а не к тому, что ты видишь на форме
12 hollow82
 
30.08.12
16:51
Если бы я понимал, что Вы имеете ввиду...
ИмяТаблЧасти = ИмяТЧ; - осталось от подобной обработки заполнения табл.части
я тоже заметил, что негде не используется... смешно, наверное
ТабличноеПоле не понимаю что такое, и зачем берется его значение, не знаю
понимаю только что передается при инициализации это обработки
И принимает значение
ДокументТабличнаяЧасть.ПоступлениеТоваровУслуг.Товары
13 Wobland
 
30.08.12
16:53
(12) не тащи с формы, говори сразу ТвойДокумент.ТЧ
14 Reset
 
30.08.12
16:56
(12) Он имеет в виду, что логичнее было бы

ТаблЧасть=ПереданныйОбъект[ИмяТЧ];

вместо
ИмяТаблЧасти = ИмяТЧ;
ТаблЧасть = ТабличноеПоле.Значение;
15 hollow82
 
30.08.12
17:01
Это понял.
Теперь ошибок нету, но табл. часть не заполняет
16 Wobland
 
30.08.12
17:02
(15) в 18й строке ошибка
17 hollow82
 
30.08.12
17:05
Считая пустые строки или нет
Тоесь В запросе или при обращении к текстовому файлу?
18 Wobland
 
30.08.12
17:07
(17) тебе намекают, что х его з после твоих исправлений. или ты сочувствия ждёшь на (15)?
19 hollow82
 
30.08.12
17:09
Ясно
20 Шапокляк
 
30.08.12
17:30
(0) Код, конечно, замечательный.
ТС, ты, как я понимаю, имеешь текстовый файл со списком штрихкодов?
Ты в запросе ищешь владельца штрихкода и, наверно, находишь (и это уже ссылка на элемент справочника Номенклатура). Тогда за каким таким ты после этого пытаешься найти в справочнике Номенклатура элемент, у которого наименование равно ссылке на элемент справочника Номенклатура? Если даже предположить, что эта дикая затея удалась, то реквизит Количество в табличную часть документа записывается из одноименного реквизита найденной номенклатуры?
21 hollow82
 
30.08.12
17:31
Процедура Инициализировать(ПереданныйОбъект, ИмяТЧ, ТабличноеПоле) Экспорт
   //Если ПереданныйОбъект.Модифицированность() Тогда
   //    Предупреждение("Перед заполнением документа необходимо его записать!");
   //    Возврат;
   //КонецЕсли;
   
   СсылкаНаОбъект = ПереданныйОбъект.Ссылка;
   //сообщить(ПереданныйОбъект + ИмяТЧ);
   ИмяТаблЧасти = ИмяТЧ;
   ТаблЧасть=ПереданныйОбъект[ИмяТЧ];
   
   Если ТаблЧасть.Количество()>0 Тогда
       Ответ = Вопрос("Очистить табличную часть?", РежимДиалогаВопрос.ДаНет);
       Если Ответ = КодВозвратаДиалога.Да Тогда
           ТаблЧасть.Очистить();
       КонецЕсли;
   КонецЕсли;
   
   //ФормаРеал = Документы.РеализацияТоваровУслуг.ПолучитьФормуВыбора();
   //ФормаРеал.Заголовок = "Выберите реализацию товаров для заполнения перемещения";
   //ФормаРеал.РежимВыбора = Истина;
   //ТекРеал = ФормаРеал.ОткрытьМодально();

   адресФайла = "C:\tov.txt";
       файл = Новый ТекстовыйДокумент;
       файл.Прочитать(адресФайла);
   
       Для сч=1 По файл.КоличествоСтрок() Цикл    
           стр = файл.ПолучитьСтроку(сч);
                   
           
           новЗапрос=Новый Запрос;
           новЗапрос.Текст=
           "ВЫБРАТЬ ПЕРВЫЕ 1
           | Штрихкоды.Владелец КАК Владелец,
           | Штрихкоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
           | Штрихкоды.Штрихкод КАК Штрихкод
           | ИЗ
           | РегистрСведений.Штрихкоды КАК Штрихкоды
           | ГДЕ
           | Штрихкоды.Штрихкод=&стр";
           
           
           новЗапрос.УстановитьПараметр("стр",стр);
           //сообщить(новЗапрос.Текст);
           РезультатЗапроса = новЗапрос.Выполнить();
               //сСтрук = Новый Структура;
               
           Если Не РезультатЗапроса.Пустой() Тогда
               сообщить("не пустой");
               Выборка = РезультатЗапроса.Выгрузить();
               Для каждого ТекСтрока из Выборка цикл
                         
                         ПолучВладелец = ТекСтрока.Владелец;
                         Сообщить(ПолучВладелец);
                         
               КонецЦикла;
           КонецЕсли;
           //сообщить("пустой");
                       
           Если НЕ ПустаяСтрока(ПолучВладелец)  тогда
               
               Попытка ном =  Справочники.Номенклатура.НайтиПоНаименованию(ПолучВладелец);
                   сообщить("11");
                    Исключение
                        Попытка ном = Справочники.Номенклатура.НайтиПоРеквизиту( "НаименованиеПолное", ПолучВладелец) ;
                           
                           Исключение
                               Сообщить("   !!!   ошибка, не найден товар с штрихкод = "+стр);        
                       КонецПопытки;
               КонецПопытки;
           КонецЕсли;
           //
           //
           ////    
           товарыСтрока= ТаблЧасть.Добавить();
           сообщить(ТаблЧасть);  
           Если НЕ ПустаяСтрока(ном)  тогда
               ЗаполнитьЗначенияСвойств(товарыСтрока,ном);
               товарыСтрока.Номенклатура=ном.наименование;
               //товарыСтрока.Количество = ном.Количество;            
               //товарыСтрока.Номенклатура=ном.Наименование;
               //

               //            товарыСтрока.Номенклатура=ном.ЕдиницаИзмерения;
               //товарыСтрока.Характеристика=ном.Артикул;
               //товарыСтрока.Коэффициент=ном.Коэффициент;
               //товарыСтрока.Качество = ном.Качество;

           КонецЕсли;
   КонецЦикла;
22 Reset
 
30.08.12
17:32
(20) Я думаю, количество у него тоже в текстовом файле
23 Wobland
 
30.08.12
17:33
(21) > товарыСтрока.Номенклатура=ном.наименование;
повторяю вопрос: в чём разница между "холлов82" и тобой?
24 Reset
 
30.08.12
17:35
Что-то типа импорта с ТСД ваяет
25 hollow82
 
30.08.12
17:38
Да именно эту чешь я и делаю.
Потому что тсд под терминал работает плохо.

Я не понимаю намека, в чем разница
hollow82 -ник
я человек, на это намекаешь?
26 Wobland
 
30.08.12
17:43
(25) ага. пытаешься на место номенклатуры засунуть строку
27 Reset
 
30.08.12
17:43
(25) Он именно на это намекает.
и (20) в первом предложении
28 Reset
 
30.08.12
17:44
В третьем*
29 hollow82
 
30.08.12
17:47
Пардон с самого начала я не понял этого

Значит строку как то преобразовать надо?
30 Reset
 
30.08.12
17:52
(29) Я бы предложил с прояснения, откуда ты собирался количество брать и формата файла
31 Reset
 
30.08.12
17:52
(30) "предложил начать"
32 hollow82
 
30.08.12
17:52
(20) Да, я конечно и не ожидал, что с первого раза получится что то осмсленное
33 Reset
 
30.08.12
17:54
"вопросы новичкам задавать запрещается"
Вопросы не запрещается. У тебя же кривая попытка решения задачи, без описания ее (задачи). Поэтому энтузиазма у отвечающих и нема
34 hollow82
 
30.08.12
17:54
до количества дело и не дошло пока, оно будет в дальнейшем из текстовика
тоже выбираться.
с этим думаю разберусь.
мне бы хотябы вставить в таблицу номенклатуру
35 Шапокляк
 
30.08.12
17:56
(34) Повторяю намек. Ты запросом по штрихкоду Уже.Нашел.Номенклатуру.
36 hollow82
 
30.08.12
17:57
пардон, я собирался все описать в сообщении после кода но опешил слегка от ответов
Задача как описала шапокляк.
из текстовика взять штрихкоды и по ним заполнить табличнуючасть скажем в документе поступления
Я понял, что лишнее сделал.
но в результате же получил ном...
37 AlexTim03
 
30.08.12
17:58
(0) нельзя ссылке присвоить наименование (текст).
ссылка уже найдена запросом. ее и вставляй. Количество берется не из номенклатуры, а из текстового файла.
Поиск по наименованию не вернет исключение.
38 hollow82
 
30.08.12
18:01
(35) Как по ссылке получить объект?
39 Wobland
 
30.08.12
18:03
(38) тут даже Капитан О бессилен
40 Wobland
 
30.08.12
18:03
(38) только в ТЧ кладётся ссылка, а не объект
41 Шапокляк
 
30.08.12
18:04
(38) А в вашей табличной часть объекты хранятся? Прикольно.
42 Reset
 
30.08.12
18:06
Я причесал твой код из (0).
Не факт, что он безошибочен (наверняка есть ошибки).
Но по кр мере, его можно исп как рыбу для задачи считывания товаров по шк, без количества


Процедура Инициализировать(ПереданныйОбъект, ИмяТЧ, ТабличноеПоле)Экспорт

ТаблЧасть=ПереданныйОбъект[ИмяТЧ];

Если ТаблЧасть.Количество()>0 Тогда
Ответ = Вопрос("Очистить табличную часть?", РежимДиалогаВопрос.ДаНет);
   Если Ответ = КодВозвратаДиалога.Да Тогда
       ТаблЧасть.Очистить();
   КонецЕсли;
КонецЕсли;

адресФайла = "C:\tov.txt";
файл = Новый ТекстовыйДокумент;
файл.Прочитать(адресФайла);
   
Для сч=1 По файл.КоличествоСтрок() Цикл    
   стр = файл.ПолучитьСтроку(сч);

новЗапрос=Новый Запрос;
новЗапрос.Текст=
"ВЫБРАТЬ ПЕРВЫЕ 1
|    Штрихкоды.Владелец КАК Владелец,
|    Штрихкоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
|    Штрихкоды.Штрихкод КАК Штрихкод
|ИЗ
|    РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
|    Штрихкоды.Штрихкод = &стр";
           
           
новЗапрос.УстановитьПараметр("стр",стр);
РезультатЗапроса = новЗапрос.Выполнить();

Если РезультатЗапроса.Пустой() Тогда
 Сообщить("Не найден штрихкод <"+стр+">");
 продолжить;
КонецЕсли;
 Выборка = РезультатЗапроса.Выгрузить();
 
 Если Выборка.Количество()>1 тогда
     Сообщить("Найдено более 1 владельца штрихкода <"+стр+">");
     Сообщить("Что делать, хз");
     Продолжить;
 КонецЕсли;
 Выборка.Следующий();
 
товарыСтрока= ТаблЧасть.Добавить();  
товарыСтрока.Номенклатура=Выборка.Владелец; //здесь ошибка говорит не найдено поле объекта Номенклатура
товарыСтрока.ХарактеристикаНоменклатуры=Выборка.ХарактеристикаНоменклатуры;
   //товарыСтрока.Количество = ном.Количество;    // ??
   
   //товарыСтрока.Наименование=ном.Наименование;
   //товарыСтрока.ЕдиницаИзмерения=ном.ЕдиницаИзмерения;
   //товарыСтрока.Характеристика=ном.Артикул;
   //товарыСтрока.Коэффициент=ном.Коэффициент;
   //товарыСтрока.Качество = ном.Качество;
   
КонецЦикла;


43 Reset
 
30.08.12
18:08
Все, хватит на сегодня добрых дел ( и так уже в top100 попал :D)
44 Wobland
 
30.08.12
18:09
(42)"ВЫБРАТЬ ПЕРВЫЕ 1
Если Выборка.Количество()>1
45 hollow82
 
30.08.12
18:09
Вот я получил эту ссылку запросом,
Далее получается нужно было заполнить табл часть прямо из выборки...?
Это меня один спец сбил...
Я структуру данных 1С не очень понимаю, трудно мозги перестроить немножко...
Спасибо за код посижу поразбирвюсь.
46 Reset
 
30.08.12
18:12
(44) (42) Убрать "первые 1"
да много там еще, я не вдумываясь правил
47 Wobland
 
30.08.12
18:17
(46) ага. файл.Прочитать(адресФайла); без проверки, адрес статический...
48 hollow82
 
30.08.12
18:21
просто так из выборки.владелец взять не получается.
я почему и сделал тогда
Для каждого ТекСтрока из Выборка цикл
                         
ПолучВладелец = ТекСтрока.Владелец;
                       
КонецЦикла;
49 hollow82
 
30.08.12
18:23
Пробовал и так

Выборка["Владелец"]

тоже поле объекта не обнаруженно...
50 Reset
 
30.08.12
18:23
(48) Потому что у тебя Выгрузить() метод вместо Выбрать()  [я это тоже скопипастил]

p.s.
Еслиб сам делал, Шк читал бы в тз, потом номенклатуру вытаскивал одним запросом, без цикла.
Но это другая история.

Все, ушел домой
51 hollow82
 
30.08.12
18:28
Спасибо. попробую разобраться
52 hollow82
 
30.08.12
19:28
Вот так вроде в табличную часть вставляется характеристика и номенклатура
По поводу остальных параметров типа цена, ед. измерения, которых в этой выборке нет, как поступить?

ТаблЧасть=ПереданныйОбъект[ИмяТЧ];

Если ТаблЧасть.Количество()>0 Тогда
Ответ = Вопрос("Очистить табличную часть?", РежимДиалогаВопрос.ДаНет);
   Если Ответ = КодВозвратаДиалога.Да Тогда
       ТаблЧасть.Очистить();
   КонецЕсли;
КонецЕсли;

адресФайла = "C:\tov.txt";
файл = Новый ТекстовыйДокумент;
файл.Прочитать(адресФайла);
   
Для сч=1 По файл.КоличествоСтрок() Цикл    
   стр = файл.ПолучитьСтроку(сч);

новЗапрос=Новый Запрос;
новЗапрос.Текст=
"ВЫБРАТЬ
|    Штрихкоды.Владелец КАК Владелец,
|    Штрихкоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
|    Штрихкоды.Штрихкод КАК Штрихкод
|ИЗ
|    РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
|    Штрихкоды.Штрихкод = &стр";
           
           
новЗапрос.УстановитьПараметр("стр",стр);
РезультатЗапроса = новЗапрос.Выполнить();

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

  сообщить(Выборка.Владелец);

     
   товарыСтрока= ТаблЧасть.Добавить();  
   товарыСтрока.Номенклатура=Выборка.Владелец;
   товарыСтрока.ХарактеристикаНоменклатуры=Выборка.ХарактеристикаНоменклатуры;
       
 //Выборка.следующий();
 
   

   
   

   //товарыСтрока.ЕдиницаИзмерения=ном.ЕдиницаИзмерения;

   //товарыСтрока.Характеристика=ном.Артикул;

   //товарыСтрока.Коэффициент=ном.Коэффициент;

   //товарыСтрока.Качество = ном.Качество;

   
КонецЦикла;
53 Шапокляк
 
30.08.12
19:43
(52) Стоит поглядеть, что происходит с колонками ТЧ при изменении номенклатуры - там ведь тоже заполняются единицы, цены и все такое.
54 hollow82
 
30.08.12
19:50
там функциями какими то все заполняется

ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);

   // Заполняем реквизиты табличной части.
   ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, "Приобретение");
55 hollow82
 
30.08.12
19:52
а как то из справочника номенклатуры то я могу это все выбрать?
56 Шапокляк
 
30.08.12
19:54
А что мешает использовать штатный механизм? Заполнил строку, передал ее в функции как аргумент СтрокаТабличнойЧасти в (54).
57 hollow82
 
30.08.12
19:59
Как то вот так?
ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(ТаблЧасть.Номенклатура, ЭтотОбъект)
58 hollow82
 
30.08.12
20:01
нет, не работает
59 hollow82
 
30.08.12
20:02
Но ведь я изменил номенклатуру в ТЧ
по идее же эти функции сработать должны

в visual studio бы сработали
60 Wobland
 
30.08.12
20:04
(59) эти функции - обработчики интерактивных событий
61 Шапокляк
 
30.08.12
20:08
(57) ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(ТаблЧасть.Номенклатура, ЭтотОбъект)
Вы видите разницу в первом аргументе? Если нет, попробую вообразить себя Капитаном Очевидность.
СтрокаТабличнойЧасти - это строка табличной части.
ТаблЧасть.Номенклатура вообще неведомая хня. в (52) вы что добавляете в табличную часть? Вот это самое и есть строка табличной части.
62 hollow82
 
30.08.12
20:17
Боюсь опять ошибиться но добавляю я вроде
товарыСтрока.Номенклатура

или Выборка.Владелец?
63 hhhh
 
30.08.12
23:13
товарыСтрока= ТаблЧасть.Добавить();

то есть добавляешь товарыСтрока
64 hhhh
 
30.08.12
23:16
а в этой строке штук 30 колонок. И одна из них называется "Номенклатура". То есть ты в этой строке заполнил 2 значения, осталось еще 28 полей присвоить.
65 hollow82
 
31.08.12
00:07
В том то и дело что в выборке только 3 колонки, которые я выбрал
одна из них ссылка на владельца штрихкода, тоесть на справичник.номенклатура
как мне остальные колонки получить?
Как проставить цену и расчитать ндс..
Поэтому и хотел функциями воспользоваться

ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект)
понял что вызывать надо как то так
СтрокаТабличнойЧасти = товарыСтрока;
ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);

Но что то не работает...
66 Wobland
 
31.08.12
04:37
>СтрокаТабличнойЧасти = товарыСтрока;
на кой лишние переменные плодить?
>Но что то не работает...
а всё от того, что ЭтотОбъект в модуле формы документа и в твоей обработке - это разные ЭтиОбъекты
67 hollow82
 
02.09.12
02:34
Спасибо большое, разобрался, что надо:

ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТабличнойЧасти, ПереданныйОбъект);


Еще бы как-то с функцией ЗаполнитьЕдиницуЦенуПокупкиТабЧасти  разобраться.

При изменении номенклатуры в табличной части она вызывается так.

СтруктураШапкиДокумента = Новый Структура("Контрагент, ТипЦен, ДоговорКонтрагента, ДатаДокумента, ВалютаДокумента, УчитыватьНДС, СуммаВключаетНДС",
                                            Контрагент, ТипЦен, ДоговорКонтрагента, Дата,ВалютаДокумента, УчитыватьНДС,СуммаВключаетНДС);
ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, СтруктураШапкиДокумента, мВалютаРегламентированногоУчета);


не понять только откуда берутся Контрагент, ТипЦен, ДоговорКонтрагента, Дата,ВалютаДокумента, УчитыватьНДС,СуммаВключаетНДС

модуль ОбработкаТабличныхЧастей просмотрел, там вроде ничего такого
в начале не обьявляется...
68 hhhh
 
02.09.12
08:51
ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(СтрокаТабличнойЧасти, ПереданныйОбъект, ПереданныйОбъект, мВалютаРегламентированногоУчета);
69 hollow82
 
03.09.12
12:59
Получилось вот так, и работает вроде...
СтруктураШапкиДокумента = Новый Структура("Контрагент, ТипЦен, ДоговорКонтрагента, ДатаДокумента, ВалютаДокумента, УчитыватьНДС, СуммаВключаетНДС",
   ПереданныйОбъект.Контрагент, ПереданныйОбъект.ТипЦен, ПереданныйОбъект.ДоговорКонтрагента, ПереданныйОбъект.Дата,ПереданныйОбъект.ВалютаДокумента, ПереданныйОбъект.УчитыватьНДС,ПереданныйОбъект.СуммаВключаетНДС);
                                           
   ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(СтрокаТабличнойЧасти, ПереданныйОбъект,СтруктураШапкиДокумента, мВалютаРегламентированногоУчета);

Огромное спасибо за помощь!!! :)
Программист всегда исправляет последнюю ошибку.