Имя: Пароль:
1C
1С v8
Документ "Установка цен номенклатуры"
0 pashok3108
 
15.01.13
11:42
Здравствуйте!
Делаю внешнюю обработку заполнения табличных частей для документа "Установка цен номенклатуры".В табличную часть необходимо добавить номенклатуры.
Подскажите как это сделать?
К чему обращаться?К табличной части товары или к табличному полю Таблица Цен?
Заранее большое спасибо
1 cw014
 
15.01.13
11:44
Ну рискни обратиться к табличному полю, особенно вне контекста формы
2 rbcvg
 
15.01.13
11:45
Товары. Кстати, "Загрузка данных из табличного документа" чем не устраивает?
3 pashok3108
 
15.01.13
11:46
Строка= Док.Товары.Добавить();
Строка.Номенклатура=...;

Табличное поле остается пустым(
4 Undefined vs NULL
 
15.01.13
11:47
(3) это не рабочий кусок кода
5 demart-omsk
 
15.01.13
11:47
правильный ответ в (2)
6 demart-omsk
 
15.01.13
11:48
Зачем изобретать велосипед?
7 х86
 
15.01.13
11:56
баян вобщем-то

   ДокОбъект = Неопределено;
   Выборка = Запрос.Выполнить().Выбрать();
   Сч = 1;
   Всего = Выборка.Количество();
   Пока Выборка.Следующий() Цикл
       
       Если Сч%50 = 0 Тогда
           Состояние("Создание установки цен: [ " + Строка(Сч) + " / " + Строка(Всего) + " ]");
       КонецЕсли;
       
       //Создадим документ
       Если ДокОбъект = Неопределено Тогда
       
           ДокОбъект = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
           ДокОбъект.Дата = ТекущаяДата();
           ДокОбъект.УстановитьНовыйНомер();
           
           ДокОбъект.НеПроводитьНулевыеЗначения = Истина;
           ДокОбъект.Ответственный = глЗначениеПеременной("глТекущийПользователь");
           ДокОбъект.Комментарий = "Перенос в УТ11";
           
           НаборЦен = Новый Соответствие;
       
       КонецЕсли;
       
       //Заполним табл номенклатурой
       СтрокаТавары = ДокОбъект.Товары.Добавить();
       ЗаполнитьЗначенияСвойств(СтрокаТавары, Выборка);
       
       НаборЦен.Вставить(Выборка.ТипЦен, "");
       
       //Запишем док или полный или каждую н-пачку
       Если (ДокОбъект.Товары.Количество() = 5000) или (Всего = Сч) Тогда
           
           //Заполним типами цен
           Для каждого КлюЗнач Из НаборЦен Цикл
           
               СтрокаТипаЦен = ДокОбъект.ТипыЦен.Добавить();
               СтрокаТипаЦен.ТипЦен = КлюЗнач.Ключ;
           
           КонецЦикла;
       
           Попытка
               ДокОбъект.Записать();
               Сообщить("Записан документ: " + ДокОбъект);
           Исключение
               Сообщить(ОписаниеОшибки());
               Прервать;
           КонецПопытки;
           
           ДокОбъект = Неопределено;
       
       КонецЕсли;
       
       Сч = Сч + 1;
       
   КонецЦикла;
8 cw014
 
15.01.13
11:57
(3) А таблицу значений типов цен ты заполняешь? А проставляешь ключи связи таблицы типов цен и таблицы номенклатуры?
Ошибка? Это не ошибка, это системная функция.