Подскажите пож-та что делает код и есть ли ошибки?
&наКлиенте
Процедура ВыполнитьОбработку (ДатаНачала, ДатаОкончания, СписокКлиентов)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр ("ДатаНачала", Датаначала);
Запрос.УстановитьПараметр ("ДатаОкончания", ДатаОкончания) ;
Запрос.УстановитьПараметр ("СтатусНазначения", Перечисления. СтатусыНазначений. Выполнено) ;
Запрос.Текст =
"ВЫБРАТЬ
| Оборотыпоназначениямобороты.ДокНазначения КАК ДокНазначения
| ОборотыпоназначениямОбороты.Клиент КАК Клиент
| регистрнакопления.ОборотыПоНазначениям.Обороты(, ‚, ‚ ) КАК ОборотыПоназначениямобороты
| ОборотыпоназначениямОбороты.Период Между &ДатаНачала и ДатаОкончания
| И ОборотыпоназначениямОбороты.СтатусНазначения <> &СтатусНазначения";
ТЗ = Запрос.Выполнить () .Выгрузить ();
Для Каждого стр Из ТЗ Цикл
Если СписокКлиентов.НайтиПоЗначению(стр.Клиент) Тогда
Докназначения = стр.Докназначения;
ДокНазначения.СтатусНазначения = Перечисления. СтатусьНазначений. Выполнено;
Докназначения. Записать();
Конецесли;
Конеццикла;
Конецпроцедуры
Процедура ВыполнитьОбработку (ДатаНачала, ДатаОкончания, СписокКлиентов)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр ("ДатаНачала", Датаначала);
Запрос.УстановитьПараметр ("ДатаОкончания", ДатаОкончания) ;
Запрос.УстановитьПараметр ("СтатусНазначения", Перечисления. СтатусыНазначений. Выполнено) ;
Запрос.Текст =
"ВЫБРАТЬ
| Оборотыпоназначениямобороты.ДокНазначения КАК ДокНазначения
| ОборотыпоназначениямОбороты.Клиент КАК Клиент
| регистрнакопления.ОборотыПоНазначениям.Обороты(, ‚, ‚ ) КАК ОборотыПоназначениямобороты
| ОборотыпоназначениямОбороты.Период Между &ДатаНачала и ДатаОкончания
| И ОборотыпоназначениямОбороты.СтатусНазначения <> &СтатусНазначения";
ТЗ = Запрос.Выполнить () .Выгрузить ();
Для Каждого стр Из ТЗ Цикл
Если СписокКлиентов.НайтиПоЗначению(стр.Клиент) Тогда
Докназначения = стр.Докназначения;
ДокНазначения.СтатусНазначения = Перечисления. СтатусьНазначений. Выполнено;
Докназначения. Записать();
Конецесли;
Конеццикла;
Конецпроцедуры
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Обоже, гоните его подальше от 1С. Ужас уже в запросе.
Ты хотябы не в блокноте это все пиши и нажми кнопочку проверить синтаксис, у тебя сразу гора ошибок высыпится.
Запрос.Текст =
"ВЫБРАТЬ
| ОборотыПоНазначениямОбороты.ДокНазначения КАК ДокНазначения,
| ОборотыПоНазначениямОбороты.Клиент КАК Клиент
|ИЗ
| РегистрНакопления.ОборотыПоНазначениям.Обороты(&ДатаНачала, &ДатаОкончания, , СтатусНазначения <> &СтатусНазначения) КАК ОборотыПоНазначениямОбороты";
Ты хотябы не в блокноте это все пиши и нажми кнопочку проверить синтаксис, у тебя сразу гора ошибок высыпится.
(10) Производительность
У тебя изначально есть три готовых параметра отбора:
Но ты выгружаешь вообще все данные за период со статусом Перечисления.СтатусыНазначений.Выполнено. Сколько у тебя записей в этой таблице? Правильный ответ: "Сейчас много, а через пару еще больше". При этом тебе нужны только те записи, которые попадают в "СписокКлиентов". В случае одной таблицы и 1000 строк страшного ничего нет. Но когда столкнёшься с большими отчетами - можешь сильно нагрузить сервер. Причем, в вплоть до ухода сервака в ребут. 8-7 временных таблиц, например могут (при неправильном отборе, естественно) содержать и по 20-30 тысяч строк. Если такой отчет ещё и популярен, то 1С будет работать по графику "в 9:00 начали работать, а в 9:02 положили сервак"
Требования к коду
Все условия находятся в одном месте
Нет мусора, который делает код длиннее без необходимости
У тебя изначально есть три готовых параметра отбора:
Процедура ВыполнитьОбработку (ДатаНачала, ДатаОкончания, СписокКлиентов)
Но ты выгружаешь вообще все данные за период со статусом Перечисления.СтатусыНазначений.Выполнено. Сколько у тебя записей в этой таблице? Правильный ответ: "Сейчас много, а через пару еще больше". При этом тебе нужны только те записи, которые попадают в "СписокКлиентов". В случае одной таблицы и 1000 строк страшного ничего нет. Но когда столкнёшься с большими отчетами - можешь сильно нагрузить сервер. Причем, в вплоть до ухода сервака в ребут. 8-7 временных таблиц, например могут (при неправильном отборе, естественно) содержать и по 20-30 тысяч строк. Если такой отчет ещё и популярен, то 1С будет работать по графику "в 9:00 начали работать, а в 9:02 положили сервак"
Требования к коду
Все условия находятся в одном месте
(&ДатаНачала, &ДатаОкончания, , СтатусНазначения <> &СтатусНазначения) И Клиент В (&СписокКлиентов))
Нет мусора, который делает код длиннее без необходимости
Если СписокКлиентов.НайтиПоЗначению(стр.Клиент) Тогда
:-)
Форум - это передача и обмен информации. Если информация понятна, новая и полезная, то это обучение. Информатика 7 класс.
Независимо от того, проводятся ли классические занятия по обучению или нет. Если есть факт передачи знаний - это обучение.
Раз информация доступна бесплатно, то это бесплатное обучение.
Вопрос только в том, что кто-то ищет информацию прежде чем вопрос задать, а кто-то спрашивает и через 5 минут сам находит ответ, а кто-то задает вопрос и не проверяет ответы и не верит ответам, а кто-то....
Это уже индивидуальная психология и она кардинально не меняется. Как человек привык себя вести, так и будет пытаться продолжать. С небольшими отклонениями с возрастом, либо стрессовыми ситуациями в жизни.
Форум - это передача и обмен информации. Если информация понятна, новая и полезная, то это обучение. Информатика 7 класс.
Независимо от того, проводятся ли классические занятия по обучению или нет. Если есть факт передачи знаний - это обучение.
Раз информация доступна бесплатно, то это бесплатное обучение.
Вопрос только в том, что кто-то ищет информацию прежде чем вопрос задать, а кто-то спрашивает и через 5 минут сам находит ответ, а кто-то задает вопрос и не проверяет ответы и не верит ответам, а кто-то....
Это уже индивидуальная психология и она кардинально не меняется. Как человек привык себя вести, так и будет пытаться продолжать. С небольшими отклонениями с возрастом, либо стрессовыми ситуациями в жизни.
(1) + к (12)
Оборотыпоназначениямобороты.ДокНазначения КАК ДокНазначения
| ОборотыпоназначениямОбороты.Клиент КАК Клиент
А один документ может делать много движений по одному клиенту?
Если может, то сколько будет движений, столько будет и записей одного и того же документа. А зачем?
Оборотыпоназначениямобороты.ДокНазначения КАК ДокНазначения
| ОборотыпоназначениямОбороты.Клиент КАК Клиент
А один документ может делать много движений по одному клиенту?
Если может, то сколько будет движений, столько будет и записей одного и того же документа. А зачем?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот