Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

обработка

impuls
читатель
офлайн
Дата регистрации: 24.11.2005
Сообщений: 1798
Пост №11
 
15.10.2007 13:20

"Вместо<br>> Спр1=СоздатьОбъект("Справочник.ОС");<br><br>Напишите<br> Спр1=СоздатьОбъект("Справочник.ОсновныеСредства");<br>Название справочника должно соответствовать наименованию в метаданных."

andreyyy
читатель
офлайн
Дата регистрации: 09.10.2007
Сообщений: 21
Пост №12
 
15.10.2007 16:55

"насчет групп, где посмотреть какой группе принадлежит справочник? проверять с помощью спр1.ЭтоГруппа()? В ПолучитьЭлемент() выбрано по умолчанию. Элементы в справочнике есть<br><br>На счет Ос, в программе у меня ОсновныеСредства. Тут просто в качестве примера указывал, поэтому сократил<br><br>Версия 1с 7.70.027, бухгалтерский учет для бюджетных предприятий 7.70.611<br><br>Если использовать Сообщить(спр1.реквизит); то он возвращает значения реквизита, но сам цикл делать ничего не хочет. <br>Может надо указать другое условие. Потому что на ПустоеЗначение() он наверное не реагирует<br><br>"

Vladko
читатель
офлайн
Дата регистрации: 27.08.2007
Сообщений: 2649
Пост №13
 
16.10.2007 15:06

"бррр, ничего не понятно: итак<br>Спр1.ВыбратьЭлементы();<br>Пока спр1.ПолучитьЭлемент()=1 Цикл<br>Сообщить(спр1.реквизит1);<br>Сообщить(спр1.реквизит2);<br>....<br>КонецЦикла;<br>Метод Сообщить что-то выдаёт при исполнении?<br>Если нет, то у тебя в цикл не заходит программа, а это только лишь при отсутствии элементов справочника такое возможно.<br>На группу надо проверять так:<br>Спр1.ВыбратьЭлементы();<br>Пока спр1.ПолучитьЭлемент()=1 Цикл<br> Если Спр1.ЭтоГруппа()=1 тогда<br> Продолжить;<br> КонецЕсли;<br>...<br>КонецЦикла;"

andreyyy
читатель
офлайн
Дата регистрации: 09.10.2007
Сообщений: 21
Пост №14
 
17.10.2007 07:59

Метод Сообщить выдает значения реквизитов, но все равно ничего не происходит

Vladko
читатель
офлайн
Дата регистрации: 27.08.2007
Сообщений: 2649
Пост №15
 
17.10.2007 08:31

"Можно ещё одним способом попробовать:<br>Спр=СоздатьОбъект("Справочник.ОС");<br>Спр1=СоздатьОбъект("Справочник.ОС");<br>спр1.ВыбратьЭлементы();<br>Пока спр1.ПолучитьЭлемент()=1 Цикл<br> а=спр1.реквизит1;<br> б=спр1.реквизит2;<br> если пустоезначение(а)=0 тогда<br> Спр.НайтиЭлемент(Спр1.ТекущийЭлемент());<br> спр.реквизит1=б;<br> спр.реквизит2=а;<br> спр.записать();<br> конецЕсли;<br>конецикла;<br>"

Buriy
читатель
офлайн
Дата регистрации: 05.07.2007
Сообщений: 10
Пост №16
 
17.10.2007 09:18

а какие реквизиты поменять хочешь?

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8412
Пост №17
 
17.10.2007 09:56

> Метод Сообщить выдает значения реквизитов,<br>Значит в тело цикла вы все-таки заходите и спр.получитьэлемент()=1 <br><br><br>> но все равно ничего не происходит<br><br>не происходит замена значений в реквизитах? <br>Ответьте на вопросы<br>1.Если вы просто сделаете перебор элементов справочника (без внесения изменений), то все будет выбираться?<br>2.Вы один раз зашли в тело цикла, сделали изменения значений и сразу вылетели из цикла.<br><br>

impuls
читатель
офлайн
Дата регистрации: 24.11.2005
Сообщений: 1798
Пост №18
 
18.10.2007 08:44

Реквизиты обмена одного типа? Если нет, применяйте правила преобразования типа. И не периодические ли они?

andreyyy
читатель
офлайн
Дата регистрации: 09.10.2007
Сообщений: 21
Пост №19
 
19.10.2007 05:25

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

Daedal
читатель
офлайн
Дата регистрации: 20.09.2004
Сообщений: 632
Пост №20
 
19.10.2007 05:45

Порнография какая-то.. )))<br><br>А контроль уникальности как, проходит?<br><br>Например, Если "СтрДлина(а)>СтрДлина(б)" Тогда всяко разно "а<>б"

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация