Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
12.03.2012, 15:44
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Написал такую вот процедуру Процедура КнопкаВыполнитьНажатие(Кнопка) НачатьТранзакцию(); Док = ДОкументы.ЗаявкаНаКассовыйРасход; Выборка = ПолеВвода1; //Док.Выбрать(); ТекДок = Выборка.Ссылка.ПолучитьОбъект(); Если Лев(ТекДок.ЛицевойСчет.Код,2)="14" Тогда ТекДок.Баланс = Справочники.Баланс.НайтиПоНаименованию("123"); ТекДок.Записать(РежимЗаписиДокумента.Запись); Сообщить("документ "+ текДок.номер+" записан"); ЗафиксироватьТранзакцию(); КонецЕсли; КонецПроцедуры Здесь конкретный документ в базе 1С выбирается вручную через поле выбора, ссылка на него заносится в переменную ТекДок. При этом тип документа (в данном случае Заявка на кассовый расход) выбирается заранее. Подскажите как написать цикл, который подавал бы в переменную ТекДок последовательно ссылки на ВСЕ документы, которые есть в базе, независимо от их типа. П.С. прошу сильно не пинать, ибо первый опыт программирования на 1С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 15:46
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Забыл добавить, если это имеет значение, то платформа - 1С:Предприятие 8.2 (8.2.15.294), конфига - БГУ 1.0.9.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 16:03
|
|||
|---|---|---|---|
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
ВыборкаДокументов = Документы.Расходная.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата())); Пока ВыборкаДокументов.Следующий() Цикл // Действия с документом - элементом выборки, // его значение содержится в переменной ВыборкаДокументов КонецЦикла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 16:17
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Запрос = Новый Запрос; ФлагПервыйВход = Истина; Запрос.Текст = "ВЫБРАТЬ ВложенныйЗапрос.Ссылка ИЗ ("; Для каждого Док из Метаданные.Документы Цикл Если НЕ ФлагПервыйВход Тогда Запрос.Текст = Запрос.Текст + " ОБЪЕДИНИТЬ ВСЕ "; КонецЕСли; ФлагПервыйВход = Ложь; Запрос.Текст = Запрос.Текст + " ВЫБРАТЬ Ссылка ИЗ Документ." + Док.Имя + " ГДЕ НачалоПериода(Дата, ДЕНЬ) = &Дата "; КонецЦикла; Запрос.Текст = Запрос.Текст + ") КАК ВложенныйЗапрос УПОРЯДОЧИТЬ ПО ВложенныйЗапрос.Ссылка.Дата"; Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата())); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл ДокСсылка = Выборка.Ссылка; КонецЦикла; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 16:18
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Спасибо за оперативную помощь. А как все таки можно сделать цикл вообще по всем типам документов, а не только по расходным? И чтобы соответственно не приходилось явно указывать тип документа? Грубо говоря, чтобы было не Документы.Расходная.Выбрать, а что-то типа Документы.ВсеТипыДокументов.Выбрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 16:19
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Программист 1с, спасибо, сейчас попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 17:55
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Программист 1с, подскажите как должен работать приведенный вами код? У меня обламывается на Выборка = РезультатЗапроса.Выбрать(); Предыдущая строка РезультатЗапроса = Запрос.Выполнить(); как я понимаю дает коллекцию всех возможных типов документов. А РезультатЗапроса.Выбрать() дает "Поле объекта не обнаружено" Скрины отладчика прицепил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 17:59
|
|||
|---|---|---|---|
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Как посмотреть содержимое ТЗ в отладчике знаете? Привидите Скриншот с отладчика со строки РезультатЗапроса.Выгрузить() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 18:22
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
AHDP, Имеете в виду РезультатЗапроса.Выбрать();? Вот скрин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 18:28
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
РезультатЗапроса.выгрузить() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 18:34
|
|||
|---|---|---|---|
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
В строку Выражение вставляете РезультатЗапроса.выгрузить(). В окне результатов встаете на строчку и жмёте на карандаш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 18:46
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Как я понял вместо Выборка = РезультатЗапроса.Выбрать() должно быть Выборка = РезультатЗапроса.Выгрузить()? Скрин прикладываю Поледние строки закоментил, т.к. если Выбрать() заменить на Выгрузить(), не находит после .Следующий в строке Пока Выборка.Следующий Цикл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 19:02
|
|||
|---|---|---|---|
|
|||
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
Понял, почему пусто в результатах. За сегодняшнюю дату документов в базе нет. Поменял на Запрос.УстановитьПараметр("Дата", НачалоГода(ТекущаяДата())); Но тогда выдает только доки на 01.01.2012 А как задать интервал с 01.01.2012 по сегодняшний день? И еще Пока Выборка.Следующий Цикл ругается, что поле Следующий не обнаружено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.03.2012, 21:10
|
|||
|---|---|---|---|
Помогите написать цикл для получения всех документов в базе 1с |
|||
|
#18+
арт2010Понял, почему пусто в результатах. За сегодняшнюю дату документов в базе нет. Поменял на Запрос.УстановитьПараметр("Дата", НачалоГода(ТекущаяДата())); Но тогда выдает только доки на 01.01.2012 А как задать интервал с 01.01.2012 по сегодняшний день? В запросе заменить условие Код: vbnet 1. , На два условия объединенных И больше равно начальной дате и меньше либо равно конечной дате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=28&tablet=1&tid=1520591]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 309ms |

| 0 / 0 |
