- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
Процедура ОбработкаНоменклатуры()
НомерЛистаТипы = 1;
Попытка ExcelТипы = СоздатьОбъект("Excel.Application");
ФайлДанныхТипы = ExcelТипы.Workbooks.Open(НазваниеФайла);
Исключение
КонецПопытки;
//Лист = ФайлДанныхТипы.WorkSheets(НазваниеФайла);
ЗагрузкаТипы = ФайлДанныхТипы.Worksheets(НомерЛистаТипы).UsedRange;
//КоличествоСтрокЭкселеТипы = Лист.Rows.Count;
КоличествоСтрокЭкселеТипы = ФайлДанныхТипы.Worksheets(НомерЛистаТипы).UsedRange.Rows.Count;
ExcelТипы.Sheets(НомерЛистаТипы).Select();
Спр2 = СоздатьОбъект("Справочник.Номенклатура");
СпрВидНом = СоздатьОбъект("Справочник.ВидыНоменклатуры");
СпрНДС = СоздатьОбъект("Справочник.СтавкиНДС");
СпрНП = СоздатьОбъект("Справочник.СтавкиНП");
СпрЕд = СоздатьОбъект("Справочник.ЕдиницыИзмерений");
Для СтрТипы = НачСтр+1 По КонСтр Цикл
Спр = СоздатьОбъект("Справочник.Номенклатура");
Если Спр.НайтиПоНаименованию(Строка(СокрЛП(ExcelТипы.Cells(СтрТипы,1).Value))) = 1 Тогда
Сообщить("Номенклатура найдена");
Если ВидыЦен = 1 Тогда
Спр.Себестоимость = Строка(СокрЛП(ExcelТипы.Cells(СтрТипы,4).Value));
ИначеЕсли ВидыЦен = 2 Тогда
Спр.Цена = Строка(СокрЛП(ExcelТипы.Cells(СтрТипы,4).Value));
КонецЕсли;
Спр.Записать();
Иначе
Спр.Новый();
Спр.ИспользоватьДату('01.11.2011');
Если Спр2.НайтиПоКоду("Сй111")=1 Тогда
Спр.Родитель =Спр2.ТекущийЭлемент();
Конецесли;
Спр.Наименование = Строка(СокрЛП(ExcelТипы.Cells(СтрТипы,1).Value));
Сообщить("Создается номенклатура" + Спр.Наименование);
Спр.ТипТовара = Перечисление.ТипыТоваров.Собственный;
Если СпрВидНом.НайтиПоНаименованию("Товар")=1 Тогда
Спр.ВидНоменклатуры = СпрВидНом.ТекущийЭлемент();
КонецЕсли;
Спр.ПолнНаименование = Спр.Наименование;
Если ВидыЦен = 1 Тогда
Спр.Себестоимость = Строка(СокрЛП(ExcelТипы.Cells(СтрТипы,4).Value));
ИначеЕсли ВидыЦен = 2 Тогда
Спр.Цена = Строка(СокрЛП(ExcelТипы.Cells(СтрТипы,4).Value));
КонецЕсли;
Спр.СтранаПроисхожд = 1;
Если СпрНДС.НайтиПоКоду("3")=1 Тогда
Спр.СтавкаНДС = СпрНДС.ТекущийЭлемент();
КонецЕсли;
Если СпрНП.НайтиПоКоду("1")=1 тогда
Спр.СтавкаНП = СпрНП.ТекущийЭлемент();
КонецЕсли;
Если СпрЕд.НайтиПоНаименованию("шт")=1 Тогда
Спр.ЕдиницаИзмерения = СпрЕд.ТекущийЭлемент();
КонецЕсли;
Спр.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
В бух 7.7 нужно было загрузить определенный данные из экселя. С 7.7 не работаю - начал сочинять. В начале писал по аналогии с 8.х:
Спр.СтавкаНДС = СпрНДС.НайтиПоКоду("3") и т.д.
Потом на инфостарте и мисте подсказали как правильно сделать и посоветовали создать здесь эту запись)
guest 24.02.2012 14:16 # +4
eth0 24.02.2012 14:18 # 0
ErrorEd88 24.02.2012 14:18 # −1
ErrorEd88 24.02.2012 14:25 # −2
Xbrut 24.02.2012 14:40 # 0
опять же очень странный способ защиты от "ДругогоПрограммиста"
p.s.
или то шутка была?
ErrorEd88 24.02.2012 14:44 # −1
kyzi007 24.02.2012 22:21 # 0
eth0 25.02.2012 11:56 # 0
guest 24.02.2012 17:47 # 0
ErrorEd88 24.02.2012 19:59 # 0
nikita2206 24.02.2012 21:51 # +2
Cthulhu 26.02.2012 02:08 # +1
это даже не говнокод - это попытка неумело и тщательно решить частную задачу, с кучей методологических ошибок. этого добра от любого тестового задания в исполнении "младших учеников" - до едреней фени, так что - занавешивать теперь этими простынями ресурс???
ErrorEd88 29.02.2012 17:31 # +1
guest8 09.04.2019 12:45 # −999
AAypEIq 24.08.2021 22:50 # 0