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

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

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

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

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


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

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


Оффлайн Rasty

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

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

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

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

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

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

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

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

Оффлайн Rasty

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

Оффлайн LexaK

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

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

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

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

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

Оффлайн Rasty

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

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

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

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

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

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

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
139 Сообщений
alex0402
64 Сообщений
oleg-x
54 Сообщений
AIFrame AIFrame
53 Сообщений
buketov.av buketov.av
47 Сообщений
ilyay ilyay
39 Сообщений
wise wise
37 Сообщений
Анюта17
33 Сообщений
Alter
32 Сообщений
alexandr_ll
30 Сообщений

* Кто онлайн

  • Точка Гостей: 211
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal