Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 05:10

Помогите пожалуйста с внешней обработкой

Автор veicheln, 10 ноя 2010, 14:07

0 Пользователей и 1 гость просматривают эту тему.

veicheln

как программным способом проследить отрицательное сальдо на конец месяца по каждому контрагенту?
вообще задание состоит в следующем - нужно проследить отрицательное сальдо на конец месяца по каждому контрагенту, и на эту сумму создать документ "Реализация товаров и услуг".
Помогите опжалуйста, даже не знаю с чего начать, нужно наверно сделать цикл который будет прослеживать отрицательные сальдо, какэ то прописать?

veicheln

забыла написать - платформа 8.1, БП 1.6

progmikon

Вам нужно получать сальдо на конец месяца?

veicheln

ну да, мне его нужно выявить величину сальдо на конец месяца, чтобы на эту сумму сделать документ реализации.
если можно написать фрагмент кода, я буду признательна, потому что программировать начала недавно, мне сложновато, но очень хочется разобраться...

progmikon

Остатки вам нужны по контрагенту? Договору? По каким счетам?

veicheln

остатки нужны на конец месяца, по счету 60.01
я начала с того что написала запрос:
Запрос = Новый Запрос ("ВЫБРАТЬ
                          |   ХозрасчетныйОстатки.Счет,
                          |   ХозрасчетныйОстатки.Субконто1,
                          |   ХозрасчетныйОстатки.СуммаОстатокКт
                          |ИЗ
                          |   РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
                          |ГДЕ
                          |   ХозрасчетныйОстатки.Счет = &60
                          |   И ХозрасчетныйОстатки.КоличествоОстатокКт < &0");
   Запрос.Выполнить(ТекстЗапроса);
Как в этом запросе прописать чтобы сальдо считалось на конец месяца?
Или я неправильно размышляю?
Как дальше поступить?цикл прописывать?

progmikon

Что не ясно, спрашивайте.

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | ХозрасчетныйОстатки.Счет КАК Счет,
               | ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
               | ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстаток
               |ИЗ
               | РегистрБухгалтерии.Хозрасчетный.Остатки(&НаДату, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщиками), , Организация = &Организация) КАК ХозрасчетныйОстатки
               |ГДЕ
               | ХозрасчетныйОстатки.СуммаОстатокКт > 0";
Запрос.УстановитьПараметр("НаДату",КонецМесяца(ДобавитьМесяц(ТекущаяДата(), -1)));
Запрос.УстановитьПараметр("Организация", Справочники.Организации.НайтиПоКоду("000000001"));
   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
   Сообщить(Выборка.Счет);
   Сообщить(Выборка.Контрагент);
   Сообщить(Выборка.СуммаОстаток);
КонецЦикла;

veicheln

а почему ХозрасчетныйОстатки.СуммаОстатокКт > 0, нам же нужно отрицательное сальдо...
А куда теперь вставлять создание нового документа на эту сумму?

veicheln

Пока Результат.Следующий() Цикл
      Сообщить(Результат.Счет);
      Сообщить(Результат.Контрагент);
      Сообщить(Результат.СуммаОстаток);
      Реализация = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
      Реализация.Дата = КонецМесяца(ТекущаяДата());
      ...      
    
    КонецЦикла;
Я начала писать так... Мне теперь в табличную часть на вкладку услуги нужно добавить 1 строку с услугой на сумму отрицательного сальдо..

progmikon

Добавить новую строку:

НС = Реализация.Услуги.Добавить();
НС.Номенклатура =
...

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск