Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
1

Как вывести остаток из регистра накопления в документ?

29.05.2015, 13:26. Просмотров 2782. Ответов 26
Метки нет (Все метки)

как вывести остаток из регистра накопления в документ!
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2015, 13:26
Ответы с готовыми решениями:

Как достать данные за период из регистра накопления в документ
Доброго времени суток. У меня есть документ о посещениях детского сада. Из него данные передаются в...

Заполнение документа данными из регистра накопления. Создание отчета по данным регистра накопления.
Изучаю 1с по методичкам не могу решить два задания Объясните что да как делается +100 в карму

Как из регистра накопления получить стоимость для расх. накладной?
Добрый день подскажите пожалуйста как из регистра накопления с ресурсами "Количество и сумма"...

Как из Регистра Накопления взять обороты только за один месяц
Всем добрый вечер) У кого есть свободное время,помогите мне пожалуйста с несложным вопросом. Как...

Выборка из регистра накопления
Вообщем надо сделать конфигурацию для библиотеки. Надо сделать так чтобы на форме где...

26
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
29.05.2015, 13:59 2
1. У регистра должно быть свойство "Вид регистра" = Остатки.
2. В документе при выборе номенклатуры пишем запрос и достаем остатки на дату документа.
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
29.05.2015, 14:01  [ТС] 3
Имеется три регистра накопления привязаные к Заказчику, Исполнителю и Сотрудникам. Задача в документе касса при выборе контрагента высветить его долг.
0
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
29.05.2015, 14:43 4
Ну поздравляю, что есть. Что не получается? Не знаете как выборку сделать? Тогда хоть опишите состав регистров.
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
29.05.2015, 14:53  [ТС] 5
у нас есть заказчик в него входят в него в ходят единицы измерения заказчик,заявки дата и ресурс СуммаДолга
стольные идентичны Толька меняется заказчик на Исполнителю и называется также регистр, также и сотрудники называется также! привязаны к заявкам и кассе. мне надо чтобы в кассе пре выборе контрагента допустим заказчик или исполнителя или сотрудника высветился долг заказчика или исполнителя или сотрудника,зависимости каво выбери! регистры накопления "остатки"
0
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
29.05.2015, 15:34 6
А реквизит ФизическоеЛицо у всех этих людей есть? Можно было бы по нему тогда долг доставать. Короче, напишите хоть какой-нибудь запрос для начала, чтоб было над чем думать, или скрины с регистрами.
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
29.05.2015, 16:32  [ТС] 7
пробовал заделать вот так в модуле!

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Процедура ОбработкаЗаполнения(Контрагент)
Запрос = Новый запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   ЗаказчикиОстатки.СуммаДолгаОстаток КАК ЗаказчикиСуммаДолга
|ИЗ
|   РегистрНакопления.Заказчики.Остатки КАК ЗаказчикиОстатки";
// СуммаДолга  это реквизит в него мне надо извлечь долг заказчика по заявкам
 СуммаДолга = ЗаказчикиСуммаДолга; 
 
    СуммаДолга = РегистрНакопления.Заказчики.Остатки;
    заказчикСуммаДолга = СуммаДолгаВРегистрах(СуммаДолга)
КонецПроцедуры // ПриОткрытии()

выдает ошибку не знает от куда брать: ЗаказчикиСуммаДолга, РегистрНакопления, СуммаДолгаВРегистрах.
как то по другому надо извлечь! вот как я не магу понять!

Добавлено через 19 минут
мож даже и не та процедура, как в отчет заделать я знаю а чтобы вывелась сумма долга в отдельное кошка.
а вапрос чета я даже не подумал а в форме документа это заделать нельзя случаем!
0
Phil
Эксперт 1С
404 / 281 / 86
Регистрация: 28.05.2014
Сообщений: 1,138
29.05.2015, 16:32 8
Garilas,
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Процедура ОбработкаЗаполнения(Контрагент)
Запрос = Новый запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   ЗаказчикиОстатки.СуммаДолгаОстаток КАК ЗаказчикиСуммаДолга
|   ЗаказчикиОстатки.Контрагент
|ИЗ
|   РегистрНакопления.Заказчики.Остатки КАК ЗаказчикиОстатки
| ГДЕ ЗаказчикиОстатки.Контрагент = &Контрагент";
Запрос.УстановитьПараметр("Контрагент",Контрагент);
Выборка = Запрос.Выполнить().Выбрать();
 
Пока Выборка.Следующий() Цикл
 СуммаДолга = Выборка.ЗаказчикиСуммаДолга; 
Контрагент = Выборка.Контрагент;
КонецЦикла;
КонецПроцедуры // ПриОткрытии()
это для 1 на выбор, без параметра для всех контрагентов.
0
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
29.05.2015, 16:40 9
Замечательно.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Процедура ОбработкаЗаполнения(Контрагент)
Запрос = Новый запрос;
Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.УстановитьПараметр("Контрагент ", Объект.Контрагент);
Запрос.Текст = 
"ВЫБРАТЬ
|   ЗаказчикиОстатки.СуммаДолгаОстаток КАК ЗаказчикиСуммаДолга
|ИЗ
|   РегистрНакопления.Заказчики.Остатки(&Период,) КАК ЗаказчикиОстатки
|ГДЕ
|   ЗаказчикиОстатки.Контрагент = &Контрагент";
 
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Объект.СуммаДолга = Выборка.ЗаказчикиСуммаДолга;
Иначе
Объект.СуммаДолга = 0;
КонецЕсли;
 
КонецПроцедуры // ПриОткрытии()
Как-то так.
0
Phil
Эксперт 1С
404 / 281 / 86
Регистрация: 28.05.2014
Сообщений: 1,138
29.05.2015, 16:51 10
а Вообще, если это самописный документ то проще процедуру при изменении контрагента записывать в поле остаток, озвучили бы хотя бы что за документ, что за конфигурация и т.д. а перед тем как писать процедуру не мешало бы посмотреть в консоли запросов результат.
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
29.05.2015, 17:19  [ТС] 11
мож по скайпу покажу через демонстрацию монитора покажу! конфигурация своя для логистики для малой фирмы! а то так долго будет описывать че по чем!

Добавлено через 3 минуты
почти закончил что от меня требовалось! осталось решить вопрос с выводом суммы долга!
еще отчеты но я так думаю там я быстро заделаю!

Добавлено через 13 минут
ну а если в крации!
есть документ заявка откуда берется сумма долга для заказчика,исполнителя и сотрудника
3 регистра накопление заказчик, исполнитель сотрудник
документ касса откуда все списывается и в нем же при выборе заказчика или сотрудника или исполнителя должна высветиться сума долга!

Регистры накопления
Заказчики
+Измерения
-Заказчики
-Заявка
-Дата
+Ресурсы
-СуммаДолга

Исполнители
+Измерения
-Исполнители
-Заявка
-Дата
+Ресурсы
-СуммаДолга

Сотрудники
+Измерения
-Сотрудники
-Заявка
-Дата
+Ресурсы
-СуммаДолга


не пробовал объединить их мож и можно не знаю! я еще учусь и не все знаю!

Добавлено через 3 минуты
в документе

Касса
+Реквизиты
-ДатаЗаявки
-Контрагент
-Заявка
-Сумма
-СуммаДолга
0
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
29.05.2015, 17:41 12
Оставьте 1 регистр, у измерения можно задать множественный тип. Еще у регистра есть стандартный реквизит "Период", так что дату добавлять не надо.

Запрос есть, пару строк переписать и все, что еще не понятно?
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
29.05.2015, 17:47  [ТС] 13
ну дату я уже убрал! а если регистр объединить он в отчете дурь гнать не будет????
а запрос пока не работает! разбираюсь почему!!!! ни один не другой!

Добавлено через 2 минуты
ругается на "Объект"!!!
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
31.05.2015, 07:51  [ТС] 14
регистр я один создал но че то пака не работает может чета не так!

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Процедура ОбработкаПроверкиЗаполнения(Контрагент)
Запрос = Новый запрос;
Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.УстановитьПараметр("Контрагент",Контрагент);
Запрос.Текст =
"ВЫБРАТЬ
|   взаиморасчетыКонтрагентОстатки.Заказчики,
|   взаиморасчетыКонтрагентОстатки.Исполнители,
|   взаиморасчетыКонтрагентОстатки.Сотрудники,
|   взаиморасчетыКонтрагентОстатки.СуммаДолгаЗаказчикаОстаток,
|   взаиморасчетыКонтрагентОстатки.СуммаДолгаИсполнителюОстаток,
|   взаиморасчетыКонтрагентОстатки.СуммаДолгаСотрудникуОстаток
|ИЗ
|   РегистрНакопления.взаиморасчетыКонтрагент.Остатки КАК взаиморасчетыКонтрагентОстатки
|ГДЕ
|   взаиморасчетыКонтрагентОстатки.Заказчики.Ссылка В(&Ссылка)
|   И взаиморасчетыКонтрагентОстатки.Исполнители.Ссылка В(&Ссылка)
|   И взаиморасчетыКонтрагентОстатки.Сотрудники.Ссылка В(&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка); 
Выборка = Запрос.Выполнить().Выбрать();
 
      СуммаДолга = 0;
 
      Если Выборка.Следующий() Тогда
      Контрагент = Выборка.КонтрагентОстатки.Ссылка;
      иначе
      СуммаДолга = Выборка.СуммаДолгаЗаказчикаОстаток;
       КонецЕсли;
  
 
КонецПроцедуры
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
01.06.2015, 08:27  [ТС] 15
в помнил почему я 3 регистра делал у меня сумма заказчика сумма исполнителя и сумма сотрудника!
тесть она берется с заявки и там 3 разных суммы.
0
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
01.06.2015, 10:13 16
Тогда надо добавить еще одно измерение - ВидНачисления, например, с типом Перечисление, не нужно извращаться с тремя регистрами и поле для каждого вида начисления тоже не нужно.
0
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
02.06.2015, 16:21  [ТС] 17
вот так начло работать но Толька при записи или проведение и на один регистр!

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
|   ЗаказчикиОстатки.Заказчики КАК Зак,
|   ЗаказчикиОстатки.СуммаДолгаОстаток
|ИЗ
|   РегистрНакопления.Заказчики.Остатки КАК ЗаказчикиОстатки
|ГДЕ
|   ЗаказчикиОстатки.Заказчики = &Зак";
Запрос.Параметры.Вставить("Зак",Контрагент ); 
Выборка = Запрос.Выполнить().Выбрать();
СуммаДолга = 0;
 
       Если Выборка.Следующий() Тогда
    
           СуммаДолга = Выборка.СуммаДолгаОстаток;
       КонецЕсли;
 
КонецПроцедуры
Добавлено через 7 часов 4 минуты
в конечном я приплыл с регистром накопления!
Взаиморасчеты
Измерения
Зак (СправочникСсылка.Заказчики)
Исп (СправочникСсылка.Исполнители)
Сот (СправочникСсылка.Сотрудники)
Ресурсы
ЗакДолг (связь по типу Зак )
ИспДолг (связь по типу Исп)
СотДолг (связь по типу Сот)

плюс идет с ДокЗаявка
3 разных суммы (Сумма,Сумма1,ДолгСотрудника)
3 реквизита (Заказчики,Исполнители,Сотрудники)


минус идет с ДокКасса
1 сумма (Сумма)
1 реквизит (Контрагент - тип справочники Заказчики,Исполнители,Сотрудники)


списывает он правильно тесть у каво надо!

но проблема!!! что он при списание (Зак) он свети туже сумму дополнительно у (Исп) но без обозначения в регистре накопления!!! соответственно и в отчете тоже самое!

НЕ магу допереть как переделать!
чтобы списаны суммы отображались только у того каво выбрал!
0
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
02.06.2015, 17:24 18
Чтобы не париться с тем, в каком измерении записан чел, нужно было делать СОСТАВНОЙ ТИП ДАННЫХ и выбрать для ОДНОГО измерения ТРИ типа (смотри вложение!). Добавь ЕЩЕ ОДНО ИЗМЕРЕНИЕ с типом цен. Для этого используй объект конфигурации ПЕРЕЧИСЛЕНИЕ.
Должно получиться так:

Взаиморасчеты
Измерения
ФизЛицо (СправочникСсылка.Заказчики, СправочникСсылка.Исполнители, СправочникСсылка.Сотрудники)
ТипНачисления (ПеречислениеСсылка.ТипыНачислений)
Ресурсы
Сумма

В запросе используй УСЛОВИЕ ПО ТИПУ НАЧИСЛЕНИЙ!
0
Миниатюры
Как вывести остаток из регистра накопления в документ?  
Garilas
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 25
02.06.2015, 17:35  [ТС] 19
по Нил то что не че не по Нил кроме составной тип данных потому что я это знал! но не по нил как будет идти привязка втоком случие и перечисление чего!

Добавлено через 1 минуту
у меня с заявки идет 3 суммы как я буду делать движение!
0
SHIFT_969
Злой самаритянин
178 / 179 / 94
Регистрация: 24.04.2014
Сообщений: 686
Завершенные тесты: 1
02.06.2015, 18:09 20
В типе начислений у тебя должно быть три записи: "Долг заказчика", "Долг исполнителя", "Долг сотрудника".

Движение по заказчику:
Движение.ФизЛицо = Заказчик такой-то;
Движение.ТипНачисления = Перечисления.ТипыНачислений.ДолгЗаказчика;
Движение.Сумма = Сумма;

Движение по исполнителю:
Движение.ФизЛицо = Исполнитель такой-то;
Движение.ТипНачисления = Перечисления.ТипыНачислений.ДолгИсполнителя;
Движение.Сумма = Сумма;

и т. д.
1
02.06.2015, 18:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2015, 18:09

Измерения регистра накопления
Здравствуйте. Подскажите пожалуйста по работе регистра накопления. Регистр Накопления...

Запрос к остаткам регистра накопления
Функция ПолучитьДаныеПоСырью(ТекДокумент, МассивСырья) Запрос = Новый Запрос; Запрос.Текст =...

Данные из регистра накопления в переменную
помогите пожалуйста. В 1С предприятие имеются документы поступления и списания материалов со...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru