|
Поменять Реквизит Аванс с ДА на НЕТ в 700 док-ах, сделал обработку | ☑ | ||
---|---|---|---|---|
0
Da D
20.03.17
✎
08:20
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ различные | ПоступлениеНаСчет.Ссылка, | ПоступлениеНаСчет.РасшифровкаПлатежа.( | ПризнакАванса | ) |ИЗ | Документ.ПоступлениеНаСчет КАК ПоступлениеНаСчет |ГДЕ | ПоступлениеНаСчет.Проведен | И ПоступлениеНаСчет.Дата МЕЖДУ &Дата1 И &Дата2 | И ПоступлениеНаСчет.РасшифровкаПлатежа.ПризнакАванса = ИСТИНА"; Запрос.Параметры.Вставить("Дата1", Реквизит1.ДатаНачала); Запрос.Параметры.Вставить("Дата2", КонецДня(Реквизит1.ДатаОкончания)); таблица = запрос.Выполнить().Выбрать(); Пока таблица.Следующий() цикл запрос2 = Новый Запрос; запрос2.Текст = "ВЫБРАТЬ | АктВыполненныхРабот.Ссылка |ИЗ | Документ.АктВыполненныхРабот КАК АктВыполненныхРабот |ГДЕ | АктВыполненныхРабот.Проведен | И АктВыполненныхРабот.РаботыИУслуги.Сумма = &Сумма | И АктВыполненныхРабот.Контрагент = &Контрагент | И АктВыполненныхРабот.Дата МЕЖДУ &Дата1 И &Дата2"; запрос2.Параметры.Вставить("Сумма",таблица.ссылка.СуммаДокумента); запрос2.Параметры.Вставить("Контрагент",таблица.ссылка.контрагент); Запрос2.Параметры.Вставить("Дата1", Реквизит1.ДатаНачала); Запрос2.Параметры.Вставить("Дата2", КонецДня(Реквизит1.ДатаОкончания)); ТЗАктов=запрос2.выполнить().выгрузить(); НужныйАкт=неопределено; Для каждого СтрТЗАктов из ТЗАктов цикл Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | ПоступлениеНаСчетРасшифровкаПлатежа.Ссылка |ИЗ | Документ.ПоступлениеНаСчет.РасшифровкаПлатежа КАК ПоступлениеНаСчетРасшифровкаПлатежа |ГДЕ | ПоступлениеНаСчетРасшифровкаПлатежа.Ссылка.Проведен | И ПоступлениеНаСчетРасшифровкаПлатежа.Документ = &Акт | И ПоступлениеНаСчетРасшифровкаПлатежа.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2"; //|И ПоступлениеНаСчет.Ссылка.ДокументОтгрузки =&Акт"; запрос.установитьпараметр("Акт",СтрТЗАктов.Ссылка); Запрос.Параметры.Вставить("Дата1", Реквизит1.ДатаНачала); Запрос.Параметры.Вставить("Дата2", КонецДня(Реквизит1.ДатаОкончания)); если запрос.выполнить().выгрузить().количество()>0 Тогда продолжить; иначе НужныйАкт=СтрТЗАктов.ссылка; прервать; конецесли КонецЦикла; если НужныйАкт <>неопределено тогда МоёПоступление=таблица.ссылка.получитьобъект(); для каждого СтрТЧ из МоёПоступление.РасшифровкаПлатежа цикл СтрТЧ.Документ=нужныйакт; СтрТЧ.ПризнакАванса = ложь; КонецЦикла; МоёПоступление.записать(режимзаписидокумента.проведение); Сообщить("Исправлен документ "+МоёПоступление.номер); иначе Сообщить("ошибка"); конецесли КонецЦикла; Скажите, что не так сделал? Обработкой нахожу документ отгрузки по сумме равный документу, некоторые меняет, некоторые нет, что не так сделал? Волшебник, хватит убивать мои ветки( |
|||
1
Da D
20.03.17
✎
08:24
|
синтаксические ошибки исправлены, если что
|
|||
2
Звездец
20.03.17
✎
08:24
|
Запрос в цикле - это ужас
|
|||
3
Da D
20.03.17
✎
08:27
|
(2) ну мне на 1 раз же
|
|||
4
Da D
20.03.17
✎
08:29
|
Может обработка то и не нужна, я не знаю, подскажите )
|
|||
5
vde69
20.03.17
✎
08:52
|
а что не выходит?
опиши что ты хочешь услышать и сформулируй ВОПРОС |
|||
6
shamannk
20.03.17
✎
08:54
|
Начни с проблемы.
|
|||
7
novichok79
20.03.17
✎
09:08
|
есть же универсальная обработка объектов, зачем писать обработку?
|
|||
8
El_Duke
гуру
20.03.17
✎
09:10
|
(7) +100500
Поиск и замена значений поможет, мастерить лисапед с квадратными колесами нет нужды Или это тестовое задание при приеме на работу ? |
|||
9
Fish
20.03.17
✎
09:12
|
(8) Это "руки опускаются": Дайте совет, ничего не получается, руки опускаются((
|
|||
10
Da D
20.03.17
✎
09:16
|
Дак чтобы аванс поставить ДА нужно в указать документ отгрузки, обрабокта умеет подставлять документ отгрузки и смотреть сходится ли сумма ?
|
|||
11
Da D
20.03.17
✎
09:16
|
(9) и к чем тут это "кококо" ?:)
|
|||
12
Ёпрст
20.03.17
✎
09:20
|
(0)Всё можно сделать в одном запросе.
А так, такие конструкции таблица.ссылка.контрагент - это полный ПЭ при наличии запроса. |
|||
13
Da D
20.03.17
✎
09:22
|
(12) Мне 1 раз это сделать нужно и всё
какая разница как я это сделал мне нужно чтоб работало, а не универсальность |
|||
14
Da D
20.03.17
✎
09:23
|
(10) т.е. чтоб поставить НЕТ
|
|||
15
h-sp
20.03.17
✎
09:53
|
(14) там поставь авто. Тогда не надо документ отгузки, она сама подряд будет всё закрывать. по ФИФО.
|
|||
16
Мимохожий Однако
20.03.17
✎
09:55
|
(13) Если у тебя работает, то зачем на форуме спрашивать?
|
|||
17
Da D
20.03.17
✎
10:15
|
(15) где там и что авто ?
|
|||
18
h-sp
20.03.17
✎
10:19
|
(17) ну там же должно быть порядок закрытия авансов. в ПоступлениеНаСчет
|
|||
19
h-sp
20.03.17
✎
10:19
|
а нет, в акте.
|
|||
20
h-sp
20.03.17
✎
10:22
|
у вас самописка что ли? нет там такого признака аванса в поступлении на счет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |