Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум Программирование 1С
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 25.07.2012, 16:54   #1
KM-CI
Новичок
 
Регистрация: 25.07.2012
Сообщений: 6
Репутация: 0 (0)
Создание отчета в 1С Предприятие 8.2 / Программирование 1С

Вообщем нужно выполнить такой отчет: Дан справочник Спецификация, в нем есть раздел входные изделия и табличная часть исходные комплектующие. Из основной части я выбираю наименование спецификации в форме, по ней из раздела входные изделия выбираю наименование номенклатуры в форму вывожу (это получилось). Теперь мне необходимо в форме выбрать характеристику к номенклатуре. Есть справочник Номенклатура в ней табличная часть состоит из 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
32
33
34
35
36
37
38
39
Процедура ПолеВвода1ПриИзменении(Элемент)
     Запрос = Новый Запрос;
     Запрос.УстановитьПараметр("Спецификация",Справочники.СпецификацииНоменклатуры.НайтиПоНаименованию(ПолеВвода1));
     Запрос.Текст = 
"ВЫБРАТЬ
|     СпецификацииНоменклатурыВыходныеИзделия.Номенклатура КАК Номенклатура,
|ИЗ
|     Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
|ГДЕ
|     СпецификацииНоменклатурыВыходныеИзделия.Ссылка = &Спецификация";
 
Результат = Запрос.Выполнить();     
Выборка = Результат.Выбрать();
 
Пока Выборка.Следующий()цикл 
     ПолеВвода2 = Выборка.Номенклатура;
 КонецЦикла;
КонецПроцедуры
 
Процедура ПолеВвода2ПриИзменении(Элемент)
     Запрос = Новый Запрос;
     Запрос.УстановитьПараметр("Номенклатура",Справочники.Номенклатура.НайтиПоНаименованию(ПолеВвода2));
     Запрос.Текст =
 "ВЫБРАТЬ
 |     СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Наименование КАК Спецификация,
 |     СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Активная,
 |ИЗ
 |     Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
 |ГДЕ
 |     СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Ссылка = &Номенклатура";
 
РезультатЗапроса = Запрос.Выполнить();     
Выборка = РезультатЗапроса.Выбрать();     
Пока Выборка.Следующий()Цикл
     Если Выборка.Активная = Истина Тогда
          Сообщить("Активная спецификация для данной номенклатуры " + Выборка.Спецификация);
     КонецЕсли;
КонецЦикла;
КонецПроцедуры
Во втором случае, когда я выбираю Спецификацию при изменении номенклатуры я вывожу сообщение по тому что в форму в объект ПолеВвода1 данные не берутся по активной спецификации.
Старый 25.07.2012, 18:25   #2
Fenomen
Форумчанин
 
Регистрация: 15.03.2012
Сообщений: 2,679
Репутация: 893 (870)
Лучшие ответы: 8
Создание отчета в 1С Предприятие 8.2

1. Какая конфигурация?
2. Объясните нормально что Вам нужно вывести в отчет, или пример отчета покажите.
Другие темы раздела Форум программистов и администраторов 1С. Все вопросы и проблемы программирования и настройки систем 1С
С чего начать? 1С
Всем привет! Ситуация такая. Писал сам в 1С 7 оперативный учет. Сделал конфигурацию по учету заявок на перевозки. Теперь возникла такая проблема: хочу ее сделать так же с 0 в 8-ке. С чего посоветуете начать: платформа сама стоит, конфигуратор перед глазами, но как сами понимаете, 7-ка и 8-ка это...
1С Свой интерфейс в конфигурации 1С
Доброго времени суток! Подскажите как сделать, чтобы окно при запуске конфигурации выглядело не так: а вот так: т.е. разбить объекты на подгруппы
Старый 26.07.2012, 10:00  [ТС]   #3
KM-CI
Новичок
 
Регистрация: 25.07.2012
Сообщений: 6
Репутация: 0 (0)
Создание отчета в 1С Предприятие 8.2

1. 1С:Предприятие 8.2 (8.2.15.318)
2. Создана форму, на ней три поля выбора: спецификация, номенклатура и характеристика. Необходимо что бы при выборе спецификации выходила номенклатура (это я сделала). При выборе номенклатуры выходила активная спецификация (это у меня тоже получилось, правда, выводит не в форму, а в виде сообщения). Теперь стоит такая задача, при выборе характеристики, должны открываться данные в зависимости от выбранной номенклатуры. Они находятся на вкладке в справочнике Номенклатура. В справочники Характеристики перечислены все возможные, но не все есть у каждой номенклатуры. Т.е. должна открываться форма характеристик данной номенклатуры. Как я понимаю нужно прописать код при изменении, но какой, прочитала учебники, ответа не нашла.
Старый 26.07.2012, 10:50   #4
Fenomen
Форумчанин
 
Регистрация: 15.03.2012
Сообщений: 2,679
Репутация: 893 (870)
Лучшие ответы: 8
Создание отчета в 1С Предприятие 8.2

Цитата Сообщение от KM-CI Посмотреть сообщение
1. 1С:Предприятие 8.2 (8.2.15.318)
Это платформа, а не конфигурация.

Цитата Сообщение от KM-CI Посмотреть сообщение
Т.е. должна открываться форма характеристик данной номенклатуры.
Установить для поля связь по владельцу (Правой кнопкой на поле - свойства).
Старый 26.07.2012, 10:50
Google
Объявления
Старый 26.07.2012, 11:09  [ТС]   #5
KM-CI
Новичок
 
Регистрация: 25.07.2012
Сообщений: 6
Репутация: 0 (0)
Создание отчета в 1С Предприятие 8.2

Управление производственным предприятием, редакция 1.3 (1.3.24.2)
Да, спасибо, работает.
Еще вопрос по этой же программе (модуль приведен выше): Две процедуры при изменении, в первой данные номенклатуры выводятся в поле ввода при изменении спецификации, во втором случае могу вывести только сообщение, так как строка ПолеВвода1 = Выборка.Спецификация; не дает нужного результата. В чем может быть ошибка?
Старый 26.07.2012, 11:49   #6
Fenomen
Форумчанин
 
Регистрация: 15.03.2012
Сообщений: 2,679
Репутация: 893 (870)
Лучшие ответы: 8
Создание отчета в 1С Предприятие 8.2

Судя вот по этому:
Код 1C
1
Запрос.УстановитьПараметр("Спецификация",Справочники.СпецификацииНоменклатуры.На йтиПоНаименованию(ПолеВвода1));
У вас ПолеВвода1 - текстовое, а должно быть СправочникСсылка.Спецификации.
Старый 26.07.2012, 13:06  [ТС]   #7
KM-CI
Новичок
 
Регистрация: 25.07.2012
Сообщений: 6
Репутация: 0 (0)
Создание отчета в 1С Предприятие 8.2

ПолеВвода1 – в свойствах тип справочник.ссылка.спецификация
ПолеВвода2 – так же справочник.ссылка, но номенклатура.
При изменении ПолеВвода1 в ПолеВвода2 выводится соответствующая номенклатура. При изменении ПолеВвода2 в ПолеВвода1 должна выводится соответствующая спецификация, но этого не происходит, по этому я вывела виде сообщения. Возможно ли сделать так что бы выводилось в поле ПолеВвода1 данные, вместо сообщения?
Старый 26.07.2012, 14:48   #8
Fenomen
Форумчанин
 
Регистрация: 15.03.2012
Сообщений: 2,679
Репутация: 893 (870)
Лучшие ответы: 8
Создание отчета в 1С Предприятие 8.2

Цитата Сообщение от KM-CI Посмотреть сообщение
ПолеВвода1 – в свойствах тип справочник.ссылка.спецификация
Если это так, то это
Запрос.УстановитьПараметр("Спецификация",Справочники.Специфи кацииНоменклатуры.На йтиПоНаименованию(ПолеВвода1));
нужно заменить на:
Код 1C
1
Запрос.УстановитьПараметр("Спецификация",ПолеВвода1);
СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Наименование КАК Спецификация,
Выбираете наименование и пытаетесь поместить его в значение типа СправочникСсылка. Уберите ".Наименование" и будет Вам счастье.
Старый 26.07.2012, 14:57  [ТС]   #9
KM-CI
Новичок
 
Регистрация: 25.07.2012
Сообщений: 6
Репутация: 0 (0)
Создание отчета в 1С Предприятие 8.2

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

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий()Цикл
Если Выборка.Активная = Истина Тогда
ПолеВвода1 = Выборка.Спецификация;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
В этом случае поле ввода остается пустым
Старый 26.07.2012, 15:10   #10
Fenomen
Форумчанин
 
Регистрация: 15.03.2012
Сообщений: 2,679
Репутация: 893 (870)
Лучшие ответы: 8
Создание отчета в 1С Предприятие 8.2 / Программирование 1С

Цитата Сообщение от KM-CI Посмотреть сообщение
Эта часть у меня работает, все нормально
Это не значит, что код должен быть не правильный.


Цитата Сообщение от KM-CI Посмотреть сообщение
У меня вторая часть не работает:
Я уже ответил. Вы выбираете наименование спецификации:
ВЫБРАТЬ
| СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Наименование КАК Спецификация,
А должны выбирать ссылку!
Цитата Сообщение от Fenomen Посмотреть сообщение
Уберите ".Наименование" и будет Вам счастье.
Добавлено через 42 секунды
Цитата Сообщение от KM-CI Посмотреть сообщение
Запрос.УстановитьПараметр("Номенклатура",Справочники.Номенкл атура.НайтиПоНаимено ванию(ПолеВвода2));
И вот это тоже исправьте!
Старый 26.07.2012, 15:10
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
Программирование 1С создание отчетов в 1с предприятие 8
Добрый день. Работаю в конфигураторе 1с8. Создаю небольшую программку для расчета заработной платы. Имеются 3 документа: начисление, удержания, выплата зар. платы. Посоветуйте пожалуйста, какие отчеты создать и каким образом. Заранее очень благодарю!
jjorik2000
1С Битрикс такая проблема с 1с предприятие 8.2: при попытке создания отчета (оборотно сальдовая ведомость), выдает ошибку формата потока.
Здравствуйте ! Возникла такая проблема с 1с предприятие 8.2: при попытке создания отчета (оборотно сальдовая ведомость), выдает ошибку формата потока. Причем с другого компа ошибок не выдает. Помогите пожалуйста !
timurr
MS Access создание отчета
Создал в режиме конструктора в отчете поле. Источник данных для этого поля указал MySum В отчете: Private Sub Report_Open(Cancel As Integer) Dim Condition As String Condition = 'SELECT DISTINCTROW ., Sum(.) as МуSum FROM , Where . = .;'
ynov
MS Access Создание отчета
Подскажите пожалуйста как оформить отчет в виде таблицы при помощи конструктора?
VIG
MS Access создание отчета
Добрый день! Вот такой вопрос возник. Может кто уже делал такие отчеты. Есть таблица, содержащая операции с деньгами. Надо чтоб отчет содержал след инфу: "Входящий остаток", "Зачислено", "Списано", "Конечный остаток" Создать перекресный запрос для вычисления скажем входящего остатка не...
Tupak
Опции темы

Текущее время: 12:25. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.