Выгружаю реквизит в файл
Показывать по
сообщений
- 1
- 2
16.12.2009
12:52
#11
так ерунда какая-то, совсем не то %(<br>{"VT","1",{"0",{{","0","0","0",","2"},<br>{"Код","Код","1","0","0",{"S","0","0","0","0","0"},","0",<br>{<br><br>}<br>},<br>{"ДатаПоступ","ДатаПоступ","1","0","1",{"D","0","0","0","0","0"},","0",<br>{<br><br>}<br>}}}}
16.12.2009
13:11
#12
вобщем, всем спасибо, благодаря вашим советам у меня появлялись умные мысли
<br>все получилось через "списокзначений"<br><br>

16.12.2009
13:35
#14
> читать надо через ЗначениеИзФайла!!!<br>с импортированием реквизита я приду завтра
)))

17.12.2009
04:20
#15
"Вот и я
<br>что-то напутано с циклами. Ниже получается, что когда из справочника взят первый элемент, и из файла первый, они сравнились вставили дату, если ее нет, а дальше опять с первым элементом из файла сравнивается следующий элемент из справочника, а мне нужно чтобы при первом совпадении совпавшие коды больше не проходили по циклу... <br><br> Спис = СоздатьОбъект("СписокЗначений");<br> КолСтрок = Файл.КоличествоСтрок();<br> <br> <br> СпрНом = СоздатьОбъект("Справочник.Номенклатура");<br> СпрНом.ВыбратьЭлементы();<br> Пока СпрНом.ПолучитьЭлемент() = 1 Цикл<br> <br> Если СпрНом.ЭтоГруппа() = 1 Тогда<br> Продолжить;<br> КонецЕсли;<br> Для А=1 По КолСтрок Цикл <br> Стр = Файл.ПолучитьСтроку(А); <br> Спис.УдалитьВсе();<br> Спис.ИзСтрокиСРазделителями(Стр);<br> <br> ТекКод = Спис.ПолучитьЗначение(1);<br> ТекДатаПоступ = Спис.ПолучитьЗначение(2); <br> <br> <br> Если (СпрНом.Код = ТекКод) и (ПустоеЗначение(СпрНом.ДатаПоступ)=1)Тогда<br> СпрНом.ДатаПоступ = ТекДатаПоступ;<br> <br> Иначе<br> Сообщить ("Элемента с таким кодом нет в справочнике! Вероятно он был удален. Или реквизит уже заполнен"); <br> продолжить;<br> КонецЕсли; <br> КонецЦикла<br> КонецЦикла;<br>КонецПроцедуры"

17.12.2009
10:32
#16
"Зачем цикл в цикле, лучше использовать поиск:<br><br>Спис = СоздатьОбъект("СписокЗначений");<br>КолСтрок = Файл.КоличествоСтрок();<br>СпрНом = СоздатьОбъект("Справочник.Номенклатура");<br>Для А=1 По КолСтрок Цикл <br> Стр = Файл.ПолучитьСтроку(А); <br> Спис.УдалитьВсе();<br> Спис.ИзСтрокиСРазделителями(Стр);<br><br> ТекКод = Спис.ПолучитьЗначение(1);<br> ТекДатаПоступ = Спис.ПолучитьЗначение(2); <br><br> Если СпрНом.НайтиПоКоду(ТекКод)=1 Тогда<br> Если ПустоеЗначение(СпрНом.ДатаПоступ)=1 Тогда<br> СпрНом.ДатаПоступ = ТекДатаПоступ;<br> СпрНом.Записать();<br> Иначе<br> Сообщить ("Реквизит уже заполнен"); <br> КонецЕсли; <br> Иначе<br> Сообщить ("Элемента с таким кодом нет в справочнике!"); <br> КонецЕсли; <br>КонецЦикла;<br>"
- 1
- 2
Читают тему
(гостей: 1)