По теме из базы знаний
- Универсальный конструктор отчетов (Новейший отчет) для 1C 7.7
- Перенос номенклатуры из 1С: Бухгалтерия 7.7 в УТ и УПП
- Обновления 2012 . Для пользователя, бухгалтера (пакет отчетов и обработок)
- Внешняя обработка - Остатки Номенклатуры
- Загрузка приходной накладной в 1С Управление торговлей 8 из в Excel
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Спр=СоздатьОбъект(«Справочник.Номенклатура»);Текст = СоздатьОбъект(«Текст»);Список = СоздатьОбъект(«СписокЗначений»);Текст.Открыть(«exp_imp.txt»);Для Ном=1 По Текст.КоличествоСтрок() Цикл Стр = Текст.ПолучитьСтроку(Ном); Список.ИзСтрокиСРазделителями(Стр); //преобразуем строку в список значений
Если Спр.НайтиПоКоду(Список.ПолучитьЗначение(1))=0 Тогда
Спр.Новый(); Спр.Код= Список.ПолучитьЗначение(1); Спр.Наименование= Список.ПолучитьЗначение(2); Спр.Записать(); КонецЕсли;КонецЦикла
Вот нашел на мисте буду пробовать сделать внешнюю обработку,
может кто поможет????
Если Спр.НайтиПоКоду(Список.ПолучитьЗначение(1))=0 Тогда
Спр.Новый(); Спр.Код= Список.ПолучитьЗначение(1); Спр.Наименование= Список.ПолучитьЗначение(2); Спр.Записать(); КонецЕсли;КонецЦикла
Вот нашел на мисте буду пробовать сделать внешнюю обработку,
может кто поможет????
пример
название;пол;артикул;размер;рост;цвет;цена;штрихкод;страна;состав;ставка ндс
ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
в спр.номенклатура и обратно
сз=создатьобъект("Текст");
название;пол;артикул;размер;рост;цвет;цена;штрихкод;страна;состав;ставка ндс
ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
в спр.номенклатура и обратно
сз=создатьобъект("Текст");
Перем ИмяФайлаОтчета,ТекТовар;
//*******************************************
Процедура Сформировать()
ФайлОтчета = СоздатьОбъект("Текст");
ФС.ВыбратьФайл(0,ИмяФайлаОтчета,КаталогИБ());
ФайлОтчета.Открыть(КаталогИБ()+ИмяФайлаОтчета);
Табл=СоздатьОбъект("ТаблицаЗначений");
Табл=Табл1;
Табл.НоваяКолонка("Название",,30,,"Наименование",30);
Табл.НоваяКолонка("Количество","Число",4,2,"Количество",6);
Табл.НоваяКолонка("Пол",,5,,"Пол",5);
Табл.НоваяКолонка("артикул",,10,,"артикул",10);
Табл.НоваяКолонка("размер",,5,,"размер",5);
Табл.НоваяКолонка("рост",,5,,"рост",5);
Табл.НоваяКолонка("цвет",,15,,"цвет",15);
Табл.НоваяКолонка("цена","Число",6,2,"цена",8);
Табл.НоваяКолонка("штрихкод",,15,,"штрихкод",15);
Табл.НоваяКолонка("страна",,6,,"страна",6);
Табл.НоваяКолонка("состав",,25,,"состав",25);
Табл.НоваяКолонка("ставка_ндс",,3,,"ставка ндс",3);
//название;пол;артикул;размер;рост;цвет;цена;штрихкод;страна;состав;ставка ндс
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
// одинаковый товар обработать и загнать в количество обработать количество по полю штрихкод
Для Счетчик = 2 По ФайлОтчета.КоличествоСтрок() Цикл
Стр = СтрЗаменить( ФайлОтчета.ПолучитьСтроку(Счетчик), ";", РазделительСтрок );
Табл.НоваяСтрока();
Табл.Название = СтрПолучитьСтроку( Стр, 1 );
Табл.Пол = СтрПолучитьСтроку( Стр, 2 );
Табл.артикул = СтрПолучитьСтроку( Стр, 3 );
Табл.размер = Число( СтрПолучитьСтроку( Стр, 4 ) );
Табл.рост = Число( СтрПолучитьСтроку( Стр, 5 ) );
Табл.цвет = СтрПолучитьСтроку( Стр, 6 );
Табл.цена = Число(СтрПолучитьСтроку( Стр, 7 ));
Табл.штрихкод = СтрПолучитьСтроку( Стр, 8 );
Табл.страна = СтрПолучитьСтроку( Стр, 9 );
Табл.состав = СтрПолучитьСтроку( Стр, 10 );
Табл.ставка_ндс = Число(СтрПолучитьСтроку( Стр, 11 ) );
Табл.количество =1;
КонецЦикла;
Табл.Свернуть("Название,Пол,артикул,размер,рост,цвет,цена,штрихкод,страна,состав,ставка_ндс","количество");
Для Счетчик = 1 По Табл.КоличествоСтрок() Цикл
Табл.УстановитьЗначение(Счетчик, "название", Табл.ПолучитьЗначение(Счетчик,"название")+" "+Табл.ПолучитьЗначение(Счетчик,"размер")+"-"+Табл.ПолучитьЗначение(Счетчик,"Рост")+" "+Табл.ПолучитьЗначение(Счетчик,"Цвет")+" "+Табл.ПолучитьЗначение(Счетчик,"Пол"));
КонецЦикла;
Спр=СоздатьОбъект("Справочник.Номенклатура");
Для Ном=1 По Табл.КоличествоСтрок() Цикл
Если спр.НайтиПоНаименованию(Табл.ПолучитьЗначение(Ном,"название"),1,1)=0 Тогда
Спр.Новый();
Спр.Наименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.ПолнНаименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.Артикул = Табл.ПолучитьЗначение(Ном,"Артикул");
Спр.Записать();
Иначе
ТекТовар=Спр.ТекущийЭлемент();
КонецЕсли;
КонецЦикла
КонецПроцедуры
//*******************************************
Процедура Сформировать()
ФайлОтчета = СоздатьОбъект("Текст");
ФС.ВыбратьФайл(0,ИмяФайлаОтчета,КаталогИБ());
ФайлОтчета.Открыть(КаталогИБ()+ИмяФайлаОтчета);
Табл=СоздатьОбъект("ТаблицаЗначений");
Табл=Табл1;
Табл.НоваяКолонка("Название",,30,,"Наименование",30);
Табл.НоваяКолонка("Количество","Число",4,2,"Количество",6);
Табл.НоваяКолонка("Пол",,5,,"Пол",5);
Табл.НоваяКолонка("артикул",,10,,"артикул",10);
Табл.НоваяКолонка("размер",,5,,"размер",5);
Табл.НоваяКолонка("рост",,5,,"рост",5);
Табл.НоваяКолонка("цвет",,15,,"цвет",15);
Табл.НоваяКолонка("цена","Число",6,2,"цена",8);
Табл.НоваяКолонка("штрихкод",,15,,"штрихкод",15);
Табл.НоваяКолонка("страна",,6,,"страна",6);
Табл.НоваяКолонка("состав",,25,,"состав",25);
Табл.НоваяКолонка("ставка_ндс",,3,,"ставка ндс",3);
//название;пол;артикул;размер;рост;цвет;цена;штрихкод;страна;состав;ставка ндс
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
// одинаковый товар обработать и загнать в количество обработать количество по полю штрихкод
Для Счетчик = 2 По ФайлОтчета.КоличествоСтрок() Цикл
Стр = СтрЗаменить( ФайлОтчета.ПолучитьСтроку(Счетчик), ";", РазделительСтрок );
Табл.НоваяСтрока();
Табл.Название = СтрПолучитьСтроку( Стр, 1 );
Табл.Пол = СтрПолучитьСтроку( Стр, 2 );
Табл.артикул = СтрПолучитьСтроку( Стр, 3 );
Табл.размер = Число( СтрПолучитьСтроку( Стр, 4 ) );
Табл.рост = Число( СтрПолучитьСтроку( Стр, 5 ) );
Табл.цвет = СтрПолучитьСтроку( Стр, 6 );
Табл.цена = Число(СтрПолучитьСтроку( Стр, 7 ));
Табл.штрихкод = СтрПолучитьСтроку( Стр, 8 );
Табл.страна = СтрПолучитьСтроку( Стр, 9 );
Табл.состав = СтрПолучитьСтроку( Стр, 10 );
Табл.ставка_ндс = Число(СтрПолучитьСтроку( Стр, 11 ) );
Табл.количество =1;
КонецЦикла;
Табл.Свернуть("Название,Пол,артикул,размер,рост,цвет,цена,штрихкод,страна,состав,ставка_ндс","количество");
Для Счетчик = 1 По Табл.КоличествоСтрок() Цикл
Табл.УстановитьЗначение(Счетчик, "название", Табл.ПолучитьЗначение(Счетчик,"название")+" "+Табл.ПолучитьЗначение(Счетчик,"размер")+"-"+Табл.ПолучитьЗначение(Счетчик,"Рост")+" "+Табл.ПолучитьЗначение(Счетчик,"Цвет")+" "+Табл.ПолучитьЗначение(Счетчик,"Пол"));
КонецЦикла;
Спр=СоздатьОбъект("Справочник.Номенклатура");
Для Ном=1 По Табл.КоличествоСтрок() Цикл
Если спр.НайтиПоНаименованию(Табл.ПолучитьЗначение(Ном,"название"),1,1)=0 Тогда
Спр.Новый();
Спр.Наименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.ПолнНаименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.Артикул = Табл.ПолучитьЗначение(Ном,"Артикул");
Спр.Записать();
Иначе
ТекТовар=Спр.ТекущийЭлемент();
КонецЕсли;
КонецЦикла
КонецПроцедуры
Перем ИмяФайлаОтчета,ТекТовар,КаталогОбмена;
//*******************************************
Процедура Сформировать()
ФайлОтчета = СоздатьОбъект("Текст");
ФС.ВыбратьФайл(0,ИмяФайлаОтчета,КаталогОбмена);
ФайлОтчета.Открыть(КаталогОбмена+ИмяФайлаОтчета);
Табл=СоздатьОбъект("ТаблицаЗначений");
Табл=Табл1;
Табл.НоваяКолонка("Название",,30,,"Наименование",30);
Табл.НоваяКолонка("Количество","Число",4,2,"Количество",6);
//Табл.НоваяКолонка("Пол",,5,,"Пол",5);
Табл.НоваяКолонка("артикул",,10,,"артикул",10);
//Табл.НоваяКолонка("размер",,5,,"размер",5);
//Табл.НоваяКолонка("рост",,5,,"рост",5);
//Табл.НоваяКолонка("цвет",,15,,"цвет",15);
Табл.НоваяКолонка("цена","Число",6,2,"цена",8);
Табл.НоваяКолонка("штрихкод",,15,,"штрихкод",15);
Табл.НоваяКолонка("страна",,6,,"страна",6);
Табл.НоваяКолонка("состав",,25,,"состав",25);
Табл.НоваяКолонка("ставка_ндс",,3,,"ставка ндс",3);
//название;пол;артикул;размер;рост;цвет;цена;штрихкод;страна;состав;ставка ндс
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
// одинаковый товар обработать и загнать в количество обработать количество по полю штрихкод
Для Счетчик = 2 По ФайлОтчета.КоличествоСтрок() Цикл
Стр = СтрЗаменить( ФайлОтчета.ПолучитьСтроку(Счетчик), ";", РазделительСтрок );
Табл.НоваяСтрока();
Табл.Название = СтрПолучитьСтроку( Стр, 1 )+" "+Число( СтрПолучитьСтроку( Стр, 4 ))+"-"+Число( СтрПолучитьСтроку( Стр, 5 ))+" "+СтрПолучитьСтроку( Стр, 6 )+" "+СтрПолучитьСтроку( Стр, 2 );
//Табл.Пол = СтрПолучитьСтроку( Стр, 2 );
Табл.артикул = СтрПолучитьСтроку( Стр, 3 );
//Табл.размер = Число( СтрПолучитьСтроку( Стр, 4 ) );
//Табл.рост = Число( СтрПолучитьСтроку( Стр, 5 ) );
//Табл.цвет = СтрПолучитьСтроку( Стр, 6 );
Табл.цена = Число(СтрПолучитьСтроку( Стр, 7 ));
Табл.штрихкод = СтрПолучитьСтроку( Стр, 8 );
Табл.страна = СтрПолучитьСтроку( Стр, 9 );
Табл.состав = СтрПолучитьСтроку( Стр, 10 );
Табл.ставка_ндс = Число(СтрПолучитьСтроку( Стр, 11 ) );
Табл.количество =1;
КонецЦикла;
Табл.Свернуть("Название,Пол,артикул,размер,рост,цвет,цена,штрихкод,страна,состав,ставка_ндс","количество");
//Для Счетчик = 1 По Табл.КоличествоСтрок() Цикл
//
// Табл.УстановитьЗначение(Счетчик, "название", Табл.ПолучитьЗначение(Счетчик,"название")+" "+Табл.ПолучитьЗначение(Счетчик,"размер")+"-"+Табл.ПолучитьЗначение(Счетчик,"Рост")+" "+Табл.ПолучитьЗначение(Счетчик,"Цвет")+" "+Табл.ПолучитьЗначение(Счетчик,"Пол"));
//
//КонецЦикла;
Спр=СоздатьОбъект("Справочник.Номенклатура");
СпрЕд=СоздатьОбъект("Справочник.Единицы");
Док=СоздатьОбъект("Документ.ПоступлениеТМЦ");
Док.Новый();
Для Ном=1 По Табл.КоличествоСтрок() Цикл
Если Спр.НайтиПоНаименованию(Табл.ПолучитьЗначение(Ном,"название"),1,1)=0 Тогда
Спр.Новый();
Спр.Наименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.ПолнНаименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.Артикул = Табл.ПолучитьЗначение(Ном,"Артикул");
Спр.СтранаПроисхождения= Табл.ПолучитьЗначение(Ном,"страна")
Спр.ОсновноеСвойство = Табл.ПолучитьЗначение(Ном,"состав")
Спр.Записать();
//Иначе
// ТекТовар=Спр.ТекущийЭлемент();
КонецЕсли;
КонецЦикла
КонецПроцедуры
подскажите как привязать поле штрихкод к РеквШтрихкодБазовой в спр.номенклатура
//*******************************************
Процедура Сформировать()
ФайлОтчета = СоздатьОбъект("Текст");
ФС.ВыбратьФайл(0,ИмяФайлаОтчета,КаталогОбмена);
ФайлОтчета.Открыть(КаталогОбмена+ИмяФайлаОтчета);
Табл=СоздатьОбъект("ТаблицаЗначений");
Табл=Табл1;
Табл.НоваяКолонка("Название",,30,,"Наименование",30);
Табл.НоваяКолонка("Количество","Число",4,2,"Количество",6);
//Табл.НоваяКолонка("Пол",,5,,"Пол",5);
Табл.НоваяКолонка("артикул",,10,,"артикул",10);
//Табл.НоваяКолонка("размер",,5,,"размер",5);
//Табл.НоваяКолонка("рост",,5,,"рост",5);
//Табл.НоваяКолонка("цвет",,15,,"цвет",15);
Табл.НоваяКолонка("цена","Число",6,2,"цена",8);
Табл.НоваяКолонка("штрихкод",,15,,"штрихкод",15);
Табл.НоваяКолонка("страна",,6,,"страна",6);
Табл.НоваяКолонка("состав",,25,,"состав",25);
Табл.НоваяКолонка("ставка_ндс",,3,,"ставка ндс",3);
//название;пол;артикул;размер;рост;цвет;цена;штрихкод;страна;состав;ставка ндс
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
//ДЖАЗ;жен;315217J1601;50;170;белый;615;2020163977962;Россия;95% Вискоза 5% Эластан;18
// одинаковый товар обработать и загнать в количество обработать количество по полю штрихкод
Для Счетчик = 2 По ФайлОтчета.КоличествоСтрок() Цикл
Стр = СтрЗаменить( ФайлОтчета.ПолучитьСтроку(Счетчик), ";", РазделительСтрок );
Табл.НоваяСтрока();
Табл.Название = СтрПолучитьСтроку( Стр, 1 )+" "+Число( СтрПолучитьСтроку( Стр, 4 ))+"-"+Число( СтрПолучитьСтроку( Стр, 5 ))+" "+СтрПолучитьСтроку( Стр, 6 )+" "+СтрПолучитьСтроку( Стр, 2 );
//Табл.Пол = СтрПолучитьСтроку( Стр, 2 );
Табл.артикул = СтрПолучитьСтроку( Стр, 3 );
//Табл.размер = Число( СтрПолучитьСтроку( Стр, 4 ) );
//Табл.рост = Число( СтрПолучитьСтроку( Стр, 5 ) );
//Табл.цвет = СтрПолучитьСтроку( Стр, 6 );
Табл.цена = Число(СтрПолучитьСтроку( Стр, 7 ));
Табл.штрихкод = СтрПолучитьСтроку( Стр, 8 );
Табл.страна = СтрПолучитьСтроку( Стр, 9 );
Табл.состав = СтрПолучитьСтроку( Стр, 10 );
Табл.ставка_ндс = Число(СтрПолучитьСтроку( Стр, 11 ) );
Табл.количество =1;
КонецЦикла;
Табл.Свернуть("Название,Пол,артикул,размер,рост,цвет,цена,штрихкод,страна,состав,ставка_ндс","количество");
//Для Счетчик = 1 По Табл.КоличествоСтрок() Цикл
//
// Табл.УстановитьЗначение(Счетчик, "название", Табл.ПолучитьЗначение(Счетчик,"название")+" "+Табл.ПолучитьЗначение(Счетчик,"размер")+"-"+Табл.ПолучитьЗначение(Счетчик,"Рост")+" "+Табл.ПолучитьЗначение(Счетчик,"Цвет")+" "+Табл.ПолучитьЗначение(Счетчик,"Пол"));
//
//КонецЦикла;
Спр=СоздатьОбъект("Справочник.Номенклатура");
СпрЕд=СоздатьОбъект("Справочник.Единицы");
Док=СоздатьОбъект("Документ.ПоступлениеТМЦ");
Док.Новый();
Для Ном=1 По Табл.КоличествоСтрок() Цикл
Если Спр.НайтиПоНаименованию(Табл.ПолучитьЗначение(Ном,"название"),1,1)=0 Тогда
Спр.Новый();
Спр.Наименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.ПолнНаименование = Табл.ПолучитьЗначение(Ном,"название");
Спр.Артикул = Табл.ПолучитьЗначение(Ном,"Артикул");
Спр.СтранаПроисхождения= Табл.ПолучитьЗначение(Ном,"страна")
Спр.ОсновноеСвойство = Табл.ПолучитьЗначение(Ном,"состав")
Спр.Записать();
//Иначе
// ТекТовар=Спр.ТекущийЭлемент();
КонецЕсли;
КонецЦикла
КонецПроцедуры
подскажите как привязать поле штрихкод к РеквШтрихкодБазовой в спр.номенклатура
СпрЕд = СоздатьОбъект("Справочник.Единицы");
СО = СоздатьОбъект("Справочник.ОКЕИ");
Если СО.НайтиПоНаименованию("шт",0,1)=1 Тогда
Иначе
Сообщить("В справочнике ОКЕИ нет значения шт");
КонецЕсли;
СпрЕд.ИспользоватьВладельца(СпрНом.ТекущийЭлемент());
СпрЕд.Новый();
СпрЕд.ОКЕИ =СО.ТекущийЭлемент();
СпрЕд.Коэффициент =1;
СпрЕд.ШтрихКод = Отчет.Штрихкод;
СпрЕд.Записать();
теперь другая проблема встала, как в карточке товара автоматом прописать галку ФлагОсновнойЕдиницы=1 ,т.е. использовать только
Базовую
СпрНом.БазоваяЕдиница = СпрЕд.ТекущийЭлемент();
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот