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

Автор Тема: Расход\Приход 8.0  (Прочитано 45722 раз)

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

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Добрый день! Начал не так давно программировать в 1С 8.0, наткнулся на такую трудность - у меня есть 2 документа (Приход Документа и Расход Документа), при проведении документов сведения добавляются в Регистр Накоплений и отображаются там, мне надо реализовать следующую вещь, например:
Пришло количество 8 книг
Списал 9 книг
Чтобы не давало списать большее количество, чем есть, т.е пришло 8, могу списать 123..8.
Регистр Накопления один для всех.
Попытался в модуле расхода документа добраться до прихода документа реквизита количество:
ТаблицаТоваровДокумента =Документы.ПоступлениеКнигОтИздательства.ПолучитьСсылку().ТаблПоступлКниг.Добавить().Количество;
и сделать такое условие:
Если ТекСтрокаТаблРеализКниКонтр.Количество <  ТаблицаТоваровДокумента Тогда
Сообщить("Списать не возможно, т.к недопустимое количество ",СтатусСообщения.Важное);
Отказ= Истина;
КонецЕсли;
Начал отлаживать, и оказалось, что выдает 0 в ТаблицаТоваровДокумента.
Далее попробывал по регистру накопления:
Движения=РегистрыНакопления.ПоступлениеРеализацияСписаниеКниг.ВыбратьПоРегистратору("ПоступлениеКнигОтИздательства).Количество;
Тут вообще не работает.
Подскажите мне пожалуйста, как это можно реализовать.


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Расход\Приход 8.0
« Ответ #1: 24 Фев 2011, 20:13 »
Остаток на время документа узнаешь запросом, например таким:

ВЫБРАТЬ
   ОстаткиНоменклатурыОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ОстаткиНоменклатуры.Остатки(&парамДата, Номенклатура = &парамНоменклатура) КАК ОстаткиНоменклатурыОстатки


Но если быть точным запрос гораздо сложнее.
Запрос к табличной части документа Расхода левым соединением соединяешь с виртуальной таблицей остатков регистра накопления...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Re: Расход\Приход 8.0
« Ответ #2: 24 Фев 2011, 20:22 »
Цитировать
Запрос к табличной части документа Расхода левым соединением соединяешь с виртуальной таблицей остатков регистра накопления...
А можно поподробнее как сделать левым соединением?

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Расход\Приход 8.0
« Ответ #3: 24 Фев 2011, 20:35 »
Примерно так (несколько упрощенно). На документ - ПриходнаяНакладная - не обращайте внимания ;) поменяйте на свое название

ВЫБРАТЬ
   ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура,
   ПриходнаяНакладнаяСписокНоменклатуры.Количество КАК КоличествоПоДокументу,
   ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоНаСкладе
ИЗ
   Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки
      ПО ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
ГДЕ
   ПриходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Re: Расход\Приход 8.0
« Ответ #4: 24 Фев 2011, 21:15 »
Я так понимаю,что у меня будет так:
Запрос = Новый Запрос(
"ВЫБРАТЬ
  | ПоступлениеКнигОтИздательстваСписокНоменклатуры.Номенклатура,
  | ПоступлениеКнигОтИздательстваСписокНоменклатуры.Количество КАК КоличествоПоДокументу,
  | ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоНаСкладе
  | ИЗ
  | Документ.ПоступлениеКнигОтИздательства.СписокНоменклатуры КАК ПоступлениеКнигОтИздательстваСписокНоменклатуры
  |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПоступлениеРеализацияСписаниеКниг.Остатки КАК ОстаткиНоменклатурыОстатки
  |    ПО ПоступлениеКнигОтИздательстваСписокНоменклатуры.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
  | ГДЕ
  | ПоступлениеКнигОтИздательстваСписокНоменклатуры.Ссылка = &Ссылка");
Если честно, я не очень в этом понимаю..
У меня нету номенклатуры и склада.
Документы: ПоступлениеКнигОтИздательства
РегистрНакполения: ПоступлениеРеализацияСписаниеКниг
Номенклатура: СписокКниг



Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Расход\Приход 8.0
« Ответ #5: 24 Фев 2011, 21:20 »
Еще документа не хватает...
Который делает "РеализацияСписание".
А может даже и двух... ("Реализация" и "Списание")
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Re: Расход\Приход 8.0
« Ответ #6: 24 Фев 2011, 21:24 »
а, просто не дописал, извините (
Документы:
ПоступлениеКнигОтИздательства (приход)
РеализацияКнигКонтрагенту (расход)
СписаниеКниг (расход)

РегистрНакопления: ПоступлениеРеализацияСписаниеКниг (все 3 регистратора в нем)


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Расход\Приход 8.0
« Ответ #7: 24 Фев 2011, 21:31 »
Что-то вроде:
Справочник - Книги
Документы - ПоступлениеКнигОтИздательства, РеализацияКниг, СписаниеКниг
РегистрНакопления - ДвижениеКниг.

И вот в моем запросе мою ПриходнуюНакладную надо заменить на гипотетическую РеализациюКниг (читай - документ, выполняющий РАСХОД!)
А уж никак не на ПоступлениеКнигОтИздательства...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Re: Расход\Приход 8.0
« Ответ #8: 24 Фев 2011, 21:47 »
Вот что вышло, вроде я так понимаю:
Запрос = Новый Запрос(
    "ВЫБРАТЬ
  | РеализацияКнигКонтрагентуТаблРеализКниКонтр.НаименованиеКниги,
  | РеализацияКнигКонтрагентуТаблРеализКниКонтр.Количество КАК КоличествоПоДокументу,
  | ЕСТЬNULL(ТаблРеализКниКонтрОстатки.КоличествоОстаток, 0) КАК КоличествоНаСкладе
  |      ИЗ
  | Документ.РеализацияКнигКонтрагенту.ТаблРеализКниКонтр КАК РеализацияКнигКонтрагентуТаблРеализКниКонтр
  |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПоступлениеРеализацияСписаниеКниг.Остатки КАК ТаблРеализКниКонтрОстатки
  |    ПО РеализацияКнигКонтрагентуТаблРеализКниКонтр.НаименованиеКниги = ТаблРеализКниКонтрОстатки.НаименованиеКниги
  |   ГДЕ
  | РеализацияКнигКонтрагентуТаблРеализКниКонтр.Ссылка = &Ссылка");
 
  Результат = Запрос.Выполнить();

Ругается на РеализацияКнигКонтрагентуТаблРеализКниКонтр.Ссылка = &Ссылка, на ссылку

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Расход\Приход 8.0
« Ответ #9: 24 Фев 2011, 21:53 »
Ну естественно параметр запроса должен быть задан )
Перед

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

пишем

Запрос.УстановитьПараметр("Ссылка",Ссылка);
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8531
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Номенклатуры типов "расход" и "услуга. Как использовать?

Автор joyerРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 2679
Последний ответ 29 Июн 2011, 21:11
от joyer
код по РПБС в заявке на кассовый расход и в заявке на наличные

Автор MurzilkaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 9131
Последний ответ 18 Апр 2011, 11:50
от cska-fanat-kz
как найти макет"Расход с розничных складов в ценах АТТ" в УТТ 10.3?

Автор JalibРаздел Пользователям "1С - Предприятие 8"

Ответов: 4
Просмотров: 1109
Последний ответ 06 Ноя 2016, 18:24
от alex0402
Документ "Приход денег"...

Автор n24nРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3355
Последний ответ 26 Фев 2011, 18:32
от n24n

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
47 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal