Добрый день, уважаемый гуру. У меня есть внешняя обработка , она выгружает данные из Торговли и склада 9.2 в mysql базу на сервер.
Вопрос 1: обработка выгружает фотографии из "Справочник-Номенклатура" и снизу кнопка фотография.(рис1)
код обработки следующий
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.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
Процедура ВыбратьТовары(ИсходныеДанные)
Дата1 = ПредДата;
Дата2 = ТекДата;
ПроверитьДаты(Дата1,Дата2);
ИсходныеДанные.НоваяКолонка("Код");
ИсходныеДанные.НоваяКолонка("Группа");
ИсходныеДанные.НоваяКолонка("Кузов");
ИсходныеДанные.НоваяКолонка("Наименование");
ИсходныеДанные.НоваяКолонка("Статус");
ИсходныеДанные.НоваяКолонка("Артикул");
ИсходныеДанные.НоваяКолонка("Производитель");
ИсходныеДанные.НоваяКолонка("ЕстьПроизводитель");
ИсходныеДанные.НоваяКолонка("МаленькаяФотография");
ИсходныеДанные.НоваяКолонка("БольшаяФотография");
ИсходныеДанные.НоваяКолонка("Вес");
ИсходныеДанные.НоваяКолонка("ЕдИзмВеса");
ИсходныеДанные.НоваяКолонка("Остаток");
ИсходныеДанные.НоваяКолонка("ЕдИзм");
ИсходныеДанные.НоваяКолонка("Описание");
ОсновнойТипЦены = Параметры.Получить("ОсновнойТипЦены");
ОсновнаяВалюта = Параметры.Получить("ОсновнаяВалюта");
ВидСвойстваПроизводитель = ВыбратьВидСвойства("Производитель");
Если ОсновнойТипЦены.Рассчитывается = 1 Тогда
ТекТипЦены = ОсновнойТипЦены.БазовыйТипЦен;
Иначе
ТекТипЦены = ОсновнойТипЦены;
КонецЕсли;
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Период с Дата1 по Дата2;
|Номенклатура = Справочник.Номенклатура.ТекущийЭлемент, Регистр.ОстаткиТМЦ.Номенклатура.ТекущийЭлемент, Регистр.РезервыТМЦ.Номенклатура.ТекущийЭлемент, Справочник.Цены.Владелец;
|Фирма = Регистр.ОстаткиТМЦ.Фирма, Регистр.РезервыТМЦ.Фирма;
|Склад = Регистр.ОстаткиТМЦ.Склад, Регистр.РезервыТМЦ.Склад;
|Количество = Регистр.ОстаткиТМЦ.Количество;
|КоличествоРез = Регистр.РезервыТМЦ.Количество;
|Цена = Справочник.Цены.Цена;
|";
Если Параметры.Получить("ТолькоВыгружаемые") = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|НеВыгружать = Справочник.Номенклатура.НеВключатьВпрайс, Регистр.ОстаткиТМЦ.Номенклатура.НеВключатьВпрайс, Регистр.РезервыТМЦ.Номенклатура.НеВключатьВпрайс, Справочник.Цены.Владелец.НеВключатьВпрайс;
|";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|Функция ЦенаТовара = Сумма(Цена);
|Функция КоличествоКонОст = КонОст(Количество);
|Функция КоличествоРезКонОст = КонОст(КоличествоРез);
|Группировка Номенклатура без групп;
|";
Если Параметры.Получить("ТолькоВыгружаемые") = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Условие (НеВыгружать = 0);
|";
КонецЕсли;
СписокУсловий = СоздатьОбъект("СписокЗначений");
СписокУсловий.ДобавитьЗначение("Номенклатура");
СписокУсловий.ДобавитьЗначение("Фирма");
СписокУсловий.ДобавитьЗначение("Склад");
СписокУсловий.ДобавитьЗначение("ТипЦен");
УстановитьУсловия(ТекстЗапроса,СписокУсловий);
Запрос.Выполнить(ТекстЗапроса);
Пока Запрос.Группировка("Номенклатура") > 0 Цикл
ТекОстаток = Запрос.КоличествоКонОст - Запрос.КоличествоРезКонОст;
Если Параметры.Получить("ТолькоВНаличии") = 1 Тогда
Если ТекОстаток <= 0 Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
ИсходныеДанные.НоваяСтрока();
ИсходныеДанные.ТекущийЭлемент = Запрос.Номенклатура;
ИсходныеДанные.МаленькаяФотография = "";
ИсходныеДанные.БольшаяФотография = "_LRG";
ИсходныеДанные.Код = Запрос.Номенклатура;
ИсходныеДанные.Группа = Запрос.Номенклатура.Родитель;
ИсходныеДанные.Наименование = СокрЛП(Запрос.Номенклатура.ПолнНаименование);
ИсходныеДанные.Артикул = СокрЛП(Запрос.Номенклатура.Код);
ИсходныеДанные.ЕдИзм = СокрЛП(Запрос.Номенклатура.БазоваяЕдиница.ОКЕИ);
ИсходныеДанные.ЕдИзмВеса = СокрЛП(Константа.ЕдиницаВеса);
ИсходныеДанные.Производитель = ПолучитьЗначениеСвойства(Запрос.Номенклатура,ВидСвойстваПроизводитель);
Если ПустоеЗначение(ИсходныеДанные.Производитель) = 0 Тогда
ИсходныеДанные.ЕстьПроизводитель = "1";
Иначе
ИсходныеДанные.ЕстьПроизводитель = "0";
КонецЕсли;
ИсходныеДанные.Вес = Запрос.Номенклатура.БазоваяЕдиница.Вес;
ИсходныеДанные.Остаток = ТекОстаток;
ИсходныеДанные.Статус = "Y";
ТекКомм = Запрос.Номенклатура.Комментарий;
ТекКомментарий="";
Если ПустаяСтрока(СокрЛП(СтрПолучитьСтроку(ТекКомм, 1 )))= 0 Тогда
СчетчикЦикла = 0 ;
Для СчетчикЦикла = 1 По СтрКоличествоСтрок(ТекКомм) Цикл
Если ПустаяСтрока(СокрЛП(СтрПолучитьСтроку(ТекКомм,СчетчикЦикла)))= 0 Тогда
ТекКомментарий=ТекКомментарий+СтрЗаменить(СокрЛП(СтрПолучитьСтроку(ТекКомм,СчетчикЦикла)),"'",Симв( 34 ))+"<br>";
Иначе
ТекКомментарий=ТекКомментарий+"<br>";
КонецЕсли;
КонецЦикла;
КонецЕсли;
ИсходныеДанные.Описание = ТекКомментарий;
КонецЦикла;
КонецПроцедуры
Но в базе фотография хранится "Накладная-табличная часть-подбор" (рис2)
Как мне обратиться в этому полю чтобы выдернуть фото. Посмотрите процедуру, нужно изменить ссылку до фото.
Вопрос 2 аналогичный: Цены хранятся не в Справочники-Номенклатура-Фара, снизу кнопка Справочники-цены, а в накладной где и фото.
Как выбрать цену исходя из кода обработки?
Заранее благодарен.