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

Хранилище

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

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



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

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

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


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

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

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

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

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

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

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


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

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

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

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

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

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

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

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

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


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

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

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

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

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

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

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

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


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

 

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