Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Вопрос про соединение таблиц(прошу помощи в условии соединения)

Добрый день
Прошу помощи по запросу

Есть таблица(Т2)

Склад 1
Склад 2 
Касса ККМ1


Еще одна таблица(Т1) это РН ПродажиОбороты
Есть регистратор с видом продаж ОтчетОРозничных продажах

через левое соединение к Т1 присоединяю Т2.

        ПО (ВЫБОР
                КОГДА ТаблицаРегистра.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
                    ТОГДА ВЫБОР
                            КОГДА ТаблицаРегистра.Регистратор.КассаККМ = ТорговыйОбъектТаблица.Склад
                                ТОГДА Истина
                            КОГДА ТаблицаРегистра.Регистратор.Склад = ТорговыйОбъектТаблица.Склад
                                ТОГДА Истина
                         КОНЕЦ
                ИНАЧЕ ТаблицаРегистра.ДокументПродажи.Склад = ТорговыйОбъектТаблица.Склад
            КОНЕЦ)


Получается проблема в том что у Отчета о розничных продажах есть реквизит и склад и Касса ККМ .и цифра получается не верная.
Как указать условие соединения?
Ответ: печаль какая то (
Вопрос: Небольшая помощь по коду в конвертации

Добрый день, сам новичек в коде, но создаю правила через конвертацию данных для переброса ПКО из ТиС 7.7 в Бух 3.0. Столкнулся с небольшим вопросом. Прошу помощи. В общем в ТиС есть справочник Касса, в бухгалтерии 3.0 его нет. Нужно перекинуть ПКо только по одной кассе (другие не трогать), а как это сделать не понимаю. Код представляю собой что то типа -
Если Справочник.Касса.НайтиПоКоду = "0000002" Выгрузка = "Ложь"
Но куда это записывать и в каком виде еще не знаю. Помогите пожалуйста.
Ответ:
Снова Здравствуйте, очень помогли в прошлый раз, но возникла новая задача. Из базы нужно перекинуть документ "Закрытие кассовой смены" в Отчет о розничной продаже. Столкнулся с тем что в табличной части "ЗКМ", которая называется "Оплаты" присутствует 2 позиции (ТипОплаты) - наличка и оплата картой.
Нужно перенести только Оплаты картой. Не могу понять где написать условие и как сделать отбор по типу оплаты? Прошу помощи.

Написал в Правила конвертации группы - "Оплаты" - перед выгрузкой следующие строчки:
Если источник.Оплаты.ТипОплаты = "Наличные"
тогда Отказ = 1
КонецЕсли;
при выгрузке выдает ошибку, что поле Объекта не обнаружено (типОплаты)

Вложения:

  • Размер файла:
    20,9 КБ
    Просмотров:
    1
Вопрос: [РЕШЕНО] Проверка установки флажка (тип "булево") на управляемой форме

Уважаемые эксперты, прошу помощи!
Управляемая форма. В зависимости от установки флажка "ТребуетсяУказатьКонкретныеДаты" становятся видимыми/невидимыми соответствующие реквизиты. Всё работает.
Вопрос в том, что при снятии этого флажка в уже записанном документе надо очистить эти реквизиты (которые становятся невидимыми), если они были заполнены.
Написал так:
Код:
&НаКлиенте
Процедура ТребуетсяУказатьКонкретныеДатыПриИзменении(Элемент)
    Если НЕ Элементы.ТребуетсяУказатьКонкретныеДаты Тогда
        Элементы.СрокГарантииНач = '00010101000000';
        Элементы.СрокГарантииКон = '00010101000000';
        Элементы.СрокДействияЛицензии = '00010101000000';
    КонецЕсли;
    УстановитьВидимостьДатГарантийногоСрока();
КонецПроцедуры
ругается на "преобразование в булево"

Если так:
Код:
Если НЕ ЗначениеЗаполнено(Элементы.ТребуетсяУказатьКонкретныеДаты) Тогда 
ругается на мутабельное значение.

Как же надо проверить, что флажок снят?
Спасибо.
Ответ:
Действительно. Спасибо!
Вопрос: Помощь в написании первой (элементарной) обработки.

Добрый день. Прошу помощи.

Дали задание: написание обработки, которая будет в номенклатуре заполнять графу "Описание" из графы "Страна происхождения" т.е. если в карточке номенклатуры заполнена "Страна происхождения": Россия, то и в графе "Описание" отобразится Россия.

Никогда до этого не писал обработок.
Ответ:
Ответьте пожалуйста в личке.
Вопрос: Распознавание речи в 1С8 с помощью google

Здравствуйте!

Прошу помощи в освоении технологий распознования речи)))
Нарыла на просторах интернета следующий способ 

Соединение = Новый HTTPСоединение(";);
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-type","audio/x-flac; rate="+Формат (Рейт, "ЧГ="));
    ЗапросHTTP = Новый HTTPЗапрос ("/speech-api/v2/recognize?xjerr=1&key=AIzaSyCPYK77NqpUfWoHof_HlhnKaGZAsaMT02Q&client=chromium&lang=ru-RU",Заголовки);
    ЗапросHTTP.УстановитьИмяФайлаТела(ИмяФайла);
    Ответ = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
    Сообщить(Ответ.КодСостояния);
    Сообщить(Ответ.ПолучитьТелоКакСтроку());


Возвращает {"result":[]}

Может сейчас уже этот способ не актуален ?? Подскажите в каком направлении копать, может полезные ссылки подскажите ?
Ответ: Только там тоже платно
Вопрос: 1с 8.2 вернуть тз с сервера на клиент и перебрать

Всё, сдаюсь...
Прошу помощи по решению следующего вопроса.

Я работал в основном с 1С 8.1 на обычных формах. Тут столкнулся с тем, что человеку нужен простенький отчетик в 1С 8.2 на управляемых формах.
Запрос набросал минут за 10, он еще будет правится - не в нем суть. Как вернуть результат в клиентскую часть - сижу уже несколько дней.

Есть обработка, на которой мы устанавливаем ДатаС, ДатаПо, Контрагент.

Таб - реквизит формы типа ТаблицаЗначений.

И есть модуль формы (серверная часть не очень интересует, она небольшая, поэтому я ее полностью привел):


Код ( (Unknown Language)):
&НаСервере
Функция ВыборкаДанных(ДатаС, ДатаПо, Контрагент)

ТаблЗнач = Новый ТаблицаЗначений;
ТаблЗнач.Колонки.Добавить("Номенклатура");

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


Запрос.УстановитьПараметр("ДатаС", ДатаС);
Запрос.УстановитьПараметр("ДатаПо", ДатаПо);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("ВидЦеныЗакупочная", Справочники.ВидыЦен.НайтиПоНаименованию("закупочная"));
Запрос.УстановитьПараметр("ВидЦеныРозничная", Справочники.ВидыЦен.НайтиПоНаименованию("розница"));

ТаблЗнач = Новый ТаблицаЗначений;
ТаблЗнач = Запрос.Выполнить().Выгрузить();
ЗначениеВРеквизитФормы(ТаблЗнач,"Отчет.Таб"); // это вот так нужно передавать?
// или можно как-то по другому?

КонецФункции



Код ( (Unknown Language)):
&НаКлиенте
Процедура Сформировать(Команда)
//
ВыборкаДанных(Отчет.ДатаС, Отчет.ДатаПо, Отчет.Контрагент);

Для каждого Эл из Отчет.Таб Цикл

Сообщить(Эл);
КонецЦикла;

КонецПроцедуры

[offtop]
Смотреть курсы по СКД и УФ на 100500 часов нет времени (обязательно как-нибудь это сделаю). Просто человеку нужно очень срочно, а я сижу уже несколько дней и без результата.
[/offtop]

Получается что:
1. На тонком клиенте недоступна таблица значений (то есть ее нельзя вернуть по Возврат)
2. На тонком клиенте недоступна ЗначениеФормыВРеквизит
3. На тонком клиенте недоступна ЗначениеИзСтрокиВнутр
4. На тонком клиенте недоступна табличная часть формы (то есть ее нельзя заполнить на сервере)

То, как приведено в коде выше, единственный способ, который я нашел и который что-то возвращает.

А возвращается в Отчет.Таб какая-то хрень, которая называется ДанныеФормыКоллекция. Что это и как с этим работать из СП непонятно. Я сомневаюсь, что это то, что мне нужно для вывода данных.

Кто сталкивался с такой штукой? Подскажите, как все-таки вернуть данные из запроса и отобразить из на клиенте в управляемой форме.
Спасибо!
Ответ:
Сообщение от RZX
Всё, сдаюсь...
Прошу помощи по решению следующего вопроса.

Я работал в основном с 1С 8.1 на обычных формах. Тут столкнулся с тем, что человеку нужен простенький отчетик в 1С 8.2 на управляемых формах.
Запрос набросал минут за 10, он еще будет правится - не в нем суть. Как вернуть результат в клиентскую часть - сижу уже несколько дней.

Есть обработка, на которой мы устанавливаем ДатаС, ДатаПо, Контрагент.

Таб - реквизит формы типа ТаблицаЗначений.

И есть модуль формы (серверная часть не очень интересует, она небольшая, поэтому я ее полностью привел):


Код ( (Unknown Language)):
&НаСервере
Функция ВыборкаДанных(ДатаС, ДатаПо, Контрагент)

ТаблЗнач = Новый ТаблицаЗначений;
ТаблЗнач.Колонки.Добавить("Номенклатура");

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


Запрос.УстановитьПараметр("ДатаС", ДатаС);
Запрос.УстановитьПараметр("ДатаПо", ДатаПо);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("ВидЦеныЗакупочная", Справочники.ВидыЦен.НайтиПоНаименованию("закупочная"));
Запрос.УстановитьПараметр("ВидЦеныРозничная", Справочники.ВидыЦен.НайтиПоНаименованию("розница"));

ТаблЗнач = Новый ТаблицаЗначений;
ТаблЗнач = Запрос.Выполнить().Выгрузить();
ЗначениеВРеквизитФормы(ТаблЗнач,"Отчет.Таб"); // это вот так нужно передавать?
// или можно как-то по другому?

КонецФункции



Код ( (Unknown Language)):
&НаКлиенте
Процедура Сформировать(Команда)
//
ВыборкаДанных(Отчет.ДатаС, Отчет.ДатаПо, Отчет.Контрагент);

Для каждого Эл из Отчет.Таб Цикл

Сообщить(Эл);
КонецЦикла;

КонецПроцедуры

[offtop]
Смотреть курсы по СКД и УФ на 100500 часов нет времени (обязательно как-нибудь это сделаю). Просто человеку нужно очень срочно, а я сижу уже несколько дней и без результата.
[/offtop]

Получается что:
1. На тонком клиенте недоступна таблица значений (то есть ее нельзя вернуть по Возврат)
2. На тонком клиенте недоступна ЗначениеФормыВРеквизит
3. На тонком клиенте недоступна ЗначениеИзСтрокиВнутр
4. На тонком клиенте недоступна табличная часть формы (то есть ее нельзя заполнить на сервере)

То, как приведено в коде выше, единственный способ, который я нашел и который что-то возвращает.

А возвращается в Отчет.Таб какая-то хрень, которая называется ДанныеФормыКоллекция. Что это и как с этим работать из СП непонятно. Я сомневаюсь, что это то, что мне нужно для вывода данных.

Кто сталкивался с такой штукой? Подскажите, как все-таки вернуть данные из запроса и отобразить из на клиенте в управляемой форме.
Спасибо!
Это не код, а адовая реализация!!!!
Сначала надо причесать сам запрос - он будет Вам выдавать результат очень долго и скорее всего неправильно....
Вот немного подправил ваш запрос:

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

Код
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ТаблЗнач.Параметры.УстановитьЗначениеПараметра("ДатаС", ДатаС);
ТаблЗнач.Параметры.УстановитьЗначениеПараметра("ДатаПо", ДатаПо);
ТаблЗнач.Параметры.УстановитьЗначениеПараметра("Контрагент", Контрагент);

КонецПроцедуры
Если же нужно все равно реализовать через таблицузначений то тебе надо создать объект со всеми колонками, все необходимое создать на форме для отражения, а для заполнения достаточно сделать виде после выполнения запроса:

Код
ЗначениеВРеквизитФормы(Запрос.Выполнить().Выгрузить(), "ТаблЗнач");
вообщем ничего сложного
Вопрос: Работа в 1с без установки платформы

Доброго времени суток. В организации 30компов, база файловая. Можно ли работать в 1с без установки платформы, а просто запуская файл 1cv8.exe (папка с уже установленной платформой просто скопирована с другого компа)
Ответ: () благодарю за помощь
Вопрос: Установка 1c 8.3.9.1850 64 бита для Виндус

Добрый день
Хочу установить новую платформу последнею на сегодня 8.3, версия 8.3.9.1850 для
Технологическая платформа 1С:Предприятия (64-bit) для Windows
и при установке драйвера защиты такая ошибка
Подскажите как исправить ?

Вложения:

  • Размер файла:
    8,8 КБ
    Просмотров:
    15
Ответ:
Удалите с помощью ccleaner и реестр (закладка Registry) исправьте после этого
Вопрос: Установка цен номенклатуры на основании документа "Регистрация цен поставщика"

Добрый день... Организация работает с некоторыми поставщиками по спецификации. т.е цены на товары оговариваются отдельно. При изменении цены у поставщика меняется цена в соглашении с поставщиком документом Регистрация цен поставщика.
Как на основании этого документа сделать установку цен номенклатуры без прихода товара.
В конфигураторе "Регистрация цен поставщика", на закладке "Ввод на основании" указываю что он является основанием для "Установка цен номенклатуры".

Проверяю, захожу в документ "Установка цен номенклатуры", вижу, что он может создаваться на основании "Регистрация цен поставщика".

Захожу в форму документа "Регистрация цен поставщика" открываю кнопку ввод на основании , документ "Установка цен номенклатуры" появляется - но пустой... В нем нет товаров из документа регистрация цен поставщика и документ регистрация цен поставщика не указан как основание доумента установка це номенклатуры. Подскажите куда копать?
Ответ:
Ну если бы в документе регистрация цен поставщика было бы 2-3 позиции то было бы не так сложно а когда из за сотню..... 11.2.3.135
Вопрос: Установка 1С Предприятие в Ubuntu 16.04 LTS. Как это сделать?

Имеются файлы для установки 1С Предприятие:
- 1c-enterprise83-client_8.3.6-1999_amd64.deb
- 1c-enterprise83-client-nls_8.3.6-1999_amd64.deb
- 1c-enterprise83-thin-client_8.3.6-1999_amd64.deb
- 1c-enterprise83-thin-client-nls_8.3.6-1999_amd64.deb

Как все это добро правильно установить на Ubuntu 16.04 LTS? Читал, что после установки зависимости нужно будет устранять.
Как все это успешно сделать?
Ответ: Dethmontt, Спасибо.

Хотелось бы конкретики по данным имеющимся в наличии файлам. С пояснениями если можно. Буду очень признателен. Раньше где-то читал что устранять зависимости надо будет после установки. Тоже хотелось бы узнать как это сделать.