powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Помогите написать цикл для получения всех документов в базе 1с
14 сообщений из 14, страница 1 из 1
Помогите написать цикл для получения всех документов в базе 1с
    #37700880
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написал такую вот процедуру

Процедура КнопкаВыполнитьНажатие(Кнопка)
НачатьТранзакцию();
Док = ДОкументы.ЗаявкаНаКассовыйРасход;
Выборка = ПолеВвода1; //Док.Выбрать();
ТекДок = Выборка.Ссылка.ПолучитьОбъект();
Если Лев(ТекДок.ЛицевойСчет.Код,2)="14" Тогда
ТекДок.Баланс = Справочники.Баланс.НайтиПоНаименованию("123");
ТекДок.Записать(РежимЗаписиДокумента.Запись);
Сообщить("документ "+ текДок.номер+" записан");
ЗафиксироватьТранзакцию();
КонецЕсли;
КонецПроцедуры


Здесь конкретный документ в базе 1С выбирается вручную через поле выбора, ссылка на него заносится в переменную ТекДок. При этом тип документа (в данном случае Заявка на кассовый расход) выбирается заранее.
Подскажите как написать цикл, который подавал бы в переменную ТекДок последовательно ссылки на ВСЕ документы, которые есть в базе, независимо от их типа.
П.С. прошу сильно не пинать, ибо первый опыт программирования на 1С
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37700890
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл добавить, если это имеет значение, то платформа - 1С:Предприятие 8.2 (8.2.15.294), конфига - БГУ 1.0.9.2
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37700932
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВыборкаДокументов = Документы.Расходная.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
Пока ВыборкаДокументов.Следующий() Цикл

// Действия с документом - элементом выборки,
// его значение содержится в переменной ВыборкаДокументов

КонецЦикла
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37700974
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос = Новый Запрос;
ФлагПервыйВход = Истина;
Запрос.Текст = "ВЫБРАТЬ ВложенныйЗапрос.Ссылка ИЗ (";
Для каждого Док из Метаданные.Документы Цикл
Если НЕ ФлагПервыйВход Тогда
Запрос.Текст = Запрос.Текст + " ОБЪЕДИНИТЬ ВСЕ ";
КонецЕСли;
ФлагПервыйВход = Ложь;
Запрос.Текст = Запрос.Текст + " ВЫБРАТЬ Ссылка ИЗ Документ." + Док.Имя + " ГДЕ НачалоПериода(Дата, ДЕНЬ) = &Дата ";
КонецЦикла;
Запрос.Текст = Запрос.Текст + ") КАК ВложенныйЗапрос УПОРЯДОЧИТЬ ПО ВложенныйЗапрос.Ссылка.Дата";
Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()));
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ДокСсылка = Выборка.Ссылка;
КонецЦикла;
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37700984
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за оперативную помощь. А как все таки можно сделать цикл вообще по всем типам документов, а не только по расходным? И чтобы соответственно не приходилось явно указывать тип документа? Грубо говоря, чтобы было не Документы.Расходная.Выбрать, а что-то типа Документы.ВсеТипыДокументов.Выбрать?
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37700987
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с, спасибо, сейчас попробую
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701254
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист 1с, подскажите как должен работать приведенный вами код?
У меня обламывается на Выборка = РезультатЗапроса.Выбрать();
Предыдущая строка РезультатЗапроса = Запрос.Выполнить(); как я понимаю дает коллекцию всех возможных типов документов.
А РезультатЗапроса.Выбрать() дает "Поле объекта не обнаружено"
Скрины отладчика прицепил.
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701263
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как посмотреть содержимое ТЗ в отладчике знаете?
Привидите Скриншот с отладчика со строки РезультатЗапроса.Выгрузить()
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701335
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AHDP,
Имеете в виду РезультатЗапроса.Выбрать();?
Вот скрин
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701348
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РезультатЗапроса.выгрузить()
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701361
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В строку Выражение вставляете РезультатЗапроса.выгрузить().
В окне результатов встаете на строчку и жмёте на карандаш.
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701395
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как я понял вместо Выборка = РезультатЗапроса.Выбрать() должно быть Выборка = РезультатЗапроса.Выгрузить()?
Скрин прикладываю
Поледние строки закоментил, т.к. если Выбрать() заменить на Выгрузить(), не находит после .Следующий в строке Пока Выборка.Следующий Цикл
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701441
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, почему пусто в результатах. За сегодняшнюю дату документов в базе нет. Поменял на Запрос.УстановитьПараметр("Дата", НачалоГода(ТекущаяДата()));
Но тогда выдает только доки на 01.01.2012
А как задать интервал с 01.01.2012 по сегодняшний день?
И еще Пока Выборка.Следующий Цикл ругается, что поле Следующий не обнаружено
...
Рейтинг: 0 / 0
Помогите написать цикл для получения всех документов в базе 1с
    #37701598
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010Понял, почему пусто в результатах. За сегодняшнюю дату документов в базе нет. Поменял на Запрос.УстановитьПараметр("Дата", НачалоГода(ТекущаяДата()));
Но тогда выдает только доки на 01.01.2012
А как задать интервал с 01.01.2012 по сегодняшний день?
В запросе заменить условие
Код: vbnet
1.
НачалоПериода(Дата, ДЕНЬ) = &Дата

,
На два условия объединенных И больше равно начальной дате и меньше либо равно конечной дате.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Помогите написать цикл для получения всех документов в базе 1с
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]