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

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

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

1С 7.7 Для тех, кто программирует.

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20953
Пост №11
 
21.07.2009 09:42

Галочка "Сохранять значения"!

Andrey|{A
читатель
офлайн
Дата регистрации: 04.06.2008
Сообщений: 26
Пост №12
 
21.07.2009 09:42

Видимо он имеет ввиду, что таблицу в отчетах и обработках можно использовыать как элемент диалога. В таком случае в таблице будут храниться данные из справочников или документов. Пример - форма "Т-2" в справочнике сотрудники.

МЛА
читатель
офлайн
Дата регистрации: 19.09.2006
Сообщений: 123
Пост №13
 
21.07.2009 14:52

Я еще раз Вас побеспокою... Сделали все как Вы посоветовали, только опять же столкнулись с очередной проблемой: обработка, которая должна менять Наименование в справочнике по периодическому реквизиту не хочет работать, потому как опять выдает такую же ошибку: <br>"Изменено Наименование! Может быть нарушена последовательность выборки! " Что делать?

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №14
 
21.07.2009 15:36

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

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №15
 
21.07.2009 15:50

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

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №16
 
21.07.2009 15:57

Привычка обрабатывать потом, когда уверен на все 100, что выборка не будет меняться :)

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20953
Пост №17
 
21.07.2009 16:38

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

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №18
 
21.07.2009 16:46

Вопрос, как работает ВыбратьЭлементы и ПолучитьЭлемент. Справочник один и тотже. В этом и заключается вопрос.

CheshirskyCat
читатель
офлайн
Дата регистрации: 09.01.2004
Сообщений: 326
Пост №19
 
22.07.2009 11:47

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

МЛА
читатель
офлайн
Дата регистрации: 19.09.2006
Сообщений: 123
Пост №20
 
24.07.2009 16:09

Еще вопросик на эту тему... С новыми документами все понятно, а как быть с теми, которые проведены в прошлом и бухгалтеру захотелось распечатать этот документ со старым контрагентом? При открытии проведенного документа в справочнике "Контрагенты" Наименование поменяется, а в документе- снова перевыбирать контрагента?

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

Читают тему:

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