Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 06:00
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Обработка для создания пко и рко в зависимости от наличия отриц остатка в кассе  (Прочитано 4837 раз)

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

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте, вопрос такой. Делаю обработку которая бы создавала приходный и расходный кассовые ордера. На форме две кассы,при выборе касс выходит на форму остаток,если он отрицательный у организации 1,то создается приходный на организацию 1, соответственно расходный на организацию 2. Реквизиты должны проставляться те которые на форме выбраны(договор,контрагент).
 Эти документы нужно выводить списком на форму. Может кто сталкивался, подскажите. Это запросом нужно выводить? Я это делаю на кнопке сформировать.Создаю новую команду, а вот какие процедуры нужны,затрудняюсь.


Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
Идея такая:
кладете на форму - табличное поле, с типом значения таблицазначений, при создании документа , добавляете строчку в таблицу значений. потмо , когда работа завершенна, делаете
ЭлементыФормы.табличноеПоле.Значение = ВашатаблицаЗначений
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Подскажите, пожалуйста.
Я создала функцию, которая возвращает табличный документ, и мне теперь нужно, чтобы реквизиты документов-касса, организация проставлялись из выбранных на форме обработки.

Процедура Кнопка1(Элемент)
   ТабДок = СоздаетНовыеДокументы(ТабДок);
   ТабДок.ТолькоПросмотр = Истина;
КонецПроцедуры

Функция СоздаетНовыеДокументы(ТабДок) Экспорт
   НовыйПКО = Документы.Приходныйкассовыйордер.СоздатьДокумент();
   НовыйПКО.Дата = ТекущаяДата();
   НовыйПКО.УстановитьНовыйНомер();
   НовыйПКО.ОтражатьВУправленческомУчете = Истина;
   НовыйПКО.Оплачено=Истина;
    НовыйПКО.Касса=Касса1.Ссылка----здесь я выводится касса, которая выбрана на форме в обработке
   НовыйПКО.Записать(РежимЗаписиДокумента.Проведение);
   Возврат ТабДок;
КонецФункции

Просто выходит ошибка, что не заполнена касса

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
ЭлементыФормы.Касса1.Значение ... например..
Скажите, а что такое ТабДок, и зачем оно вам надо. если вы с ним ничего не делаете?
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Подскажите, пожалуйста
Вывела табличный документ, на нем списком должны выводиться пко и рко, если остаток отрицательный.У меня сейчас на данный момент стоит условие вывода любого остатка. как сделать условие на вывод только отрицательного остатка?
Функция СоздаетНовыеДокументы() Экспорт
   Если СуммаДок < 0 Тогда
   НовыйПКО = Документы.Приходныйкассовыйордер.СоздатьДокумент();
   НовыйПКО.Дата = ТекущаяДата();
   НовыйПКО.ОтражатьВУправленческомУчете = Истина;
   НовыйПКО.Оплачено=Истина;
   НовыйПКО.Организация = ОрганизацияОт.Ссылка;
   НОвыйПКО.Контрагент = КонтрагентОт.Ссылка;
    НовыйПКО.Касса=Касса1.Ссылка;
   НовыйПКО.СуммаДокумента = Надпись1;
   НовыйПКО.Записать();
   Возврат НовыйПКО;
   КонецЕсли;
КонецФункции

Процедура Кнопка1(Элемент)
   ТабДок = СоздаетНовыеДокументы();
   Новаястрока = Многодокументов.Добавить();
   Новаястрока.Документ = ТабДок;
КонецПроцедуры

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
НовыйПКО.СуммаДокумента = Надпись1;
классно. новые веяния..
А вы уверены ,ч то вот так вот надпись даст вам число?

Добавлено: 10 Ноя 2014, 15:53

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

Оффлайн sertak

  • ****
  • Сообщений: 274
  • РЕПУТАЦИЯ: 74
  • КПД: 27%
  • Регистрация: 2013-01-16
    • Skype: vitaly_sertakov
  • Сайт: www.sertakov.ru
  • Профессия: Программист 1С
Вывела табличный документ, на нем списком должны выводиться пко и рко, если остаток отрицательный.

Код вывода списка покажите.
Если ты знаешь свой путь, то удачи и неудачи равно продвигают тебя вперед

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
В этом запросе хочу выбрать остаток


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

Здесь нужно, чтоб создавал новые документы



Функция СоздаетНовыеДокументы() Экспорт
   Если СуммаДок < 0 Тогда
   НовыйПКО = Документы.Приходныйкассовыйордер.СоздатьДокумент();
   НовыйПКО.Дата = ТекущаяДата();
   НовыйПКО.ОтражатьВУправленческомУчете = Истина;
   НовыйПКО.Оплачено=Истина;
   НовыйПКО.Организация = ОрганизацияОт.Ссылка;
   НОвыйПКО.Контрагент = КонтрагентОт.Ссылка;
    НовыйПКО.Касса=Касса1.Ссылка;
   НовыйПКО.СуммаДокумента = Надпись1;
   НовыйПКО.Записать();
   Возврат НовыйПКО;
   КонецЕсли;
КонецФункции

Процедура Кнопка1(Элемент)
   ТабДок = СоздаетНовыеДокументы();
   Новаястрока = Многодокументов.Добавить();
   Новаястрока.Документ = ТабДок;
КонецПроцедуры

Подскажите, пожалуйста,
Я понимаю, что неправильно написала
НовыйПКО.СуммаДокумента = Надпись1;
Я хочу получить остаток по кассе в этой строке, числовое значение! Подскажите, как получить число

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
При нажати на кнопку вычисляйте остаток
Остаток = ОстатокПоКассе()  ;
если остаток > 0 - рассадник делайте или наоборот.
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн sertak

  • ****
  • Сообщений: 274
  • РЕПУТАЦИЯ: 74
  • КПД: 27%
  • Регистрация: 2013-01-16
    • Skype: vitaly_sertakov
  • Сайт: www.sertakov.ru
  • Профессия: Программист 1С
А потом передавайте в функцию создания документов этот остаток:
Функция СоздаетНовыеДокументы(ОстатокПоКассе) Экспорт
   Если ОстатокПоКассе< 0 Тогда
   НовыйПКО = Документы.Приходныйкассовыйордер.СоздатьДокумент();
   НовыйПКО.Дата = ТекущаяДата();
   НовыйПКО.ОтражатьВУправленческомУчете = Истина;
   НовыйПКО.Оплачено=Истина;
   НовыйПКО.Организация = ОрганизацияОт.Ссылка;
   НОвыйПКО.Контрагент = КонтрагентОт.Ссылка;
    НовыйПКО.Касса=Касса1.Ссылка;
   НовыйПКО.СуммаДокумента = ОстатокПоКассе;
   НовыйПКО.Записать();
   Возврат НовыйПКО;
   Иначе
   НовыйРКО = Документы.Расходныйкассовыйордер.СоздатьДокумент();
    ...   
   НовыйРКО .Записать();
   Возврат НовыйРКО ;

   КонецЕсли;
КонецФункции
Добавлено: 10 Ноя 2014, 16:28

Ну, по-хорошему еще если остаток = 0, ничего создавать не стоит.
Добавлено: 10 Ноя 2014, 16:38

Итого:
1. По нажатию кнопки в реквизит на форме получаете значение из функции  ОстатокПоКассе()
2. Передаем значение реквизита в функцию создания документов
3. Выводим документ в таблицу на форме
Например:
Процедура Кнопка1(Элемент)
   МойРеквизит = ОстатокПоКассе();
   Если МойРеквизит <> 0   
       ТабДок = СоздаетНовыеДокументы(МойРеквизит);
       Новаястрока = Многодокументов.Добавить();
       Новаястрока.Документ = ТабДок;
   КонецЕсли
КонецПроцедуры
Если ты знаешь свой путь, то удачи и неудачи равно продвигают тебя вперед

Последний раз редактировалось: sertak; 10 Ноя 2014, 16:38. Причина: Объединение сообщений


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 225
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal