![]() |
|
Как записать программно вид номенклатуры | ☑ | ||
---|---|---|---|---|
0
andrspir
08.05.08
✎
14:09
|
Подскажите как при записи нового элемента в Номенклатуру перед этим еще и записать Вид Номенклатуры?
|
|||
1
Злобный Йожег
08.05.08
✎
14:11
|
У самой номенклатуры или просто в справочник "ВидыНоменклатуры"?
|
|||
2
andrspir
08.05.08
✎
14:14
|
У самой номенклатуры верси 8.1
|
|||
3
Злобный Йожег
08.05.08
✎
14:16
|
НовВидНоменклатуры = Справочники.ВидыНоменклатуры.СоздатьЭлемент();
НовВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.КакойТоТип; НовВидНоменклатуры.Записать(); Номенклатура.ВидНоменклатуры = НовВидНоменклатуры.Ссылка; Это если новый вид номенклатуры |
|||
4
Злобный Йожег
08.05.08
✎
14:17
|
Забыл написать... Наименование вида номенклатуры при создании тоже укажи...
|
|||
5
andrspir
08.05.08
✎
14:17
|
А то ситуация такая подготовлены элементы номенклатуры для записи и вылетает ошибка что сначала надо записать ВидНоменклатуры
|
|||
6
Злобный Йожег
08.05.08
✎
14:21
|
Ну... получилось?
|
|||
7
andrspir
08.05.08
✎
14:26
|
пока нет все равно та же ошибка
|
|||
8
Злобный Йожег
08.05.08
✎
14:27
|
Покажи, как делаешь
|
|||
9
andrspir
08.05.08
✎
14:29
|
//Наконец то начинаем записывать элементы
НовВидНоменклатуры = Справочники.ВидыНоменклатуры.СоздатьЭлемент(); НовВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар; НовВидНоменклатуры.Записать(); Номенклатура.ВидНоменклатуры = НовВидНоменклатуры.Ссылка; Сообщить("********************************************************"); Сообщить("Протокол загрузки товаров из файла <"+СокрЛП(ИмяФайла)+">"); Если СоздатьДокументУстановкаЦенНоменклатуры=Истина Тогда ТабТиповЦен=новый ТаблицаЗначений; ТабТиповЦен.колонки.Добавить("Элемент"); ТабТиповЦен.колонки.Добавить("Цена1"); ТабТиповЦен.колонки.Добавить("Цена2"); ТабТиповЦен.колонки.Добавить("Цена3"); ТабТиповЦен.колонки.Добавить("ЕдИзм"); КонецЕсли; КолНовыхТоваров=0; КолСтарыхТоваров=0; Для индСтроки=0 По ДеревоПоставщика.строки.Количество()-1 цикл строкаПоставщика=ДеревоПоставщика.Строки.Получить(индСтроки); Если строкаПоставщика.строки.Количество()=0 Тогда строкаНоменклатуры=Неопределено; ЗагрузитьЭлементНоменклатуры(строкаПоставщика,строкаНоменклатуры); Продолжить; КонецЕсли; строкаНоменклатуры=деревоНоменклатуры.строки.Найти(строкаПоставщика.Наименование); Если строкаНоменклатуры=Неопределено Тогда Продолжить; КонецЕсли; Для индСтроки1=0 По строкаПоставщика.строки.Количество()-1 цикл строкаПоставщика1=строкаПоставщика.Строки.Получить(индСтроки1); Если строкаПоставщика1.строки.Количество()=0 Тогда ЗагрузитьЭлементНоменклатуры(строкаПоставщика1,строкаНоменклатуры); Продолжить; КонецЕсли; строкаНоменклатуры1=строкаНоменклатуры.Строки.Найти(строкаПоставщика1.Наименование); Если строкаНоменклатуры1=Неопределено Тогда Продолжить; КонецЕсли; Для индСтроки2=0 По строкаПоставщика1.строки.Количество()-1 цикл строкаПоставщика2=строкаПоставщика1.Строки.Получить(индСтроки2); Если строкаПоставщика2.строки.Количество()=0 Тогда ЗагрузитьЭлементНоменклатуры(строкаПоставщика2,строкаНоменклатуры1); Продолжить; КонецЕсли; строкаНоменклатуры2=строкаНоменклатуры1.Строки.Найти(строкаПоставщика2.Наименование); Если строкаНоменклатуры2=Неопределено Тогда Продолжить; КонецЕсли; Для индСтроки3=0 По строкаПоставщика2.строки.Количество()-1 цикл строкаПоставщика3=строкаПоставщика2.Строки.Получить(индСтроки3); Если строкаПоставщика3.строки.Количество()=0 Тогда ЗагрузитьЭлементНоменклатуры(строкаПоставщика3,строкаНоменклатуры2); Продолжить; КонецЕсли; строкаНоменклатуры3=строкаНоменклатуры2.Строки.Найти(строкаПоставщика3.Наименование); Если строкаНоменклатуры3=Неопределено Тогда Продолжить; КонецЕсли; Для индСтроки4=0 По строкаПоставщика3.строки.Количество()-1 цикл строкаПоставщика4=строкаПоставщика3.Строки.Получить(индСтроки4); ЗагрузитьЭлементНоменклатуры(строкаПоставщика4,строкаНоменклатуры3); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Сообщить("Записано новых товаров в справочник номенклатуры <"+СокрЛП(КолНовыхТоваров)+">"); Сообщить("Изменены параметры имеющихся товаров в справочнике номенклатуры <"+СокрЛП(КолСтарыхТоваров)+">"); Сообщить("********************************************************"); Если СоздатьДокументУстановкаЦенНоменклатуры=Ложь Тогда Возврат; КонецЕсли; Переменная Номенклатура не определена |
|||
10
andrspir
08.05.08
✎
14:32
|
Это кусок из обработки которая работала в версии 8.0
а в 8.1 после конвертации она ругается что нет записи ВидаНоменклатуры при записи элемента в справочник номенклатура |
|||
11
Mitriy
08.05.08
✎
14:33
|
(10) а дословно ошибку выложи?
|
|||
12
andrspir
08.05.08
✎
14:36
|
После добавленПротокол загрузки товаров из файла <C:\NIX3.XLS>
Перед записью в элементе справочника "Номенклатура" необходимо заполнить "вид номенклатуры"! |
|||
13
Злобный Йожег
08.05.08
✎
14:38
|
Копай там, где у тебя переменной КолНовыхТоваров (и КолСтарыхТоваров наверно тож...) прибавляется 1.
|
|||
14
andrspir
08.05.08
✎
14:38
|
Вот ссылка на эту обработку под 8.0
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=120&lid=7018 а после конвертации в 8.1 не хочет записывать элементы |
|||
15
Злобный Йожег
08.05.08
✎
14:39
|
+(13) Там смотри, как названа та переменная, которой соответствует элемент справочника "Номенклатура", и к ней обращайся. Используй там участок кода в (3)
|
|||
16
andrspir
08.05.08
✎
14:39
|
буду искать
|
|||
17
andrspir
08.05.08
✎
14:42
|
вот эта
элемент=Справочники.Номенклатура.СоздатьЭлемент(); |
|||
18
Злобный Йожег
08.05.08
✎
14:44
|
Ну и пиши:
НовВидНоменклатуры = Справочники.ВидыНоменклатуры.СоздатьЭлемент(); НовВидНоменклатуры.Наименование = "Товар"; НовВидНоменклатуры.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар; НовВидНоменклатуры.Записать(); Элемент.ВидНоменклатуры = НовВидНоменклатуры.Ссылка; У тебя идет загрузка откуда-то? |
|||
19
andrspir
08.05.08
✎
14:46
|
загрузка из файла xls
|
|||
20
Злобный Йожег
08.05.08
✎
14:47
|
(19) В нем не указано, какие виды должны быть у номенклатуры?
|
|||
21
andrspir
08.05.08
✎
14:49
|
Все получилось !!!!!!!!!!!!!!!!!!!!!!!!!!!
Огромное спасибо !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |