Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/56: Рейтинг темы: голосов - 56, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 52
1

Как получить .epf файл?

15.10.2013, 07:56. Просмотров 11138. Ответов 14
Метки нет (Все метки)

В режиме "Предприятие" я перехожу по такому пути: "сервис" \ "дополнительные внешние отчеты и обработки" \ "Обработки заполнения табличных частей". И там требуется указать "Файл внешней обработки".

Вопрос: Как мне её выгрузить (.epf), если нужная мне процедура находится на документе, а не в обработке?

Я полный новичок в 1С, поэтому не судите строго.

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.10.2013, 07:56
Ответы с готовыми решениями:

ЗагрузкаДанныхИзТабличногоДокумента.epf
У меня нет пункта "Операции-Обработки-Загрузка данных из табличного документа" и для того чтобы он...

Обработка MobileAppWizard.epf
Простите что не по теме, но может кто поделится обработкой MobileAppWizard.epf? Хочу попробовать...

Получение формы из epf -файла
Всем доброго времени суток! Есть epf-файл, который открывается программой 1С-предприятие(его писал...

УТ 10.3 Чек коррекции и обработка обслуживания ShtrihMkkt.epf
Добрый день уважаемые форумчане !!! Прошу помощи у гуру ... Есть база УТ 10.3 и ККТ (штрих...

14
849 / 648 / 111
Регистрация: 01.11.2012
Сообщений: 2,384
15.10.2013, 09:39 2
Надо создать свою внешнюю обработку в конфигураторе, скопировать туда нужную процедуру из документа, переписать её как надо, сохранить внешнюю обработку.
1
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 52
15.10.2013, 09:43  [ТС] 3
Цитата Сообщение от Xomych Посмотреть сообщение
Надо создать свою внешнюю обработку в конфигураторе, скопировать туда нужную процедуру из документа, переписать её как надо, сохранить внешнюю обработку.
а можно не переписывать как надо, а просто скопировать? По сути обработка в плане кода не отличается от модуля документа?

И ещё, я так понимаю мне нужно реквизиты которые используются в процедуре скопировать из документа в обработку?

Сори, я просто полный нуб в 1С, только начинаю изучать.
0
849 / 648 / 111
Регистрация: 01.11.2012
Сообщений: 2,384
15.10.2013, 09:55 4
Я не знаю, что делает обработка, поэтому не могу сказать. Код выкладывайте или расскажите подробно более.
1
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 52
15.10.2013, 10:07  [ТС] 5
Цитата Сообщение от Xomych Посмотреть сообщение
Я не знаю, что делает обработка, поэтому не могу сказать. Код выкладывайте или расскажите подробно более.
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
40
41
42
43
44
45
46
47
Процедура КоманднаяПанельМатериалыЗаполнить(Кнопка)
    
    Если Проведен Тогда
        Предупреждение("Заполнение возможно только в непроведенном документе");
        Возврат;
    КонецЕсли;
 
    Если ОтражатьВУправленческомУчете И НЕ ЗначениеЗаполнено(КХМ_ПодразделениеСписания) Тогда
    //Кон. изм.
        Предупреждение("Не указано подразделение!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    Если ОтражатьВБухгалтерскомУчете И НЕ ЗначениеЗаполнено(ПодразделениеОрганизации) Тогда
        Предупреждение("Не указано подразделение организации!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    
    Если Материалы.Количество() > 0 Тогда
        Ответ = Вопрос("В документе уже присутствуют строки!
            |При заполнении табличная часть будет очищена.
            |Продолжить?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет);
        Если Не Ответ = КодВозвратаДиалога.Да Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;
    
    Материалы.Очистить();
    //Нач. изм. БИН 22.11.12
    Подр = Подразделение;
    Подразделение = КХМ_ПодразделениеСписания;
 
    КХМ_УправлениеПроизводством.ЗаполнитьМатериалыПоОстаткамНЗП(ЭтотОбъект, Материалы,,Истина,,,,,,Истина);
    //Кон. изм.
    
    Для Каждого СтрокаТабличнойЧасти Из Материалы Цикл
        СтрокаТабличнойЧасти.ВидВыпуска = Перечисления.ВидыВыпуска.Выпуск;
        ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, Ложь);
        //Нач. изм. БИН 22.11.12
        СтрокаТабличнойЧасти.ПодразделениеНЗП = КХМ_ПодразделениеСписания;
        //Кон. изм.
    КонецЦикла;
    //Нач. изм. БИН 22.11.12
    Подразделение = Подр;
    //Кон. изм.
КонецПроцедуры // КоманднаяПанельМатериалыЗаполнить()
Я скопировал процедуру в новую внешнюю обработку, перенёс реквизиты и табличные части. Пытаюсь запустить эту внешнюю обработку и появляется сообщение: "Метод объекта не обнаружен (Инициализировать)".
0
849 / 648 / 111
Регистрация: 01.11.2012
Сообщений: 2,384
15.10.2013, 10:16 6
Ну на самом деле вам нужен в обработке только один реквизит, это документ, который вы хотите заполнить. И кнопка по которой заполняется документ.
А вообще хотелось бы услышать зачем вообще надо создавать внешнюю обработку?
1
Модератор
Эксперт 1С
2882 / 2608 / 475
Регистрация: 10.03.2011
Сообщений: 9,775
Записей в блоге: 1
15.10.2013, 10:26 7
В модуле объекта пишешь процедуру
1C
1
2
3
Процедура Инициализировать(Объект,ИмяТЧ,НеПомнюПараметр) Экспорт
 
КонецПроцедуры
В тело этой процедуры копируешь тело процедуры КоманднаяПанельМатериалыЗаполнить
Проверяешь синтаксис контроль...
Для реквизитов типа КХМ_ПодразделениеСписания подставляешь спереди -
Объект.КХМ_ПодразделениеСписания
Вместо ЭтотОбъект - Объект
Вместо Материалы - Объект.Метериалы
и т.д.
Реквизиты в обработке никакие не нужны

Добавлено через 2 минуты
Исправляем все ошибки пока не пройдет синтаксический контроль

С вызовом функций и процедур контекста модуля формы документа, немного сложнее...
1
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 52
15.10.2013, 14:33  [ТС] 8
Всем большое спасибо!!! Всё работает. Особенно Dethmontt. А делал я это, потому что дали такой задание

Добавлено через 2 часа 29 минут
С данной функцией всё хорошо. Есть ещё одна, очень похожая:
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
40
41
42
43
44
45
46
47
48
49
Процедура Инициализировать(Объект,ИмяТЧ,НеПомнюПараметр) Экспорт
    
        Если Объект.Проведен Тогда
        Предупреждение("Заполнение возможно только в непроведенном документе");
        Возврат;
    КонецЕсли;
    //Нач. изм. БИН 22.11.12
 
    Если Объект.ОтражатьВУправленческомУчете И НЕ ЗначениеЗаполнено(Объект.КХМ_ПодразделениеСписания) Тогда
    //Кон. изм.
        Предупреждение("Не указано подразделение!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    Если Объект.ОтражатьВБухгалтерскомУчете И НЕ ЗначениеЗаполнено(Объект.ПодразделениеОрганизации) Тогда
        Предупреждение("Не указано подразделение организации!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    
    Если Объект.Материалы.Количество() > 0 Тогда
        Ответ = Вопрос("В документе уже присутствуют строки!
            |При заполнении табличная часть будет очищена.
            |Продолжить?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет);
        Если Не Ответ = КодВозвратаДиалога.Да Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;
    
    Объект.Материалы.Очистить();
    //Нач. изм. БИН 22.11.12
    Подр = Объект.Подразделение;
    Подразделение = Объект.КХМ_ПодразделениеСписания;
 
    КХМ_УправлениеПроизводством.ЗаполнитьМатериалыПоОстаткамНЗП(ЭтотОбъект, Объект.Материалы,,Истина,,,,,,Истина);
    //Кон. изм.
    
    Для Каждого СтрокаТабличнойЧасти Из Объект.Материалы Цикл
        СтрокаТабличнойЧасти.ВидВыпуска = Объект.Перечисления.ВидыВыпуска.Наработка;
        ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект, Ложь);
        //Нач. изм. БИН 22.11.12
        СтрокаТабличнойЧасти.ПодразделениеНЗП = Объект.КХМ_ПодразделениеСписания;
        //Кон. изм.
    КонецЦикла;
    //Нач. изм. БИН 22.11.12
    Подразделение = Подр;
    //Кон. изм.
    
КонецПроцедуры
Когда я запускаю эту процедуру в режиме предприятия, он пишет:
"Заполнение ТЧ не произведено!
Поле объекта не обнаружено (ОтражатьВУправленческомУчете)"


Хотя в первой функции не писал такого:
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
40
41
42
43
44
45
46
47
Процедура Инициализировать(Объект,ИмяТЧ,НеПомнюПараметр) Экспорт
    
    Если Объект.Проведен Тогда
        Предупреждение("Заполнение возможно только в непроведенном документе");
        Возврат;
    КонецЕсли;
    //Нач. изм. БИН 22.11.12
    Если Объект.ОтражатьВУправленческомУчете И НЕ ЗначениеЗаполнено(Объект.КХМ_ПодразделениеСписания) Тогда
    //Кон. изм.
        Предупреждение("Не указано подразделение!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    Если Объект.ОтражатьВБухгалтерскомУчете И НЕ ЗначениеЗаполнено(Объект.ПодразделениеОрганизации) Тогда
        Предупреждение("Не указано подразделение организации!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    
    Если Объект.Материалы.Количество() > 0 Тогда
        Ответ = Вопрос("В документе уже присутствуют строки!
            |При заполнении табличная часть будет очищена.
            |Продолжить?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет);
        Если Не Ответ = КодВозвратаДиалога.Да Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;
    
    Объект.Материалы.Очистить();
    //Нач. изм. БИН 22.11.12
    Подр = Объект.Подразделение;
    Подразделение = Объект.КХМ_ПодразделениеСписания;
    //УправлениеПроизводством.ЗаполнитьМатериалыПоОстаткамНЗП(ЭтотОбъект, Материалы,,Истина,,,,,,Истина);
    КХМ_УправлениеПроизводством.ЗаполнитьМатериалыПоОстаткамНЗП(Объект, Объект.Материалы,,Истина,,,,,,Истина);
    //Кон. изм.
    
    Для Каждого СтрокаТабличнойЧасти Из Объект.Материалы Цикл
        СтрокаТабличнойЧасти.ВидВыпуска = Перечисления.ВидыВыпуска.Выпуск;
        ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(СтрокаТабличнойЧасти, Объект, Ложь);
        //Нач. изм. БИН 22.11.12
        СтрокаТабличнойЧасти.ПодразделениеНЗП = Объект.КХМ_ПодразделениеСписания;
        //Кон. изм.
    КонецЦикла;
    //Нач. изм. БИН 22.11.12
    Подразделение = Подр;
    //Кон. изм. 
КонецПроцедуры
В чем может быть причина подскажите пожалуйста... То ли я туплю, то ли ещё что
0
Модератор
Эксперт 1С
2882 / 2608 / 475
Регистрация: 10.03.2011
Сообщений: 9,775
Записей в блоге: 1
15.10.2013, 15:32 9
Цитата Сообщение от so1idsnake Посмотреть сообщение
КХМ_УправлениеПроизводством.ЗаполнитьМатериалыПоОстаткамНЗП(ЭтотОбъект, Объект.Материалы,,Истина,,,,,,Истина);
выделено

Добавлено через 28 секунд
Нужно внимательнее быть...
1
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 52
17.10.2013, 08:59  [ТС] 10
Цитата Сообщение от Dethmontt Посмотреть сообщение
выделено

Добавлено через 28 секунд
Нужно внимательнее быть...
Ой, точно, вот я тупанул. Dethmontt который раз выручаешь меня.

Ребят у меня есть ещё один вопрос касающийся запроса. В общем есть запрос и нужно поставить условие, что бы строки с пустой колонкой "Заказ" не выводились.

Вот код:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
    ТекстЗапроса = "
    |ВЫБРАТЬ
    |   НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска,
    |   НезавершенноеПроизводство.Затрата КАК Номенклатура,
    |   НезавершенноеПроизводство.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
    |   НезавершенноеПроизводство.СерияЗатраты КАК СерияНоменклатуры,
    |   НезавершенноеПроизводство.СтатьяЗатрат,
    |   НезавершенноеПроизводство.НоменклатурнаяГруппа,
    |   НезавершенноеПроизводство.Заказ КАК Заказ,
    |   
    |   НезавершенноеПроизводство.ЕдиницаИзмерения,
    |   НезавершенноеПроизводство.Коэффициент,
    |   
    |   НезавершенноеПроизводство.СчетЗатрат,
    |   НезавершенноеПроизводство.СчетЗатратНУ,
    |   
    |   &Знак * НезавершенноеПроизводство.Количество КАК Количество,
    |   &Знак * НезавершенноеПроизводство.КоличествоБух КАК КоличествоБух,
    |   &Знак * НезавершенноеПроизводство.КоличествоНал КАК КоличествоНал,
    |   
    |   &Знак * НезавершенноеПроизводство.Сумма КАК Сумма,
    |   &Знак * НезавершенноеПроизводство.СуммаБух КАК СуммаБух,
    |   &Знак * НезавершенноеПроизводство.СуммаНал КАК СуммаНал
    |   
    |ИЗ (
    |
    |
    |   //ДляУпрУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваУУ
    |   //ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ
    |   //ДляБухУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ
    |   //ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ
    |   //ДляНалУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ
    |   ) КАК НезавершенноеПроизводство
    |
    |ГДЕ
    |   Заказ Есть Не Null
    |
    |СГРУППИРОВАТЬ ПО
    |   НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска,
    |   НезавершенноеПроизводство.Затрата,
    |   НезавершенноеПроизводство.ХарактеристикаЗатраты,
    |   НезавершенноеПроизводство.СерияЗатраты,
    |   НезавершенноеПроизводство.СтатьяЗатрат,
    |   НезавершенноеПроизводство.НоменклатурнаяГруппа,
    |   НезавершенноеПроизводство.Заказ,
    |   
    |   НезавершенноеПроизводство.ЕдиницаИзмерения,
    |   НезавершенноеПроизводство.Коэффициент,
    |   
    |   НезавершенноеПроизводство.СчетЗатрат,
    |   НезавершенноеПроизводство.СчетЗатратНУ,
    |   НезавершенноеПроизводство.ИндексУчета,
    |   
    |   НезавершенноеПроизводство.Количество,
    |   НезавершенноеПроизводство.КоличествоБух,
    |   НезавершенноеПроизводство.КоличествоНал,
    |   
    |   НезавершенноеПроизводство.Сумма,
    |   НезавершенноеПроизводство.СуммаБух,
    |   НезавершенноеПроизводство.СуммаНал
    |       
    |//ТолькоОтрицательныеОстатки ИМЕЮЩИЕ (НезавершенноеПроизводство.Количество < 0
    |//ТолькоОтрицательныеОстатки     ИЛИ НезавершенноеПроизводство.КоличествоБух < 0
    |//ТолькоОтрицательныеОстатки     ИЛИ НезавершенноеПроизводство.КоличествоНал < 0)
    |
    |УПОРЯДОЧИТЬ ПО
    |   НезавершенноеПроизводство.ИндексУчета
    |
    |ИТОГИ 
    |   МАКСИМУМ(ЕстьРасчетСебестоимостиВыпуска),
    |   СУММА(Количество),
    |   СУММА(КоличествоБух),
    |   СУММА(КоличествоНал),
    |   СУММА(Сумма),
    |   СУММА(СуммаБух),
    |   СУММА(СуммаНал)
    |ПО
    |   НезавершенноеПроизводство.Затрата,
    |   //Материальные НезавершенноеПроизводство.ХарактеристикаЗатраты,
    |   //Материальные НезавершенноеПроизводство.СерияЗатраты,
    |   НезавершенноеПроизводство.СтатьяЗатрат,
    |   НезавершенноеПроизводство.НоменклатурнаяГруппа,
    |   НезавершенноеПроизводство.Заказ,
    |   //Материальные НезавершенноеПроизводство.ЕдиницаИзмерения,
    |   //Материальные НезавершенноеПроизводство.Коэффициент,
    |   НезавершенноеПроизводство.СчетЗатрат
    |";
Я вот вставил условие: "Заказ Есть Не Null", но не помогло. Подскажите куда копать
0
284 / 184 / 18
Регистрация: 20.02.2012
Сообщений: 925
17.10.2013, 09:28 11
1C
1
ГДЕ НЕ НезавершенноеПроизводство.Заказ = NULL
как то так
1
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 52
17.10.2013, 11:31  [ТС] 12
В это случае не было выведено ни одной строки совсем. На за помощь спасибо.

Я наверно выложу весь код, что бы было понятнее.

Код первой функции, тот что в начале темы:
Код
Процедура Инициализировать(Объект, ИмяТЧ, ТабличноеПолеОбъекта) Экспорт
    
    Если Объект.Проведен Тогда
        Предупреждение("Заполнение возможно только в непроведенном документе");
        Возврат;
    КонецЕсли;
    //Нач. изм. БИН 22.11.12
    Если Объект.ОтражатьВУправленческомУчете И НЕ ЗначениеЗаполнено(Объект.КХМ_ПодразделениеСписания) Тогда
    //Кон. изм.
        Предупреждение("Не указано подразделение!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    Если Объект.ОтражатьВБухгалтерскомУчете И НЕ ЗначениеЗаполнено(Объект.ПодразделениеОрганизации) Тогда
        Предупреждение("Не указано подразделение организации!
            |Заполнение невозможно!");
        Возврат;
    КонецЕсли;
    
    Если Объект.Материалы.Количество() > 0 Тогда
        Ответ = Вопрос("В документе уже присутствуют строки!
            |При заполнении табличная часть будет очищена.
            |Продолжить?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет);
        Если Не Ответ = КодВозвратаДиалога.Да Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;
    
    Объект.Материалы.Очистить();
    //Нач. изм. БИН 22.11.12
    Подр = Объект.Подразделение;
    Объект.Подразделение = Объект.КХМ_ПодразделениеСписания;
	
	ЗаполнитьМатериалыПоОстаткамНЗП(Объект, Объект.Материалы,,Истина,,,,,,Истина);
    //Кон. изм.
    
    Для Каждого СтрокаТабличнойЧасти Из Объект.Материалы Цикл
        СтрокаТабличнойЧасти.ВидВыпуска = Перечисления.ВидыВыпуска.Выпуск;
        ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(СтрокаТабличнойЧасти, Объект, Ложь);
        //Нач. изм. БИН 22.11.12
        СтрокаТабличнойЧасти.ПодразделениеНЗП = Объект.КХМ_ПодразделениеСписания;
        //Кон. изм.
    КонецЦикла;
    //Нач. изм. БИН 22.11.12
    Объект.Подразделение = Подр;
    //Кон. изм. 
КонецПроцедуры
В ней идет вызов второй функции ЗаполнитьМатериалыПоОстаткамНЗП:
Код
Процедура ЗаполнитьМатериалыПоОстаткамНЗП(
	ДокОбъект, 
	ТаблицаМатериалы,
	ЕстьСумма = Ложь,
	ЕстьЕдиницаИзмерения = Ложь,
	ЕстьЕдиницаИзмеренияМест = Ложь,
	ИсключатьДавальческоеСырье = Ложь,
	ТолькоОтрицательныеОстатки = Ложь,
	ИсключатьУслуги = Ложь,
	ТолькоВозвратныеОтходы = Ложь,
	СчетНУПрямыхРасходов = Ложь
	) Экспорт
	
	ОтражатьВУправленческомУчете = ДокОбъект.ОтражатьВУправленческомУчете;
	ОтражатьВБухгалтерскомУчете  = ДокОбъект.ОтражатьВБухгалтерскомУчете;
	ОтражатьВНалоговомУчете      = ДокОбъект.ОтражатьВНалоговомУчете;
	
	Если НЕ ОтражатьВУправленческомУчете 
	   И НЕ ОтражатьВБухгалтерскомУчете 
	   И НЕ ОтражатьВНалоговомУчете Тогда
		ОбщегоНазначения.Сообщение("Документ не отражается ни в одном виде учета!
			|Заполнение не может быть выполнено!", СтатусСообщения.Внимание);
		Возврат;
	КонецЕсли;
	
	МетаданныеДокумента = ДокОбъект.Метаданные();
	ЕстьЗаказ = (МетаданныеДокумента.Реквизиты.Найти("Заказ") <> Неопределено);
	Если ЕстьЗаказ И НЕ ЗначениеЗаполнено(ДокОбъект.Заказ) Тогда
		ЕстьЗаказ = Ложь;
	КонецЕсли;
	
	ЕстьНомГруппа = Истина;
	// Если это таб.часть документа то поищем в метаданных.
	Если НЕ ТипЗнч(ТаблицаМатериалы) = Тип("ТаблицаЗначений") Тогда
		Если НЕ Метаданные.НайтиПоТипу(ТипЗнч(ТаблицаМатериалы)) = Неопределено Тогда
			ЕстьНомГруппа = НЕ Метаданные.НайтиПоТипу(ТипЗнч(ТаблицаМатериалы)).Реквизиты.Найти("НоменклатурнаяГруппа") = Неопределено;
		КонецЕсли;
	КонецЕсли;
	
	ЕстьВводитьСтатьиЗатратПоСтрокам = (МетаданныеДокумента.Реквизиты.Найти("ВводитьСтатьиЗатратПоСтрокам") <> Неопределено);
	Если ЕстьВводитьСтатьиЗатратПоСтрокам 
	   И Не ДокОбъект.ВводитьСтатьиЗатратПоСтрокам Тогда
		ЕстьСтатьяЗатрат = Истина;
	Иначе
		ЕстьСтатьяЗатрат = Ложь;
	КонецЕсли;
	
	ТабЧастьДокумента = ТаблицаМатериалы;
	Если НЕ ТипЗнч(ТаблицаМатериалы) = Тип("ТаблицаЗначений") Тогда
		ТабЧастьДокумента = ТаблицаМатериалы.Выгрузить();
	КонецЕсли;
	ЕстьСчетЗатрат = НЕ ТабЧастьДокумента.Колонки.Найти("СчетЗатрат") = Неопределено;
	ЕстьЗаказНаПроизводство = Не ТабЧастьДокумента.Колонки.Найти("ЗаказНаПроизводство") = Неопределено;
	ЕстьСуммаНал = Не ТабЧастьДокумента.Колонки.Найти("СуммаНал") = Неопределено;
	
	Запрос = СформироватьЗапросПоОстаткамНезавершенногоПроизводства(
		ДокОбъект,
		МетаданныеДокумента,
		Истина, // МатериальныеЗатраты
		ИсключатьУслуги,
		ИсключатьДавальческоеСырье,
		ТолькоОтрицательныеОстатки,
		ТолькоВозвратныеОтходы,
		ЕстьЗаказ,
		ЕстьСтатьяЗатрат,
		НЕ СчетНУПрямыхРасходов
	);
	РезультатЗапроса = Запрос.Выполнить();
	
	Если РезультатЗапроса.Пустой() Тогда
		Возврат;
	КонецЕсли;
	
	ВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
	ВалютаУправленческогоУчета = глЗначениеПеременной("ВалютаУправленческогоУчета");
	ЕстьРасчетСебестоимостиВыпуска = Ложь;
	
	ОбходПоЗатратам = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	Пока ОбходПоЗатратам.Следующий() Цикл
		
		Если Не ЕстьРасчетСебестоимостиВыпуска Тогда
			ЕстьРасчетСебестоимостиВыпуска = ОбходПоЗатратам.ЕстьРасчетСебестоимостиВыпуска;
		КонецЕсли;
		
		ОбходПоХарактеристикам = ОбходПоЗатратам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
		Пока ОбходПоХарактеристикам.Следующий() Цикл
			ОбходПоСериям = ОбходПоХарактеристикам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			Пока ОбходПоСериям.Следующий() Цикл
				ОбходПоСтатьямЗатрат = ОбходПоСериям.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
				Пока ОбходПоСтатьямЗатрат.Следующий() Цикл
					ОбходПоНомГруппам = ОбходПоСтатьямЗатрат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
					Пока ОбходПоНомГруппам.Следующий() Цикл
						ОбходПоЗаказам = ОбходПоНомГруппам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
						Пока ОбходПоЗаказам.Следующий() Цикл
							ОбходПоЕдИзм = ОбходПоЗаказам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
							Пока ОбходПоЕдИзм.Следующий() Цикл
								ОбходПоКоэф = ОбходПоЕдИзм.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
								Пока ОбходПоКоэф.Следующий() Цикл
									
									ВсегоКоличество = ОбходПоКоэф.Количество;
									ВсегоСумма = ОбходПоКоэф.Сумма;
									
									ОбходПоСчету = ОбходПоКоэф.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
									Пока ОбходПоСчету.Следующий() Цикл
										
										ВсегоКоличествоБух = ОбходПоСчету.КоличествоБух;
										ВсегоСуммаБух = ОбходПоСчету.СуммаБух;
										Курс = ?(ВсегоСумма <> 0, ВсегоСуммаБух / ВсегоСумма, 0);
										
										Обход = ОбходПоСчету.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
										Пока Обход.Следующий() Цикл
																						
											СчетЗатратНУ = Неопределено;
											
											Если ОтражатьВНалоговомУчете Тогда
												
												Если СчетНУПрямыхРасходов Тогда
													СчетЗатратНУ = УправлениеЗатратами.ПолучитьСчетПрямыхРасходовНУ(Обход.СчетЗатрат);
												Иначе
													СчетЗатратНУ = Обход.СчетЗатратНУ;
												КонецЕсли;
													
												Если НЕ ЗначениеЗаполнено(СчетЗатратНУ) Тогда
													Продолжить;
												КонецЕсли;
											
												ТекКоличество = Обход.КоличествоНал;
											ИначеЕсли ОтражатьВБухгалтерскомУчете Тогда
												ТекКоличество = Обход.КоличествоБух;
											Иначе
												ТекКоличество = Обход.Количество;
											КонецЕсли;
											
											Если ТекКоличество <= 0 Тогда
												Продолжить;
											КонецЕсли;
											
											ТекСумма = Окр(?(ВсегоКоличество <> 0, ТекКоличество * ВсегоСумма / ВсегоКоличество, 0), 2, 1);
											ТекСуммаБух = Окр(?(ВсегоКоличествоБух <> 0, ТекКоличество * ВсегоСуммаБух / ВсегоКоличествоБух, 0), 2, 1);
											ТекСуммаНал = Обход.СуммаНал;
											
											Если ВсегоСуммаБух >= ТекСуммаНал И ТекСуммаНал <> 0 Тогда
												ТекСуммаБух = ТекСуммаНал;
											Иначе
												ТекСуммаБух = ВсегоСуммаБух;
											КонецЕсли;
											ВсегоСуммаБух = ВсегоСуммаБух - ТекСуммаБух;
													
											ТекСумма      = ?(Курс <> 0, Окр(ТекСуммаБух / Курс, 2, 1), ВсегоСумма);
											Если ТекСумма > ВсегоСумма Тогда
												ТекСумма = ВсегоСумма;
											КонецЕсли;
											ВсегоСумма    = ВсегоСумма - ТекСумма;
											
											ВсегоКоличество = ВсегоКоличество - ТекКоличество;
											ВсегоКоличествоБух = ВсегоКоличествоБух - ТекКоличество;
		
											Если ТекКоличество = 0 Тогда
												Продолжить;
											КонецЕсли;
						////////////////////															
											НоваяСтрока = ТаблицаМатериалы.Добавить();
											ЗаполнитьЗначенияСвойств(НоваяСтрока, Обход);
											
											Если ЕстьСчетЗатрат Тогда
												НоваяСтрока.СчетЗатратНУ = СчетЗатратНУ;
											КонецЕсли;
											
											Если ЕстьЕдиницаИзмеренияМест Тогда
												ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(НоваяСтрока, ДокОбъект, Ложь);
											КонецЕсли;
											НоваяСтрока.Количество 				   = ТекКоличество;
											
											Если ЕстьСумма Тогда
												НоваяСтрока.Сумма   			   = ТекСумма;
												НоваяСтрока.СуммаРегл 			   = ТекСуммаБух;
												Если ОтражатьВУправленческомУчете Тогда
													НоваяСтрока.Цена				   = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.Сумма / НоваяСтрока.Количество, 0);
												Иначе
													НоваяСтрока.Цена				   = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.СуммаРегл / НоваяСтрока.Количество, 0);
												КонецЕсли;
											КонецЕсли;
											Если ЕстьСуммаНал Тогда
												НоваяСтрока.СуммаНал 			   = ТекСуммаНал;
											КонецЕсли;
											
										КонецЦикла; // по детальным записям
										
										Если ОтражатьВБухгалтерскомУчете И ВсегоКоличествоБух > 0 Тогда
											
											ТекСумма = Окр(?(ВсегоКоличество <> 0, ВсегоКоличествоБух * ВсегоСумма / ВсегоКоличество, 0), 2, 1);
											
											ВсегоКоличество = ВсегоКоличество - ВсегоКоличествоБух;
											ВсегоСумма = ВсегоСумма - ТекСумма;
										
											НоваяСтрока = ТаблицаМатериалы.Добавить();
											ЗаполнитьЗначенияСвойств(НоваяСтрока, ОбходПоСчету);
											Если ЕстьЕдиницаИзмеренияМест Тогда
												ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(НоваяСтрока, ДокОбъект, Ложь);
											КонецЕсли;
											НоваяСтрока.Количество 				   = ВсегоКоличествоБух;
											Если ЕстьСумма Тогда
												НоваяСтрока.Сумма   			   = ТекСумма;
												НоваяСтрока.СуммаРегл 			   = ВсегоСуммаБух;
												
												Если ОтражатьВУправленческомУчете Тогда
													НоваяСтрока.Цена			   = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.Сумма / НоваяСтрока.Количество, 0);
												Иначе
													НоваяСтрока.Цена			   = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.СуммаРегл / НоваяСтрока.Количество, 0);
												КонецЕсли;
											КонецЕсли;
											
										КонецЕсли;
										
									КонецЦикла; // по счетам учета
									
									Если ОтражатьВУправленческомУчете И ВсегоКоличество > 0 Тогда
											
										НоваяСтрока = ТаблицаМатериалы.Добавить();
										ЗаполнитьЗначенияСвойств(НоваяСтрока, ОбходПоКоэф);
										Если ЕстьЕдиницаИзмеренияМест Тогда
											ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуМестТабЧасти(НоваяСтрока, ДокОбъект, Ложь);
										КонецЕсли;
										НоваяСтрока.Количество 				   = ВсегоКоличество;
										
										Если ЕстьСумма Тогда
											НоваяСтрока.Сумма   			   = ВсегоСумма;
											НоваяСтрока.Цена				   = ?(НоваяСтрока.Количество <> 0, НоваяСтрока.Сумма / НоваяСтрока.Количество, 0);
										КонецЕсли;
										
										Если ОтражатьВБухгалтерскомУчете Тогда
										
											Если ЕстьСумма Тогда
												НоваяСтрока.СуммаРегл = МодульВалютногоУчета.ПересчитатьВСуммуРегл(
													НоваяСтрока.Сумма, 
													ВалютаРегламентированногоУчета, 
													ВалютаУправленческогоУчета, 
													ДокОбъект.Дата
												);
											КонецЕсли;
											
											Если ЕстьСуммаНал Тогда
												НоваяСтрока.СуммаНал = НоваяСтрока.СуммаРегл;
											КонецЕсли;
										
											Если ЕстьСчетЗатрат Тогда
												УправлениеЗатратами.ЗаполнитьСчетЗатратВСтрокеТабличногоПоля(
													НоваяСтрока, 
													ДокОбъект.ПодразделениеОрганизации, 
													НоваяСтрока.СтатьяЗатрат
												);
											КонецЕсли;
											
										КонецЕсли;
										
									КонецЕсли;
									
								КонецЦикла; // по коэф.
							КонецЦикла;
						КонецЦикла;
					КонецЦикла;
				КонецЦикла;
			КонецЦикла;
		КонецЦикла;
	КонецЦикла;
	
	Если ЕстьРасчетСебестоимостиВыпуска Тогда
		ОбщегоНазначения.Сообщение("За текущий месяц проведен документ ""Расчет себестоимости выпуска"".
			|Заполнение по остаткам может быть выполнено неправильно!", СтатусСообщения.Внимание);
	КонецЕсли;
	
КонецПроцедуры // ЗаполнитьМатериалыПоОстаткамНЗП()
В неё вызывается как раз третья функция которая содержит запрос:
Код
Функция СформироватьЗапросПоОстаткамНезавершенногоПроизводства(
	ДокументОбъект,
	МетаданныеДокумента,
	МатериальныеЗатраты,
	ИсключатьУслуги,
	ИсключатьДавальческоеСырье,
	ТолькоОтрицательныеОстатки,
	ТолькоВозвратныеОтходы,
	ЕстьЗаказ,
	ЕстьСтатьяЗатрат,
	ЕстьСчетЗатратНУ = Истина
	)
	
	ТекстЗапроса = "
	|ВЫБРАТЬ
	|	НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска,
	|	НезавершенноеПроизводство.Затрата КАК Номенклатура,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
	|	НезавершенноеПроизводство.СерияЗатраты КАК СерияНоменклатуры,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ КАК Заказ,
	|	
	|	НезавершенноеПроизводство.ЕдиницаИзмерения,
	|	НезавершенноеПроизводство.Коэффициент,
	|	
	|	НезавершенноеПроизводство.СчетЗатрат,
	|	НезавершенноеПроизводство.СчетЗатратНУ,
	|	
	|	&Знак * НезавершенноеПроизводство.Количество КАК Количество,
	|	&Знак * НезавершенноеПроизводство.КоличествоБух КАК КоличествоБух,
	|	&Знак * НезавершенноеПроизводство.КоличествоНал КАК КоличествоНал,
	|	
	|	&Знак * НезавершенноеПроизводство.Сумма КАК Сумма,
	|	&Знак * НезавершенноеПроизводство.СуммаБух КАК СуммаБух,
	|	&Знак * НезавершенноеПроизводство.СуммаНал КАК СуммаНал
	|	
	|ИЗ (
	|
	|
	|	//ДляУпрУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваУУ
	|	//ДляУпрУчета //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ
	|	//ДляБухУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ
	|	//ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ
	|	//ДляНалУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ
	|	) КАК НезавершенноеПроизводство
	|
	|ГДЕ
	|	НЕ НезавершенноеПроизводство.Заказ = NULL
	|
	|СГРУППИРОВАТЬ ПО
	|	НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска,
	|	НезавершенноеПроизводство.Затрата,
	|	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	НезавершенноеПроизводство.СерияЗатраты,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	
	|	НезавершенноеПроизводство.ЕдиницаИзмерения,
	|	НезавершенноеПроизводство.Коэффициент,
	|	
	|	НезавершенноеПроизводство.СчетЗатрат,
	|	НезавершенноеПроизводство.СчетЗатратНУ,
	|	НезавершенноеПроизводство.ИндексУчета,
	|	
	|	НезавершенноеПроизводство.Количество,
	|	НезавершенноеПроизводство.КоличествоБух,
	|	НезавершенноеПроизводство.КоличествоНал,
	|	
	|	НезавершенноеПроизводство.Сумма,
	|	НезавершенноеПроизводство.СуммаБух,
	|	НезавершенноеПроизводство.СуммаНал
	|		
	|//ТолькоОтрицательныеОстатки ИМЕЮЩИЕ (НезавершенноеПроизводство.Количество < 0
	|//ТолькоОтрицательныеОстатки 	ИЛИ НезавершенноеПроизводство.КоличествоБух < 0
	|//ТолькоОтрицательныеОстатки 	ИЛИ НезавершенноеПроизводство.КоличествоНал < 0)
	|
	|УПОРЯДОЧИТЬ ПО
	|	НезавершенноеПроизводство.ИндексУчета
	|
	|ИТОГИ 
	|	МАКСИМУМ(ЕстьРасчетСебестоимостиВыпуска),
	|	СУММА(Количество),
	|	СУММА(КоличествоБух),
	|	СУММА(КоличествоНал),
	|	СУММА(Сумма),
	|	СУММА(СуммаБух),
	|	СУММА(СуммаНал)
	|ПО
	|	НезавершенноеПроизводство.Затрата,
	|	//Материальные НезавершенноеПроизводство.ХарактеристикаЗатраты,
	|	//Материальные НезавершенноеПроизводство.СерияЗатраты,
	|	НезавершенноеПроизводство.СтатьяЗатрат,
	|	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	|	НезавершенноеПроизводство.Заказ,
	|	//Материальные НезавершенноеПроизводство.ЕдиницаИзмерения,
	|	//Материальные НезавершенноеПроизводство.Коэффициент,
	|	НезавершенноеПроизводство.СчетЗатрат
	|";
	
	ИспользоватьРасширеннуюАналитику = глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат") 
		И (глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= ДокументОбъект.Дата);
		
	Если ИспользоватьРасширеннуюАналитику Тогда
		РежимИспользованияРасширеннойАналитики = глЗначениеПеременной("РежимИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат");
		
		Если Не МатериальныеЗатраты Тогда
			ИспользоватьДанныеУправленческогоУчета = Истина;
			ИспользоватьДанныеБухгалтерскогоУчета  = Истина;
			
		ИначеЕсли РежимИспользованияРасширеннойАналитики = Перечисления.РежимыИспользованияРасширеннойАналитики.УправленческийИРегламентированныйУчет
		   И ДокументОбъект.ОтражатьВУправленческомУчете
		Тогда
			ИспользоватьДанныеУправленческогоУчета = Истина;
			ИспользоватьДанныеБухгалтерскогоУчета  = Ложь;
			
		Иначе
			ИспользоватьДанныеУправленческогоУчета = Ложь;
			ИспользоватьДанныеБухгалтерскогоУчета  = Истина;
		КонецЕсли;
		
		ИспользоватьДанныеНалоговогоУчета = Ложь;
	Иначе
		ИспользоватьДанныеУправленческогоУчета = ДокументОбъект.ОтражатьВУправленческомУчете;
		ИспользоватьДанныеБухгалтерскогоУчета  = ДокументОбъект.ОтражатьВБухгалтерскомУчете;
		ИспользоватьДанныеНалоговогоУчета = ДокументОбъект.ОтражатьВНалоговомУчете;
	КонецЕсли;
		
	Если ИспользоватьДанныеУправленческогоУчета Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДляУпрУчета", "");
	КонецЕсли;
	
	Если ИспользоватьДанныеБухгалтерскогоУчета Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДляБухУчета", "");
	КонецЕсли;
	
	Если ИспользоватьДанныеНалоговогоУчета Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ДляНалУчета", "");
	КонецЕсли;

			
	ТекстЗапросаПоОстаткамНЗП = СформироватьТекстЗапросаПоОстаткамНЗП();
		
	Если ИспользоватьДанныеУправленческогоУчета Тогда
		ТекстЗапросаПоОстаткам = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапросаПоОстаткамНЗП,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете
		);
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
			"//ТекстЗапросаПоОстаткамНезавершенногоПроизводстваУУ",
			ТекстЗапросаПоОстаткам
		);
	КонецЕсли;
	
	Если ИспользоватьДанныеБухгалтерскогоУчета Тогда
		ТекстЗапросаПоОстаткам = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапросаПоОстаткамНЗП,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете
		);
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
			"//ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ",
			ТекстЗапросаПоОстаткам
		);
	КонецЕсли;
	
	Если ИспользоватьДанныеНалоговогоУчета Тогда
		ТекстЗапросаПоОстаткам = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапросаПоОстаткамНЗП,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете
		);
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, 
			"//ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ",
			ТекстЗапросаПоОстаткам
		);
	КонецЕсли;
	
	Если ТолькоОтрицательныеОстатки Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ТолькоОтрицательныеОстатки", "");
	КонецЕсли;
	
	Если ЕстьЗаказ Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ЕстьЗаказ", "");
	КонецЕсли;
	
	Если ЕстьСтатьяЗатрат Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//ЕстьСтатьяЗатрат", "");
	КонецЕсли;
	
	Если МатериальныеЗатраты Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//Материальные", "");
	Иначе
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//Нематериальные", "");
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.Текст = ТекстЗапроса;
	
	Запрос.Параметры.Вставить("ЕстьСчетЗатратНУ", ЕстьСчетЗатратНУ);
	
	УстановитьПараметрыЗапросаПоОстаткамНезавершенногоПроизводства(
		ДокументОбъект,
		МетаданныеДокумента,
		ИсключатьУслуги,
		ИсключатьДавальческоеСырье,
		ТолькоОтрицательныеОстатки,
		ТолькоВозвратныеОтходы,
		ЕстьЗаказ,
		ЕстьСтатьяЗатрат,
		Запрос
	);
	
	Возврат Запрос;
	
КонецФункции // СформироватьТекстЗапросаПоОстаткамНезавершенногоПроизводства()
Нужно что-то поменять в коде, что бы выводились строки с заполнеными заказами. Мне кажется что нужно вносить изменения в запросе. Кто разбирается в 1С подскажите так ли это?

Вот скрин на всякий случай:
0
Миниатюры
Как получить .epf файл?  
Модератор
Эксперт 1С
2882 / 2608 / 475
Регистрация: 10.03.2011
Сообщений: 9,775
Записей в блоге: 1
17.10.2013, 12:52 13
1C
1
2
ГДЕ НЕ НезавершенноеПроизводство.Заказ = Значение(Документ.ЗаказПокупателя.ПустаяСсылка)
И НЕ НезавершенноеПроизводство.Заказ = Неопределено
1
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 52
18.10.2013, 14:34  [ТС] 14
Dethmontt, снова спасибо. Снова ты выручил меня.

Я вот пытаюсь изменить запрос на 1С, до этого я имел дело только с SQL. И в 1С в запросе я столкнулся со многими вещами, которых не встречал ранее.

Текст Запроса:
Код
ВЫБРАТЬ
	НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска,
	НезавершенноеПроизводство.Затрата КАК Номенклатура,
	НезавершенноеПроизводство.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
	НезавершенноеПроизводство.СерияЗатраты КАК СерияНоменклатуры,
	НезавершенноеПроизводство.СтатьяЗатрат,
	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	НезавершенноеПроизводство.Заказ КАК Заказ,
	
	НезавершенноеПроизводство.ЕдиницаИзмерения,
	НезавершенноеПроизводство.Коэффициент,
	
	НезавершенноеПроизводство.СчетЗатрат,
	НезавершенноеПроизводство.СчетЗатратНУ,
	
	&Знак * НезавершенноеПроизводство.Количество КАК Количество,
	&Знак * НезавершенноеПроизводство.КоличествоБух КАК КоличествоБух,
	&Знак * НезавершенноеПроизводство.КоличествоНал КАК КоличествоНал,
	
	&Знак * НезавершенноеПроизводство.Сумма КАК Сумма,
	&Знак * НезавершенноеПроизводство.СуммаБух КАК СуммаБух,
	&Знак * НезавершенноеПроизводство.СуммаНал КАК СуммаНал
	
ИЗ (

	 
	ВЫБРАТЬ
		3 КАК ИндексУчета,
		//ДляБухУчета 2 КАК ИндексУчета,
		//ДляНалУчета 1 КАК ИндексУчета,
		НезавершенноеПроизводство.Затрата,
		НезавершенноеПроизводство.ХарактеристикаЗатраты,
		НезавершенноеПроизводство.СерияЗатраты,
		НезавершенноеПроизводство.СтатьяЗатрат,
		НезавершенноеПроизводство.НоменклатурнаяГруппа,
		НезавершенноеПроизводство.Заказ,
		
		НезавершенноеПроизводство.Затрата.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
		НезавершенноеПроизводство.Затрата.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
		
		ЕСТЬNULL(РегламентныеДокументы.ЕстьРасчетСебестоимостиВыпуска, Ложь) КАК ЕстьРасчетСебестоимостиВыпуска,
		
		 Неопределено КАК СчетЗатрат,
		 Неопределено КАК СчетЗатратНУ,
		
		//ДляБухУчета НезавершенноеПроизводство.СчетУчета КАК СчетЗатрат,
		//ДляБухУчета Неопределено КАК СчетЗатратНУ,
		
		//ДляНалУчета ЕСТЬNULL(НезавершенноеПроизводствоБух.СчетУчета, НезавершенноеПроизводство.СчетУчета) КАК СчетЗатрат,
		//ДляНалУчета НезавершенноеПроизводство.СчетУчета КАК СчетЗатратНУ,
		
		 (НезавершенноеПроизводство.КоличествоОстаток -
		 ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0) -
		 ЕСТЬNULL(ЗатратыНаВыпускНаработка.Количество, 0)) КАК Количество,
		 0 КАК КоличествоБух,
		 0 КАК КоличествоНал,

		//ДляБухУчета 0 КАК Количество,
		//ДляБухУчета (НезавершенноеПроизводство.КоличествоОстаток -
		//ДляБухУчета ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0) -
		//ДляБухУчета ЕСТЬNULL(ЗатратыНаВыпускНаработка.Количество, 0)) КАК КоличествоБух,
		//ДляБухУчета 0 КАК КоличествоНал,

		//ДляНалУчета 0 КАК Количество,
		//ДляНалУчета 0 КАК КоличествоБух,
		//ДляНалУчета (НезавершенноеПроизводство.КоличествоОстаток -
		//ДляНалУчета ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0) -
		//ДляНалУчета ЕСТЬNULL(ЗатратыНаВыпускНаработка.Количество, 0)) КАК КоличествоНал,
		
		 ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток = 0 ТОГДА
		 		НезавершенноеПроизводство.СтоимостьОстаток -
		 		ЕСТЬNULL(ЗатратыНаВыпуск.Сумма, 0) -
		 		ЕСТЬNULL(ЗатратыНаВыпускНаработка.Сумма, 0)
		 ИНАЧЕ
		 		(НезавершенноеПроизводство.КоличествоОстаток -
		 		ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0) -
		 		ЕСТЬNULL(ЗатратыНаВыпускНаработка.Количество, 0)) *
		 		НезавершенноеПроизводство.СтоимостьОстаток / НезавершенноеПроизводство.КоличествоОстаток
		 КОНЕЦ КАК Сумма,
		 0 КАК СуммаБух,
		 0 КАК СуммаНал
		
		//ДляБухУчета 0 КАК Сумма,
		//ДляБухУчета ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток = 0 ТОГДА
		//ДляБухУчета 		НезавершенноеПроизводство.СтоимостьОстаток -
		//ДляБухУчета 		ЕСТЬNULL(ЗатратыНаВыпуск.Сумма, 0) -
		//ДляБухУчета 		ЕСТЬNULL(ЗатратыНаВыпускНаработка.Сумма, 0)
		//ДляБухУчета ИНАЧЕ
		//ДляБухУчета 		(НезавершенноеПроизводство.КоличествоОстаток -
		//ДляБухУчета 		ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0) -
		//ДляБухУчета 		ЕСТЬNULL(ЗатратыНаВыпускНаработка.Количество, 0)) *
		//ДляБухУчета 		НезавершенноеПроизводство.СтоимостьОстаток / НезавершенноеПроизводство.КоличествоОстаток
		//ДляБухУчета КОНЕЦ КАК СуммаБух,
		//ДляБухУчета 0 КАК СуммаНал
		
		//ДляНалУчета 0 КАК Сумма,
		//ДляНалУчета 0 КАК СуммаБух,
		//ДляНалУчета ВЫБОР КОГДА НезавершенноеПроизводство.КоличествоОстаток = 0 ТОГДА
		//ДляНалУчета 		НезавершенноеПроизводство.СтоимостьОстаток +
		//ДляНалУчета 		НезавершенноеПроизводство.ПостояннаяРазницаОстаток -
		//ДляНалУчета 		ЕСТЬNULL(ЗатратыНаВыпуск.Сумма, 0) -
		//ДляНалУчета 		ЕСТЬNULL(ЗатратыНаВыпускНаработка.Сумма, 0)
		//ДляНалУчета ИНАЧЕ
		//ДляНалУчета 		(НезавершенноеПроизводство.КоличествоОстаток -
		//ДляНалУчета 		ЕСТЬNULL(ЗатратыНаВыпуск.Количество, 0) -
		//ДляНалУчета 		ЕСТЬNULL(ЗатратыНаВыпускНаработка.Количество, 0)) *
		//ДляНалУчета 		НезавершенноеПроизводство.СтоимостьОстаток / НезавершенноеПроизводство.КоличествоОстаток
		//ДляНалУчета КОНЕЦ КАК СуммаНал
		
	ИЗ
		РегистрНакопления.НезавершенноеПроизводство.Остатки(&КонГраница, 
			 Подразделение = &Подразделение
			//ДляРеглУчета Организация = &Организация
			//ДляРеглУчета И Подразделение = &ПодразделениеОрганизации
			 И СтатьяЗатрат.ВидЗатрат = ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
			 И Затрата.ВидНоменклатуры.ТипНоменклатуры <> &Услуга
			 И Не СтатьяЗатрат.СтатусМатериальныхЗатрат В (&СтатусыМатериальныхЗатрат)
			//Нематериальные И СтатьяЗатрат.ВидЗатрат <> ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
			//ЕстьСтатьяЗатрат И СтатьяЗатрат = &СтатьяЗатрат
			//ЕстьЗаказ И Заказ = &Заказ
			И Не Затрата ССЫЛКА Перечисление.ХарактерЗатрат
		) КАК НезавершенноеПроизводство
																					   
	ЛЕВОЕ СОЕДИНЕНИЕ (
		ВЫБРАТЬ
			ЗатратыНаВыпуск.Затрата,
			ЗатратыНаВыпуск.СерияЗатраты,
			ЗатратыНаВыпуск.ХарактеристикаЗатраты,
			ЗатратыНаВыпуск.СтатьяЗатрат,
			ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
			ЗатратыНаВыпуск.ЗаказНЗП,
			//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
			СУММА(ЗатратыНаВыпуск.Количество) КАК Количество,
			СУММА(ЗатратыНаВыпуск.Сумма) КАК Сумма
		ИЗ
			РегистрНакопления.ЗатратыНаВыпускПродукции КАК ЗатратыНаВыпуск
		ГДЕ
			ЗатратыНаВыпуск.Период МЕЖДУ &НачДата И &КонДата
			 	И ЗатратыНаВыпуск.ПодразделениеНЗП = &Подразделение
			//ДляРеглУчета И Организация = &Организация
			//ДляРеглУчета И (ЗатратыНаВыпуск.Подразделение = &ПодразделениеОрганизации
			//ДляРеглУчета 	ИЛИ ЗатратыНаВыпуск.ПодразделениеНЗП = &ПодразделениеОрганизации)
			 И ЗатратыНаВыпуск.СтатьяЗатрат.ВидЗатрат = ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
			 И Не ЗатратыНаВыпуск.СтатьяЗатрат.СтатусМатериальныхЗатрат В (&СтатусыМатериальныхЗатрат)
			//Нематериальные И ЗатратыНаВыпуск.СтатьяЗатрат.ВидЗатрат <> ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
			И ЗатратыНаВыпуск.Регистратор  <> &ТекДок
			И ЗатратыНаВыпуск.КодОперации В(&КодыОпераций)
			//ЕстьСтатьяЗатрат И ЗатратыНаВыпуск.СтатьяЗатрат = &СтатьяЗатрат
			//ЕстьЗаказ И ЗатратыНаВыпуск.ЗаказНЗП = &Заказ
		
		СГРУППИРОВАТЬ ПО
			//ДляРеглУчета ЗатратыНаВыпуск.СчетУчета,
			ЗатратыНаВыпуск.Затрата,
			ЗатратыНаВыпуск.СерияЗатраты,
			ЗатратыНаВыпуск.ХарактеристикаЗатраты,
			ЗатратыНаВыпуск.СтатьяЗатрат,
			ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП,
			ЗатратыНаВыпуск.ЗаказНЗП
		) КАК ЗатратыНаВыпуск

	ПО 
		НезавершенноеПроизводство.Затрата = ЗатратыНаВыпуск.Затрата
		И НезавершенноеПроизводство.ХарактеристикаЗатраты = ЗатратыНаВыпуск.ХарактеристикаЗатраты
		И НезавершенноеПроизводство.СерияЗатраты = ЗатратыНаВыпуск.СерияЗатраты
		И НезавершенноеПроизводство.СтатьяЗатрат = ЗатратыНаВыпуск.СтатьяЗатрат
		И НезавершенноеПроизводство.НоменклатурнаяГруппа = ЗатратыНаВыпуск.НоменклатурнаяГруппаНЗП
		И НезавершенноеПроизводство.Заказ = ЗатратыНаВыпуск.ЗаказНЗП
		//ДляБухУчета И НезавершенноеПроизводство.СчетУчета = ЗатратыНаВыпуск.СчетУчета
		
		//ДляНалУчета И (НезавершенноеПроизводство.СчетУчета = ЗатратыНаВыпуск.СчетУчета 
		//ДляНалУчета 		И НезавершенноеПроизводство.СчетУчета В (&СчетаПрямыхРасходов)
		//ДляНалУчета 	ИЛИ НезавершенноеПроизводство.СчетУчета.Родитель = ЗатратыНаВыпуск.СчетУчета.Родитель 
		//ДляНалУчета		И Не НезавершенноеПроизводство.СчетУчета В (&СчетаПрямыхРасходов))
		
	ЛЕВОЕ СОЕДИНЕНИЕ (
		ВЫБРАТЬ
			ВЫБОР КОГДА ЗатратыНаВыпускНаработка.Затрата = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
				Неопределено
			ИНАЧЕ
				ЗатратыНаВыпускНаработка.Затрата
			КОНЕЦ КАК Затрата,
			ЗатратыНаВыпускНаработка.СерияЗатраты,
			ЗатратыНаВыпускНаработка.ХарактеристикаЗатраты,
			ЗатратыНаВыпускНаработка.СтатьяЗатрат,
			ЗатратыНаВыпускНаработка.НоменклатурнаяГруппаНЗП,
			ЗатратыНаВыпускНаработка.ЗаказНЗП,
			//ДляРеглУчета ЗатратыНаВыпускНаработка.СчетУчета,
			ЗатратыНаВыпускНаработка.КоличествоОстаток КАК Количество,
			ЗатратыНаВыпускНаработка.СуммаОстаток КАК Сумма
		ИЗ
			РегистрНакопления.ЗатратыНаВыпускПродукцииНаработка.Остатки(&КонГраница, 
				 	ПодразделениеНЗП = &Подразделение
				//ДляРеглУчета Организация = &Организация
				//ДляРеглУчета И (Подразделение = &ПодразделениеОрганизации
				//ДляРеглУчета 	ИЛИ ПодразделениеНЗП = &ПодразделениеОрганизации)
				 И СтатьяЗатрат.ВидЗатрат = ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
				 И Затрата.ВидНоменклатуры.ТипНоменклатуры <> &Услуга
				 И Не СтатьяЗатрат.СтатусМатериальныхЗатрат В (&СтатусыМатериальныхЗатрат)
				//Нематериальные И СтатьяЗатрат.ВидЗатрат <> ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
				//ЕстьСтатьяЗатрат И СтатьяЗатрат = &СтатьяЗатрат
				//ЕстьЗаказ И Заказ = &Заказ
			) КАК ЗатратыНаВыпускНаработка
		
		) КАК ЗатратыНаВыпускНаработка

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

	//ДляНалУчета	ЛЕВОЕ СОЕДИНЕНИЕ 
	//ДляНалУчета 		РегистрНакопления.НезавершенноеПроизводствоБухгалтерскийУчет.Остатки(&КонГраница, 
	//ДляНалУчета           Организация = &Организация
	//ДляНалУчета 			И Подразделение = &ПодразделениеОрганизации
	//ДляНалУчета 			 И СтатьяЗатрат.ВидЗатрат = ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
	//ДляНалУчета 			 И Затрата.ВидНоменклатуры.ТипНоменклатуры <> &Услуга
	//ДляНалУчета 			 И Не СтатьяЗатрат.СтатусМатериальныхЗатрат В (&СтатусыМатериальныхЗатрат)
	//ДляНалУчета 			//Нематериальные И СтатьяЗатрат.ВидЗатрат <> ЗНАЧЕНИЕ(Перечисление.ВидыЗатрат.Материальные)
	//ДляНалУчета 			//ЕстьСтатьяЗатрат И СтатьяЗатрат = &СтатьяЗатрат
	//ДляНалУчета 			//ЕстьЗаказ И Заказ = &Заказ
	//ДляНалУчета 		) КАК НезавершенноеПроизводствоБух
 	//ДляНалУчета 	ПО
	//ДляНалУчета 		НезавершенноеПроизводство.Затрата = НезавершенноеПроизводствоБух.Затрата
	//ДляНалУчета 		И НезавершенноеПроизводство.ХарактеристикаЗатраты = НезавершенноеПроизводствоБух.ХарактеристикаЗатраты
	//ДляНалУчета 		И НезавершенноеПроизводство.СерияЗатраты = НезавершенноеПроизводствоБух.СерияЗатраты
	//ДляНалУчета 		И НезавершенноеПроизводство.СтатьяЗатрат = НезавершенноеПроизводствоБух.СтатьяЗатрат
	//ДляНалУчета 		И НезавершенноеПроизводство.НоменклатурнаяГруппа = НезавершенноеПроизводствоБух.НоменклатурнаяГруппа
	//ДляНалУчета 		И НезавершенноеПроизводство.Заказ = НезавершенноеПроизводствоБух.Заказ
	//ДляНалУчета
	//ДляНалУчета	ЛЕВОЕ СОЕДИНЕНИЕ (
	//ДляНалУчета		ВЫБРАТЬ РАЗЛИЧНЫЕ
	//ДляНалУчета			СоответствиеСчетовБУиНУ.СчетБУ КАК СчетБУ,
	//ДляНалУчета			СоответствиеСчетовБУиНУ.СчетНУ КАК СчетНУ
	//ДляНалУчета		ИЗ
	//ДляНалУчета			РегистрСведений.СоответствиеСчетовБУиНУ КАК СоответствиеСчетовБУиНУ
	//ДляНалУчета		) КАК Соответствие
	//ДляНалУчета	ПО
	//ДляНалУчета		НезавершенноеПроизводствоБух.СчетУчета = Соответствие.СчетБУ
	//ДляНалУчета		И НезавершенноеПроизводство.СчетУчета = Соответствие.СчетНУ
	//ДляНалУчета	
	//ДляНалУчета	ГДЕ
	//ДляНалУчета		НЕ Соответствие.СчетБУ ЕСТЬ NULL
	//ДляНалУчета		ИЛИ НезавершенноеПроизводствоБух.СчетУчета ЕСТЬ NULL

	 //ДляБухУчета ОБЪЕДИНИТЬ ВСЕ
	//ДляБухУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваБУ
	//ДляБухУчета //ДляНалУчета ОБЪЕДИНИТЬ ВСЕ
	//ДляНалУчета //ТекстЗапросаПоОстаткамНезавершенногоПроизводстваНУ
	) КАК НезавершенноеПроизводство

СГРУППИРОВАТЬ ПО
	НезавершенноеПроизводство.ЕстьРасчетСебестоимостиВыпуска,
	НезавершенноеПроизводство.Затрата,
	НезавершенноеПроизводство.ХарактеристикаЗатраты,
	НезавершенноеПроизводство.СерияЗатраты,
	НезавершенноеПроизводство.СтатьяЗатрат,
	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	НезавершенноеПроизводство.Заказ,
	
	НезавершенноеПроизводство.ЕдиницаИзмерения,
	НезавершенноеПроизводство.Коэффициент,
	
	НезавершенноеПроизводство.СчетЗатрат,
	НезавершенноеПроизводство.СчетЗатратНУ,
	НезавершенноеПроизводство.ИндексУчета,
	
	НезавершенноеПроизводство.Количество,
	НезавершенноеПроизводство.КоличествоБух,
	НезавершенноеПроизводство.КоличествоНал,
	
	НезавершенноеПроизводство.Сумма,
	НезавершенноеПроизводство.СуммаБух,
	НезавершенноеПроизводство.СуммаНал
		
//ТолькоОтрицательныеОстатки ИМЕЮЩИЕ (НезавершенноеПроизводство.Количество < 0
//ТолькоОтрицательныеОстатки 	ИЛИ НезавершенноеПроизводство.КоличествоБух < 0
//ТолькоОтрицательныеОстатки 	ИЛИ НезавершенноеПроизводство.КоличествоНал < 0)

УПОРЯДОЧИТЬ ПО
	НезавершенноеПроизводство.ИндексУчета

ИТОГИ 
	МАКСИМУМ(ЕстьРасчетСебестоимостиВыпуска),
	СУММА(Количество),
	СУММА(КоличествоБух),
	СУММА(КоличествоНал),
	СУММА(Сумма),
	СУММА(СуммаБух),
	СУММА(СуммаНал)
ПО
	НезавершенноеПроизводство.Затрата,
	 НезавершенноеПроизводство.ХарактеристикаЗатраты,
	 НезавершенноеПроизводство.СерияЗатраты,
	НезавершенноеПроизводство.СтатьяЗатрат,
	НезавершенноеПроизводство.НоменклатурнаяГруппа,
	НезавершенноеПроизводство.Заказ,
	 НезавершенноеПроизводство.ЕдиницаИзмерения,
	 НезавершенноеПроизводство.Коэффициент,
	НезавершенноеПроизводство.СчетЗатрат
Сразу же бросаются в глаза незнакомые вещи, вроде:
1) &Знак. & это я так понимаю ссылка, а что такое знак?
2) &Знак * НезавершенноеПроизводство.Количество КАК Количество. Что означает звёздочка?
3) //ДляБухУчета 2 КАК ИндексУчета. Что такое два слэша? При том эти слэши по всюду и не понятно, что они означают... Что такое цифра два в данном случае?
4) НезавершенноеПроизводство.Затрата.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения. Что такое "ЕдиницаХраненияОстатков", если Затрата - это реквизит?

Что-то у меня дела идут туго с 1С...

Вообще, сейчас задача стоит таким образом, что нужно что бы выводились строки в таблице "Материалы", только точно такие же, что есть в таблице "продукция" (смотреть скрин к предыдущему посту).

Если кто может, помогите нубу плиз.
0
Миниатюры
Как получить .epf файл?   Как получить .epf файл?  
Модератор
Эксперт 1С
2882 / 2608 / 475
Регистрация: 10.03.2011
Сообщений: 9,775
Записей в блоге: 1
18.10.2013, 15:03 15
1. символом &(амперсанд) обозначается параметр в запросе (типа переменной в SQL @Знак)
2. * - математический знак умножения (* аналог SQL)
3. //Текст - комментарий (-- аналог SQL)
4. ЕдиницаХраненияОстатков - реквизит справочника ЗАТРАТ (аналог SQL SELECT ЕдиницаХраненияОстатков FROM Справочник.Затраты WHERE ref = @ЗАТРАТА)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 15:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не удалось скопировать файл. Процесс не может получить доступ к файлу, так как этот файл используется другим процессом
Ошибка 1 не удалось скопировать файл &quot;obj\x86\Debug\ConsoleApplication1.exe&quot; в...

Создать текстовый файл из 5 строк, прочитать созданный файл и получить новый файл
Создать текстовый файл из 5 строк, прочитать созданный файл и получить новый файл. Переписать в...

Создать текстовый файл из 5 строк, прочитать созданный файл и получить новый файл согласно своему варианту. Dev C++
8)В новом файле заменить все латинские буквы верхнего регистра на буквы нижнего регистра.

Как получить asm файл?
Вообщем сабж :) подскажите как глянуть asm файлик, замечал на форуме приводят ассемблерный код, я...


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

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

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