Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 4
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Нужно сравнить дынные с двух разных регистров накопления , и запретить перерасход лимитов          
burza Подменю пользователя
сообщение 12.04.18, 8:53
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 170
Спасибо сказали: 0 раз
Рейтинг: 0

Есть 2 регистра в них записываются данные с 2х документов, Бюджет и заявка. Стоит задача сравнивать регистры,есть бюджет там есть статья и суммы и нужно при создании заявки чтобы она лезла в бюджет и смотрела можно ли провести сумму по статье. Иными словами проверка на расход.
Сделал так, но почему то сравнивается только одна статья а не по каждой, сейчас только админ работает.Что не так?


 Запрос = Новый Запрос;
  Запрос.Текст = "ВЫБРАТЬ
    |ФинЗаявкаОстатки.СуммаОстаток КАК СуммаФинЗаявка,
    |ФинЗаявкаОстатки.Статья КАК Статья,
    |БюджетРасходовИПриходовОстатки.СуммаОстаток КАК СуммаФинПлана
    |ИЗ
    |РегистрНакопления.ФинЗаявка.Остатки КАК ФинЗаявкаОстатки
    |ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.БюджетРасходовИПриходов.Остатки КАК БюджетРасходовИПриходовОстатки
    |ПО ФинЗаявкаОстатки.Подразделение = БюджетРасходовИПриходовОстатки.Подразделение
    |И ФинЗаявкаОстатки.Статья = БюджетРасходовИПриходовОстатки.СтатьяРасхода
    |ГДЕ
    |ФинЗаявкаОстатки.Подразделение = &Подразделение";
    
    Запрос.УстановитьПараметр("Подразделение", Объект.Подразделения);

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();
Выборка.Следующий();

    Для Каждого Строка Из Объект.ФинЗаявка Цикл
        
    Если Выборка.СуммаФинПлана < Выборка.СуммаФинЗаявка Тогда
Отказ = Истина;
Сообщить("Сумма больше чем ФинПлан на " + (Выборка.СуммаФинЗаявка - Выборка.СуммаФинПлана)+ " по статье " + Выборка.Статья )
КонецЕсли;
            
КонецЦикла;

Petre Подменю пользователя
сообщение 12.04.18, 9:20
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2457
Из: Київ, Україна
Спасибо сказали: 613 раз
Рейтинг: 572.9

burza @ Today, 8:53 * ,
Во-первых, сгруппируйте запрос по статьям.
Во-вторых, переделайте обработку результата. Сейчас у вас в цикле происходит обход по ТЧ объекта, но внутри каждый раз обрабатываются данные первой записи результата запроса.


Signature
Допрацьовую:
- "Бухгалтерія для України 1.2";
- "Бухгалтерія для України 2.0";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

burza Подменю пользователя
сообщение 12.04.18, 9:48
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 170
Спасибо сказали: 0 раз
Рейтинг: 0

Petre @ Сегодня, 10:20 * ,
Можно код?))

Petre Подменю пользователя
сообщение 12.04.18, 10:22
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2457
Из: Київ, Україна
Спасибо сказали: 613 раз
Рейтинг: 572.9

burza @ Today, 9:48 * ,
По первому, вот вам пример группировки:
ВЫБРАТЬ
    СчетНаОплату.Контрагент КАК Контрагент,
    СУММА(СчетНаОплату.СуммаДокумента) КАК СуммаДокумента
ИЗ
    Документ.СчетНаОплату КАК СчетНаОплату

СГРУППИРОВАТЬ ПО
    СчетНаОплату.Контрагент

По второму, на словах: либо выгружайте тч в запрос и там сразу обрабатывайте, либо обходите тч в цикле и ищите соответствующую запись результата запроса (по статье, как я полагаю).


Signature
Допрацьовую:
- "Бухгалтерія для України 1.2";
- "Бухгалтерія для України 2.0";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

logist Подменю пользователя
сообщение 12.04.18, 10:27
Сообщение #5

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Команда
Сообщений: 9334
Из: Харьков
Спасибо сказали: 2454 раз
Рейтинг: 0

ВНУТРЕННЕЕ СОЕДИНЕНИЕ получает совпадения в двух таблицах, вам вероятно надо использовать ЛЕВОЕ, иначе расход будет разрешен по статьям которых нет в бюджете


Signature
Весь комплекс услуг по 1С 8.х. От консультаций до внедрения. ИТС. 1С-Звіт. Интеграция IP-телефонии. Написание конфигураций под требования заказчика, доработка типовых решений. Переход с 7.7 на 8.х.
Пишите в ЛС. Звоните +380 (44) 2227507, (57) 7547700, (98) 5147778, (50) 7147778, (93) 2147778 (участник "САБ")

Vidocq05 Подменю пользователя
сообщение 12.04.18, 10:40
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 175
Из: Сумы
Спасибо сказали: 28 раз
Рейтинг: 28

burza @ Сегодня, 9:53 * ,
Вам следует ознакомится с кодом контроля остатков номенклатуры при продажах. В интернете примеров данного кода хватает. И использовать его как основу в вашем коде.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 10.12.18, 0:25
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне