Имя: Пароль:
1C
1C 7.7
v7: Как программно изменить реквизиты выбранных документов, подскажите
0 котяша
 
10.10.14
12:26
Добрый день!

Помогите пожалуйста решить задачу:
в 1С 7.7 необходимо создать обработку,
которая позволяет выбрать некоторые документы из списка и для
них массово и автоматически поменять значение поля (например флажка с 0 на 1).

с выбором все понятно,
а как (какими функциями) можно получить доступ к полю и поменять его?

насколько я понимаю, 1с не дает так просто влезать в документы...

Извините, если повторяю чей-то вопрос, но ничего похожего не нагуглила :)
1 vicof
 
10.10.14
12:27
Юлечка, не забудь фотку в личную карточку вставить, тогда помощь будет обеспечена :)
2 silent person
 
10.10.14
12:28
поле документа программно доступно как его свойство.

ТвойДокумент.ИмяРеквизитаДокумента
3 Krolik Bezobraznik
 
10.10.14
12:29
(0) Получайте объект документа и через объект устанавливайте нужному полю нужное значение.
4 Cube
 
10.10.14
12:30
(0) На этом форуме девушкам принято сначала фотку в личную карточку вставлять...))
Чем удачнее фото, тем больше помогающих :)
5 Krolik Bezobraznik
 
10.10.14
12:30
(0) потом не забудьте записать документ и при необходимости при записи режим проведения поставьте.
6 vicof
 
10.10.14
12:30
(3) Ах, если бы это был снеговик...
7 tixis
 
10.10.14
12:35
(6) а разница? объект и там и там получать
8 AlekseyMista
 
10.10.14
12:40
(0) выборку делать ТОЛЬКО (!!!) запросом. Если будешь использовать объект "выборка", то из-за записи данные будут выбираться некорректно.

Дальше по ссылке получаешь объект, устанавливаешь новые значения полей и записываешь:

Пока Запрос.Выбрать() Цикл

ДокОбъект = Запрос.Ссылка.ПолучитьДокумент();
ДокОбъект.ПолеФлажка = 1;
ДокОбъект.ЗаписатьДокумент();

КонецЦикла;

//с 7.7 не работал кучу лет, может методы немного другие, но смысл тот же.
9 lavalit
 
10.10.14
12:40
(0) есть групповая обработка еслитам нет вашего реквизита, то обработку легко допилить до нужного функционала
10 котяша
 
10.10.14
12:41
СПАСИБИЩЕ огромное!!!
буду пытаться

фотку добавила ;)
11 Godofsin
 
10.10.14
12:42
(8) Красавчег! И как клюшки отреагируют на это?
12 palpetrovich
 
10.10.14
12:42
исходя из сабжа - капец советы :(
(10) может ну его? ...или это чисто для тренировки?
13 Cube
 
10.10.14
12:43
(10) Фотка с пляжа - хороший старт на мисте))
14 DmitriyDI
 
10.10.14
12:44
(8) выборку делать только с помощью СоздатьОбъект ;), а то фиг ты что отредактируешь)
15 lavalit
 
10.10.14
12:44
ДокОбъект = Запрос.Ссылка.ПолучитьДокумент();
в семерке не прокатит.
НайденныйДок = СоздатьОбъект("документ.Такойто")
НайденныйДок.НайтиДокумент(ДокОбъект);
Вот тогда уже можно изменить документ и записать его
16 lavalit
 
10.10.14
12:46
конечно записывать луче наверно через попытку... ежели чего оно хоть обругает чего там не может оно.
удач
17 котяша
 
10.10.14
12:46
запросом нельзя,
смысл в том, чтобы пользователь вручную выбирал нужные документы...
или в запрос как-то можно передать список выбранных доков?
18 DmitriyDI
 
10.10.14
12:50
(17) Список значений, туда добавляешь кнопочку добавить, далее по нему циклом проходишь через создать объект, получить документ обращаешься меняешь и записываешь!
19 silent person
 
10.10.14
12:54
20 lavalit
 
10.10.14
12:57
Запросом можно.. результатом запроса делай таблицу с флажками... чего флажком отметишь, те документы и откорректируешь... но в принципе как эту таблицу заполнить большого значения не имеет запросом или перебором..
21 Krolik Bezobraznik
 
10.10.14
13:42
(17) Как пользователь будет выбирать доки? На форме из списка? Если да, то как эти доки в список попадут? Или это будет документСписок?
22 lavalit
 
10.10.14
13:54
(17) смысл в таком запросе? Вы сначала хотите список документов а потом запросом получить их же и откорректировать?
Так лучше сразу обойти список и сделать записи. Каким образом получить список дело вкуса.
23 lavalit
 
10.10.14
13:55
а список подобрать можно и из журнала например.
24 Krolik Bezobraznik
 
10.10.14
13:59
Вот именно не понятно как необходимо выбрать документы.. или это будет отбор по диапазону и еще каким либо критериям или пользователь сам будет в списке документов множественным выбором выбирать или еще как то более извращенно.
25 lavalit
 
10.10.14
14:18
(24) ет уж как автор захочет))) задачка то изначально групповя обработка документов... а уж как создать эту группу.. вопрос другой))
26 lavalit
 
10.10.14
14:19
судя по всему если автор уже не пишет ничего.. стало быть задача решена... ну или отложена в долгий ящик)))
27 Duke1C
 
10.10.14
15:05
(0) UChoice не предлагать?
28 котяша
 
10.10.14
15:20
СПАСИБО БОЛЬШОЕ ВСЕМ!
буду постепенно воплощать
29 Krolik Bezobraznik
 
10.10.14
15:42
(28) Удачи =) Если что мы тут =)
30 aka AMIGO
 
10.10.14
15:59
Это 7.7-ка!! :)
накрутили тут 8-рочных колов, ноги заплетаются :)

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

а вдруг, да заработает!!!?! :)
31 aka AMIGO
 
10.10.14
16:07
(30) + а если заработает - то надо учесть, что измененный маркер может (по придуманному  кем-то для этого документа алгоритму) повлиять на проведение..
т.е. если изменена такая марка, то при перепроведении у документа могут быть совершенно другие результаты

(0) ты уж проследи за этим.. по МодулюДокуменета :)
32 Злопчинский
 
11.10.14
01:30
(0) ты не поверишь - это можно сделать штатными обработками