Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 20:17
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Перепроведение документов  (Прочитано 1582 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Гамаюн1991

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-05-19
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день!
Помогите пожалуйста, нужно найти документ который еще не провели и перепровести его.
В отладчике РезультатЗапроса значение ="Ошибка чтения значения"....
Вот мой код :
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Проведен = Ложь";


РезультатЗапроса = Запрос.Выполнить().Выбрать();

Пока РезультатЗапроса.Следующий() Цикл
Объект = РезультатЗапроса.Ссылка.ПолучитьОбъект();
Объект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
КонецЦикла;


Оффлайн Rasty

  • *****
  • Сообщений: 989
  • РЕПУТАЦИЯ: 139
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
А может проще через групповая обработка справочников и документ
Если хочется так, то:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Проведен = &Проведен";

Запрос.УстановитьПараметр("Проведен", Ложь);
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    Выборка.Ссылка.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
КонецЦикла;
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн Гамаюн1991

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-05-19
  • Сайт: 
  • Профессия: Ученик 1С
А может проще через групповая обработка справочников и документ
Если хочется так, то:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Проведен = &Проведен";

Запрос.УстановитьПараметр("Проведен", Ложь);
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    Выборка.Ссылка.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
КонецЦикла;

Спасибо большое, но этот запрос очень долго выполняется, не подскажите можно ли через УстановитьИспользованиеИтогов() ускорить процесс?

Оффлайн Rasty

  • *****
  • Сообщений: 989
  • РЕПУТАЦИЯ: 139
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
а на ваш взгляд сколько приблизительно документов не проведено?
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
можно небольшое дополнение сделать?

ДОКУМЕНТЫ ПОМЕЧЕННЫЕ НА УДАЛЕНИЕ ПРОВОДИТЬ НЕ НАДО!!!

а по вашему запросу они могут попадать в вашу обработку,

поэтому условие хотя бы должно быть таким
|ГДЕ
| Не ПоступлениеТоваровУслуг.Проведен
|и Не ПоступлениеТоваровУслуг.ПометкаУдаления
|

при этом по хорошим правилам надо бы дать пользователю обрабатывать документы за нужный период,
если в базе документы за 10 лет, вряд ли надо проводить документы больше 1,2,3 голда назад
еще полезно включать сортировку,
еще в цикл надо вставить процедуру ОбработкаПрерыванияПользователя();
еще в цикл надо добавить вывод сообщения или состояния о ходе выполнения обработки
и т.д. и т.п.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Rasty

  • *****
  • Сообщений: 989
  • РЕПУТАЦИЯ: 139
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
во истину, а я то и забыл :o
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн Гамаюн1991

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-05-19
  • Сайт: 
  • Профессия: Ученик 1С
можно небольшое дополнение сделать?

ДОКУМЕНТЫ ПОМЕЧЕННЫЕ НА УДАЛЕНИЕ ПРОВОДИТЬ НЕ НАДО!!!

а по вашему запросу они могут попадать в вашу обработку,

поэтому условие хотя бы должно быть таким
|ГДЕ
| Не ПоступлениеТоваровУслуг.Проведен
|и Не ПоступлениеТоваровУслуг.ПометкаУдаления
|

при этом по хорошим правилам надо бы дать пользователю обрабатывать документы за нужный период,
если в базе документы за 10 лет, вряд ли надо проводить документы больше 1,2,3 голда назад
еще полезно включать сортировку,
еще в цикл надо вставить процедуру ОбработкаПрерыванияПользователя();
еще в цикл надо добавить вывод сообщения или состояния о ходе выполнения обработки
и т.д. и т.п.
Спасибо большое за замечание, учту и исправлю!


Теги:
 

Как создать нескольких документов "расчет при увольнении" на основании кадрового документа "увольнение" как Отпуска

Автор cozuРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 3184
Последний ответ 21 Мар 2015, 20:24
от дфтын
Не работает структура подчиненности документов "Требование-накладная" и "Передач

Автор sv_stas_svРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4100
Последний ответ 10 Мар 2011, 07:36
от sv_stas_sv
готовая компонента сканирования/загрузки / распознавания бумажных документов (счетов, налоговых накладных, приходных накладных) из бумажного документа в 1с

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 179
Последний ответ 14 Ноя 2017, 10:43
от oleg-x
Реквизит "Ссылка" у справочников и документов

Автор leklerkРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3026
Последний ответ 29 Май 2013, 16:24
от leklerk
"Дубляж" документов реализации в ВзаиморасчетыКомпанииОстаткиИОбороты

Автор mspuzРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 1787
Последний ответ 24 Янв 2014, 13:55
от mspuz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
50 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 327
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal