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

Автор Тема: Остатки на 41 счете  (Прочитано 13136 раз)

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

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Продолжаю мучать обработку на форме которой существуют поля
Организация 1
Организация 2
Контрагент
и табличное поле с реквизитами
Номенклатура
Количество
Необходимо получить остатки из регистраБухгалтерии.Хозяйственный по счету 41

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

   Сообщить ("Номенклатура" + ВыборкаРезультатаЗапроса.НоменклатураНаименование + " кол. " + ВыборкаРезультатаЗапроса.КоличествоОстаток);
КонецЦикла;

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


Оффлайн chuevsf

  • Хочу! Хочу! Хочу! Мышь на палочке!
  • Глобальный модератор
  • *****
  • Сообщений: 1376
  • РЕПУТАЦИЯ: 345
  • КПД: 25%
  • Регистрация: 2010-07-08
    • Skype: chuevsf
  • Сайт: 
  • Профессия: Программист 1С
Запрос.УстановитьПараметр("Номенклатура",ЭлементыФормы.Товары.Значение.ВыгрузитьКолонку("Номенклатура"));

Эта срока точно правильная?

Ее надо поместить сразу после Запрос = Новый Запрос;
А то у вас фигня получается. Сначала делаете выборку, а только потом указываете параметр....

И самое интересное, что 1С точно указывает Вам на Вашу ошибку, но Вы ее не увидели до конца.

И еще я не понял. А зачем две строки:  ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
Ведь вполне достаточно одной.

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
ой ну да верно

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
(((
ну вот и проблемы начались

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

Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
Запрос.УстановитьПараметр("Номенклатура",ЭлементыФормы.Товары.Значение.ВыгрузитьКолонку("Номенклатура"));
Запрос.УстановитьПараметр("организация1", организация1);
//***********Создание Реализации**************
ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
док = документы.РеализацияТоваровУслуг.СоздатьДокумент();
Док.Организация = Организация1;
Док.Дата=ТекущаяДата();
мВалютаРегламентированногоУчета = Неопределено;
РаботаСДиалогами.ПриИзмененииЗначенияДатыДокумента(Док, мВалютаРегламентированногоУчета);   
Док.Склад = Организация1.ОсновнойСклад;
Док.Контрагент=Контрагент3;
мСписокВидовДоговоров=Неопределено;
ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(Док,мСписокВидовДоговоров);
Док.ТипЦен=Цена2;
Док.ВалютаДокумента=Справочники.Валюты.НайтиПоКоду("643");
Док.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
Док.ЗаполнитьСчетаУчетаРасчетов();
//***************Цикл первого запроса*****************
Пока    ВыборкаРезультатаЗапроса.Следующий()Цикл
Сообщить ("Номенклатура " + ВыборкаРезультатаЗапроса.НоменклатураНаименование + " кол. " + ВыборкаРезультатаЗапроса.КоличествоОстаток);
Остаток1 = ВыборкаРезультатаЗапроса.КоличествоОстаток;
        Если ЭлементыФормы.Товары.ТекущиеДанные.Количество  > Остаток1 Тогда;
Разница=    (ЭлементыФормы.Товары.ТекущиеДанные.Количество - Остаток1);
Разница=Макс(Разница, -Разница);
Иначе
Док.Товары.Загрузить(Номенклатура.Выгрузить());
Для каждого СтрокаТЧ из Док.Товары цикл
СчетаУчета     = БухгалтерскийУчет.ПолучитьСчетаУчетаНоменклатуры(Док.Организация, СтрокаТЧ.Номенклатура, Док.Склад);
//СчетаРозницы   = (Склад.ВидСклада = Перечисления.ВидыСкладов.Розничный);
ЭтоКомиссия    = (Док.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
МетаданныеДока = Док.Метаданные();
Док.ЗаполнитьСчета(СтрокаТЧ, "Товары", СчетаУчета, Истина, ЭтоКомиссия, МетаданныеДока);
// Заполняем реквизиты табличной части.
ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТЧ, Док);
// Заполнение цены 
ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти(СтрокаТЧ, Док, мВалютаРегламентированногоУчета);
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, Док);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, Док);
КонецЦикла;
Док.Записать(РежимЗаписиДокумента.Проведение) ;
КонецЕсли;
КонецЦикла;

Док.Печать("ТОРГ12");
ДокСч=Документы.СчетФактураВыданный.СоздатьДокумент();
ДокСч.Организация=Организация1;
ДокСч.Дата=ТекущаяДата();
ДокСч.Контрагент=Контрагент3;
мСписокВидовДоговоров=Неопределено;
ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(ДокСч,мСписокВидовДоговоров);
строка12 = ДокСч.ДокументыОснования.Добавить();
строка12.ДокументОснование = док.Ссылка;
ДокСч.ВалютаДокумента=Справочники.Валюты.НайтиПоКоду("643");
ДокСч.Записать(РежимЗаписиДокумента.Проведение);
ДокСч.Печать("СчетФактура");
КонецПроцедуры

Пишет что не может провести реализацию

{Форма.Форма.Форма(57)}: Ошибка при вызове метода контекста (Записать)
         Док.Записать(РежимЗаписиДокумента.Проведение) ;
по причине:

по причине:
Не удалось провести: "Реализация товаров и услуг"!

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
( и не заполняет вовсе реализацию..

Оффлайн chuevsf

  • Хочу! Хочу! Хочу! Мышь на палочке!
  • Глобальный модератор
  • *****
  • Сообщений: 1376
  • РЕПУТАЦИЯ: 345
  • КПД: 25%
  • Регистрация: 2010-07-08
    • Skype: chuevsf
  • Сайт: 
  • Профессия: Программист 1С
А может еще раз внимательно посмотреть код?

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Еще раз внимательно изучила код..
если рассматривать часть запроса то все без проблем, абсолютно верно все выводит..
часть заполнения и распечатывания реализации я проверяла в другой обработке и там все как часики работает( а тут нет..

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

Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
Запрос.УстановитьПараметр("Номенклатура",ЭлементыФормы.Товары.Значение.ВыгрузитьКолонку("Номенклатура"));
Запрос.УстановитьПараметр("организация1", организация1);
ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать();
//***************Цикл первого запроса*****************
Пока    ВыборкаРезультатаЗапроса.Следующий()Цикл
Остаток1 = ВыборкаРезультатаЗапроса.КоличествоОстаток;
Сообщить ("Номенклатура " + ВыборкаРезультатаЗапроса.НоменклатураНаименование + " кол. " + ВыборкаРезультатаЗапроса.КоличествоОстаток);
Если ЭлементыФормы.Товары.ТекущиеДанные.Количество  > Остаток1 Тогда;
Разница=    (ЭлементыФормы.Товары.ТекущиеДанные.Количество - Остаток1);
Разница=Макс(Разница, -Разница);
Иначе
док= документы.РеализацияТоваровУслуг.СоздатьДокумент();
Док.Организация=ЭлементыФормы.Организация1;
Док.Контрагент=элементыФормы.Контрагент3;
мВалютаРегламентированногоУчета = Неопределено;
РаботаСДиалогами.ПриИзмененииЗначенияДатыДокумента(Док, мВалютаРегламентированногоУчета);
Док.Дата=ТекущаяДата();
мСписокВидовДоговоров=Неопределено;
ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(Док,мСписокВидовДоговоров);
Док.ТипЦен=Цена2;
Док.ВалютаДокумента=Справочники.Валюты.НайтиПоКоду("643");
Док.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
Док.ЗаполнитьСчетаУчетаРасчетов();
Док.Товары.Загрузить(Номенклатура.Выгрузить());
Для каждого СтрокаТЧ из Док.Товары цикл
СчетаУчета     = БухгалтерскийУчет.ПолучитьСчетаУчетаНоменклатуры(Док.Организация, СтрокаТЧ.Номенклатура, Док.Склад);
//СчетаРозницы   = (Склад.ВидСклада = Перечисления.ВидыСкладов.Розничный);
ЭтоКомиссия    = (Док.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
МетаданныеДока = Док.Метаданные();
Док.ЗаполнитьСчета(СтрокаТЧ, "Товары", СчетаУчета, Истина, ЭтоКомиссия, МетаданныеДока);
// Заполняем реквизиты табличной части.
ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТЧ, Док);
// Заполнение цены 
ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти(СтрокаТЧ, Док, мВалютаРегламентированногоУчета);
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, Док);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, Док);
КонецЦикла;

Док.Записать(РежимЗаписиДокумента.Проведение) ;
КонецЕсли;
КонецЦикла;

Результат в сообщении
Номенклатура Конфеты "Каракум" кол. 20
Проведение документа "Реализация товаров и услуг 00000000016 от 23.04.2011 19:21:30":
Не заполнено значение реквизита "Организация"!
Не заполнено значение реквизита "Контрагент"!
Не заполнено значение реквизита "Договор контрагента"!
Не заполнено значение реквизита "Склад"!

А ВЕДЬ Я ИХ ЗАПОЛНЯЮ

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Номенклатура это список выбранных в форме

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Док.Организация=ЭлементыФормы.Организация1.Значение;
Док.Контрагент=элементыФормы.Контрагент3.Значение;
 это сработало из за того что это внешняя обработка?

Оффлайн Chuchi

  • ***
  • Сообщений: 133
  • РЕПУТАЦИЯ: 4
  • КПД: 3%
  • Регистрация: 2011-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Да справочник.ссылка)


Теги:
 

Не заполняются колонки "Цена" и "Сумма" в отчете "Остатки товаров принятых на комиссию". УТ11

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

Ответов: 0
Просмотров: 467
Последний ответ 18 Янв 2017, 11:42
от VladimirMelnychenko
Отчет "Остатки ТМЦ"

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

Ответов: 2
Просмотров: 6041
Последний ответ 05 Дек 2011, 13:36
от MKozzlik
Добрый день Необходимо на основании типовой конфигурации бухгалтерии сделать обработку, которая будет переносить остатки со счета расчетов 62.01 с одной организации в документ ввода начальных

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

Ответов: 0
Просмотров: 221
Последний ответ 18 Авг 2017, 11:57
от ZSS
1С УТ 11.1 Отчёт "Остатки товаров на складах"

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

Ответов: 2
Просмотров: 1715
Последний ответ 27 Янв 2016, 17:46
от kuzmich110
в отчете показывает остатки в файловой базе, в sql не показывает

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

Ответов: 0
Просмотров: 1165
Последний ответ 12 Апр 2016, 12:18
от Stanforeva

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

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

* Кто онлайн

  • Точка Гостей: 180
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal