Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/97: Рейтинг темы: голосов - 97, средняя оценка - 4.78
ymytym
0 / 0 / 0
Регистрация: 27.09.2007
Сообщений: 5
1

Поиск документов

01.10.2007, 11:09. Просмотров 17487. Ответов 8
Метки нет (Все метки)

Необходимо найти докуоменты (Счет, ОказаниеУслуг, СчетФактура) конкретного контрагента и изменить значения некоторых реквизитов.
Можно ли в 1С как-то найти все документы данного контрагента? Если да, то как?
С 1С столкнулась ну ооочень недавно, помогите плиз!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2007, 11:09
Ответы с готовыми решениями:

Поиск документа в журналах документов
Имеется журнал документов, в модуле формы журнала документов выполняется...

Перенос документов
Можно ли стандартным способом перенести из идентичных конфигурации документы...

Печать документов
Подскажите пожалуйста как программно изменять чтобы канкретный докумет...

Сохранение документов
Вопрос такой. 1C v77 появилось необходимость, в такой фишке. из документа по...

Нумерация документов
В журнале операций создаются операции с префиксами П, С и К. Т.е. существует...

8
Koo
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 38
01.10.2007, 11:19 2
Перем Запрос, ТекстЗапроса, Таб;
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с НачДата по КонДата;
|Счет = Документ.Счет.ТекущийДокумент,Документ.СчетФактураПолученный.ТекущийДокумент,
|Документ.ОказаниеУслуг.ТекущийДокумент;
|Контрагент = Документ.ОказаниеУслуг.Контрагент, Документ.Счет.Контрагент,
|Документ.СчетФактура.Контрагент;
|Группировка Счет;
|Условие(Контрагент в ВыбКонтрагенты);
|";

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Док = СоздатьОбъект("Документ");
Пока Запрос.Группировка(1) = 1 Цикл
Док.НайтиДокумент(Запрос.Счет);
// дальше делаем что надо с Док
Док.Записать();
Док.Провести();
КонецЦикла;

На морду выводишб начало периода НачДата и конец периода КонДата, и ВыбКонтрагенты - для контрагента по которому ищем
0
vytfyt
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
01.10.2007, 11:20 3
<!--QuoteBegin-emelin+2:10:2007, 09:56 -->
<span class="vbquote">(emelin @ 2:10:2007, 09:56 )</span><!--QuoteEBegin-->Можно ли в 1С как-то найти все документы данного контрагента?
[snapback]80266" rel="nofollow" target="_blank[/snapback]?[/quote]
Можно! И в плане "разрешаю", и в плане "физически возможно".
<!--QuoteBegin-emelin+2:10:2007, 09:56 -->
<span class="vbquote">(emelin @ 2:10:2007, 09:56 )</span><!--QuoteEBegin-->Если да, то как?
[snapback]80266" rel="nofollow" target="_blank[/snapback]?[/quote]
Запросом. В ЖКК вроде даже был пример запроса по документам с фильтром по реквизиту.
0
ymytym
0 / 0 / 0
Регистрация: 27.09.2007
Сообщений: 5
01.10.2007, 11:29 4
Спасибо, kaa
но я прграммлю на делфях + 1С. У меня есть конкретный контрагент, можно ли в цикле сделать что-то типа:

Док = СоздатьОбъект("Документ");
Док.НайтиДокумент(Документ.ОказаниеУслуг.Контрагент);
// дальше делаем что надо с Док
Док.Записать();
Док.Провести();
КонецЦикла;
0
b00tsh
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 170
01.10.2007, 11:50 5
kaa все правильно сказал...

если таки не хочется запросом - попробуй
ВыбратьПоЗначению(<?>,,,)
Синтаксис:
ВыбратьПоЗначению(<Дата1>,<Дата2>,<ИмяОтбора>,<Знач>)
Назначение:
Открыть выборку документов в интервале дат с заданным значением реквизита отбора.
Возвращает:
1 - если действие выполнено и в выборке есть хотя бы один документ;
0 - если действие не выполнено или в выборке нет ни одного документа.
Параметры:
<Дата1> - дата, документ или позиция начала выборки документов. Если данный параметр опущен, то выборка начинается с самого первого существующего в системе документа.
<Дата2> - дата, документ или позиция конца выборки документов. Если данный параметр опущен, то выборка заканчивается самым последним существующим в системе документом.
<ИмяОтбора> - строка с названием Общего реквизита документов либо названием Графы отбора журналов;
<Знач> - значение отбора, по которому строится выборка документов.
Замечание:
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.

но только если у тебя Контрагент - общий реквизит или графа отбора...

Код
Док = СоздатьОбъект("Документ.ОказаниеУслуг");
Док.ВыбратьПоЗначению(Дата1,Дата2, "Контрагент", НужныйКонтрагент);
Пока Док.ПолучитьДокумент() = 1 Цикл
// дальше делаем что надо с Док
Док.Записать();
Док.Провести();
КонецЦикла;
0
ymytym
0 / 0 / 0
Регистрация: 27.09.2007
Сообщений: 5
01.10.2007, 13:30 6
если таки не хочется запросом - попробуй
ВыбратьПоЗначению(<?>,,,)
не работает, ошибка на строке
Док.ВыбратьПоЗначению(Дата1,Дата2, "Контрагент", НужныйКонтрагент);
0
b00tsh
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 170
01.10.2007, 13:40 7
это не готовый код, а пример всего лишь...
кроме того, если хочешь внятного ответа на такие заявления - нелохо было бы раскрыть - что конкретно за ошибка...
0
ymytym
0 / 0 / 0
Регистрация: 27.09.2007
Сообщений: 5
01.10.2007, 14:05 8
ошибка скорее всего возникает потому, что в данном случае реквизит Контрагент не общий.
пробую так (программлю на делфях):

Код
spr=Ole1C.CreateObject(Справочник.Контрагенты);
if spr.FindByCode(1)=0 then raise exception.create(Не найден контрагент);
doc:=Ole1C.CreateObject(Документ.ОказаниеУслуг);
doc.SelectDocuments;
while doc.GetDocument <>0 do
begin
if doc.GetAttrib(Контрагент).GetAttrib(Код)=spr.GetAttrib(Код) then // Проверяем тот контрагент или нет
begin
// Что то делаю
doc.Write;
doc.MakeActions;
end;
end;
0
b00tsh
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 170
01.10.2007, 14:10 9
так наверно будет правильней:

doc.SelectDocuments();
while doc.GetDocument() <>0 do
...
doc.Write();
doc.MakeActions();

это методы, а не свойства...


а чего бы запрос через ОЛЕ не сделать?
0
01.10.2007, 14:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2007, 14:10

Связка документов в 1С
Здравствуйте! Помогите разобраться с простым вопросом. Есть два документа...

Журнал документов
Доброго времени суток! Помогите решить такую проблему. Есть два документа:...

Отчёт из 2-х документов
Есть документ ТоварныйЧек и НарядНаСборку. Из них составляется отчёт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru