7.7 помогите плз(

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Archivar, 14 авг 2013.

  1. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Смотрите: если я ставлю условие =0 то отчет будет пустым, т.к. в колонках знак 0 не печатается, там если товара нет, то цифра не печатается , там просто - как на скринах видели, там нет нулей, отсутствующий товар прост пустой, есть наименование цена и тд, а количество пустое, без знака. Вот и вопрос: как условие написать если там нет цифры?
  2. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Я непонятно описал?((( могу еще раз
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Честно - не понял. Думаю лучше подключиться удаленно. Есть возможность?
  4. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    мне не разрешат( я Вам кидал мд, там Обработка - ТМЦ, кнопка есть: прайс-лист. Так вот она формирует чисто прайс. Я же сделал рядом такую же кнопку, там соорудил такую же табличку, чтобы он не весь прайс формировал а только те позиции которых - нет. Вы это можете проверить. По сути вот код создания прайс- листа:
    Код:
    процедура Прайс()
    Ит=СоздатьОбъект("БухгалтерскиеИтоги");
    Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура);
    Если Ит.ВыполнитьЗапрос(,ДатаЖ2,"41",)=0 Тогда
    Возврат;
    КонецЕсли;
    Т=СоздатьОбъект("Таблица");
    Т.ИсходнаяТаблица("Прайс");
    Т.ВывестиСекцию("Шапка");
    Ит.ВыбратьСубконто();
    Ном=0; Всего=0;
    Пока Ит.ПолучитьСубконто()=1 Цикл
    если (0<Ит.СКД("К"))или(0<Ит.СКД()) Тогда
    Ном=Ном+1;
    Т.ВывестиСекцию("Строка");
    Всего=Всего+Ит.СКД("К")*Ит.Субконто().Цена.Получить(ДатаЖ2);
    КонецЕсли;
    КонецЦикла;
    Т.ВывестиСекцию("Подвал");
    Ит=0;
    Т.ТолькоПросмотр(1);
    Т.Опции(0,0,3,2,"Прайс","Прайс");
    Т.ПовторятьПриПечатиСтроки(3,3);
    Т.Показать();
    КонецПроцедуры

    Там я изменяю например строку:
    Код:
    если (0<Ит.СКД("К"))или(0<Ит.СКД()) Тогда
    на:
    Код:
    если (0>Ит.СКД("К"))или(0>Ит.СКД()) Тогда
    т.е. я просто поменял знаки: теперь меньше нуля. значит у меня прайспеределка будет формировать те позиции которые с минусом.


    А мне надо: те позиции которые равны 0.
    В номенклатуре есть положительные значения, и бывают и отрицательные( когда случайно пробивается товар, а его нет)....
    Но нет позиций равных нулю, т.е. самому символу. Т.е. ноль это конечно бы показывал что количество его равно нулю, но у нас вместо символа "0" просто пусто. Т.е. нет символов. Т.е. в номенклатуре могут быть положительные и отрицательные но ноль быть не может.. вместо него просто пустая клетка. Она свидетельствует что товара нет.

    Вот и вопрос, как мне написать если символа нет? а есть просто пустая клетка.
  5. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    я опять плохо объяснил?
  6. SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Я тоже не понимаю. Думаю вам нужно сделать правильное сравнение
  7. SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Я тоже не понимаю. Думаю вам нужно сделать правильное сравнение.

    Там какой принцип прайса?
    Наименование\ Кол-во\ цена

    В этом прайсе он вам выводит всю номенклатуру с нулевыми остатками
    Наименование\ Кол-во\ цена
    Гвозди ________10_____ 5 руб
    Палочки д суши__ ____ 3.50 руб

    Так что ли?
  8. SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Посмотрите отладчиком что вам выдает в ИТ.СКД
    Т.е в конфигураторе на против строки поставьте курсор
    если (0<Ит.СКД("К"))или(0<Ит.СКД()) Тогда

    В ниженм левом углу нажмите листок со стрлочкой красной "зАпустить в отладчике) откроеьтся отладич на против этой строки будет желтая колонка нажмите на эту колонку 2 раза у вас появится красная полоска. Запустите 1с сделайте отчет но что бы в ваш прайс сразу попала позиция с нулевым остатком. у вас вернется в отладчик при нажатии кнопки сформировать. Нажмем F8 вернемся к нашей строке Ит.СКД выделим курсором только
    Ит.СКД("К")
    И нажмем Шифт F9 там выдаст что Ит Скд равно 10 или 1 или 2. Потом нажмите F7 или Шифт F7 и потом все опять вернется к этому курсору и так отслеживайте до тех пор пока итскд =0 и посмотрите что он там выдаст. У меня впечатление что он нулевые остатки вообще не выводит
  9. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Смотрите: № Наименование Кол-во на складе Цена Сумма
    если (0<Ит.СКД("К"))или(0<Ит.СКД()) Тогда
    если знаки как тут то он выдает тупо прайс лист по наличию товара. т.е. только то что есть на складе.
    если знаки отразить если (0>Ит.СКД("К"))или(0>Ит.СКД()) Тогда
    Тогда выдает прайс позиций тех в которых количество - отрицательное, например: -1, или -1343
    Отрицательное бывает когда продается товар которого нет на складе, т.е. есть похожий но случайно продали не тот, это в основном мелочь.

    А мне надо те позиции которых нет. Если мы вместо знаков <> ставим = т.е. равенство, то он ничего не даст, т.к. у нас нет нуля, вместо нуля в графе количество ничего не стоит, т.е. если товара нет, нет и символа. Т.е. если например товар на складе в количестве 1 шт, продается, то он в номенклатуре будет не количество 0, а просто пустая клетка.

    Да суть Вы поняли
    http://files.mail.ru...B002DF47AE5E68A - вот скрин, скрин номенклатуры, по который отчет формируется
  10. SerzhM
    Offline

    SerzhM Опытный в 1С

    Регистрация:
    26 окт 2009
    Сообщения:
    511
    Симпатии:
    3
    Баллы:
    29
    Не получится у вас этот отчет переделать т.к он работает с регистрами. Что бы вам вывести 0 остаток нужно заново писать отчет. В котором будет идти перебор строк номенклатуры с запросом к регистру и если в регистре остаток есть то пропустить, если остатка нет тогда вывести в таблицу значений.
  11. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Спасибо) попробую) мб что получится)
  12. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Функция РасчитатьОстаток()
    Если (ТекущийЭлемент().ЭтоГруппа()=0) И (ТекущийЭлемент().ПометкаУдаления()=0) Тогда
    Если Настр.ОстатокВПодборе=1 Тогда
    Если Ит.ПолучитьСубконто(,,ТекущийЭлемент())=1 Тогда
    Остаток=Ит.СКД("К");
    КонецЕсли;
    КонецЕсли;
    Возврат Остаток;
    КонецЕсли;
    КонецФункции

    Типа этого?
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Это функция из формы списка подбора номенклатуры. Лень смотреть по теме, но я уже вам о ней говорил. Если не выполняется рад условий (по коду видно) Как раз и вернет ваше "пусто".
    А именно:
    • Реквизит ОстатокВПодборе=0
    • Не было оборотов по элементу
  14. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    ок спссс

Поделиться этой страницей