helpf.pro
Регистрация
 0 
Распечатать

1С 7.x : Выбрать все движения регистра по документу

Код 1C v 7.x
 
Процедура Взаиморасчеты(ВыбКлиент, ДатаНачало, ДатаКонец)
// Создание Таблицы для выходного отчета
Заг = "Неизвестно.";
Таб = СоздатьОбъект("Таблица");
Клн = СоздатьОбъект("Справочник.Клиенты");
Клн.ИспользоватьДату(ДатаКонец);
Док = СоздатьОбъект("Документ");
Рег = СоздатьОбъект("Регистр.Взаиморасчеты");
Рег1 = СоздатьОбъект("Регистр.Взаиморасчеты");
Рег.ВременныйРасчет();
РассчитатьРегистрыНа(ДатаКонец);
Если ВыбКлиент.Выбран() = 0 Тогда
//Без условий

Заг = "По всем клиентам.";
ИначеЕсли ВыбКлиент.ЭтоГруппа() = 1 Тогда
Клн.ВключатьПодчиненные(ВыбКлиент);
Клн.ИспользоватьРодителя(ВыбКлиент);
Заг = "По клиентам группы " + ВыбКлиент.Наименование;
Иначе
Предупреждение("Выберите группу клиентов!");
Возврат;
КонецЕсли;
Таб.ВывестиСекцию("Отчет");
Клн.ВыбратьЭлементы();
Пока Клн.ПолучитьЭлемент() > 0 Цикл
Если Клн.ЭтоГруппа() = 1 Тогда

Таб.ВывестиСекцию("Группа");
Иначе
Рег.Клиент = Клн.ТекущийЭлемент();
Рег.ОстаткиПолучить();
Баз_сум = Рег.СуммаБазовая;
Вал_сум = Рег.СуммаВалютная;
Таб.ВывестиСекцию("Клиент");
// цикл по всем документам
Док.ВыбратьДокументы(ДатаНачало, ДатаКонец);
Пока Док.ПолучитьДокумент() > 0 Цикл
// отфильтруем документы
Если (Док.Вид() = "Перемещение") ИЛИ (Док.Вид() = "Счет") ИЛИ

(Док.Вид() = "Списание") ИЛИ
(Док.Вид() = "РучноеИзмОстатка") Тогда
// Эти Документы не изменяют Взаиморасчеты
Продолжить;
КонецЕсли;
// выберем все движения регистра по документу
Рег1.ВыбратьДвиженияДокумента(Док.ТекущийДокумент());
Пока Рег1.ПолучитьДвижение() > 0 Цикл
Если Строка(Рег1.Клиент.Код) <> Строка(Клн.Код) Тогда

// не тот клиент
Продолжить;
КонецЕсли;
Дв_Баз_Сум = Рег1.СуммаБазовая;
Дв_Вал_Сум = Рег1.СуммаВалютная;
Если Рег1.Приход = 1 Тогда
Таб.ВывестиСекцию("Приход");
Иначе
Таб.ВывестиСекцию("Расход");
КонецЕсли;
КонецЦикла;
КонецЦикла;

КонецЕсли;
КонецЦикла;
//Вызов выходного отчета в окно просмотра и редактирования.
Таб.ТолькоПросмотр(1);
Таб.Опции(0, 0, 4, 0);
Таб.Показать("Взаиморасчеты с клиентами", "");
ВыбКлиент = 0;
КонецПроцедуры
Разместил:   Версии: | 7.x |  Дата:   Прочитано: 17167
 0 
Распечатать
Возможно, вас также заинтересует
Microsift Visual C++ Runtime Library Program ...1cv77s.exe abnormal program termination 0
При запуске 1С 7.7 выдает сообщение: Microsift Visual C++ Runtime Library Program C:Program Files1Cv77BIN1cv77s.exe abnormal program termination Вариант 1. Обычно это происходит, когда повреждается файл регистрации. Точнее, когда не дописывает
Ввод записей в журнал расчетов 1
Добавление записи в журнал расчетов: Метод Новая может быть вызван где угодно, в глобальном модуле, модуле обработок, документов и т.д. Данный метод проверяет корректность заполненных реквизитов журнала расчетов. При вводе новых записей журнал
Временный расчет регистров 0
Временный расчет регистров требуется, если нужно выбрать итоги или движения на определенную дату. По умолчанию итоги регистров выдаются на Точку актуальности. Формулировка 1С - Метод ВременныйРасчет устанавливает флаг участия регистра во временном р
Выбрать все движения регистра по датам 0
Рег1 = СоздатьОбъект(" Регистр.Взаиморасчеты" ); Если Режим = " Подробно" Тогда Рег1.УстановитьФильтр(Клиент); Рег1.ВыбратьДвижения(ДатаНачало, ); Пока Рег1.ПолучитьДвижение() 0 Цикл Док = Рег1.ТекущийДокумент(); Дв_Баз_Сум = Рег1.СуммаБа
Выбрать все движения регистра по датам в заданном интервале дат 0
Выбрать все движения регистра по датам в заданном интервале дат рег=создатьобъект(" Регистр.Обороты" ); рег.ВыбратьДвижения(НачМесяца(ТекущаяДата())); Пока рег.ПолучитьДвижение()=1 Цикл Сообщить(" Товар=" +строка(рег.Товар)+ " склад=" +строка(
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.