Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Поиск по ДБФ 2 страниц V   1 2 >          
Talkman Подменю пользователя
сообщение 05.03.12, 17:47
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 189
Из: Черкассы
Спасибо сказали: 9 раз
Рейтинг: 9

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

    Б=СоздатьОбъект("XBase");
    Путь = КаталогИБ()+"\Остатки\"+Строка(Склад.Код)+".DBF";  
    Сообщить(Путь);
    Б.ДобавитьПоле("NN","N",4,0);
    Б.ДобавитьПоле("TOVARCODE","S",9,0);
    Б.ДобавитьПоле("TOVAR","S",50,0);
    Б.ДобавитьПоле("Ostatok","N",10,2);
    Если Фс.СуществуетФайл(Путь) = 0 Тогда
        Б.СоздатьФайл(Путь);
    иначе
        Если Вопрос("Файл "+Путь+" уже существует. Заменить его?",4) = 6 тогда
            Фс.УдалитьФайл(Путь);
            Б.СоздатьФайл(Путь);
        иначе
            возврат;
        КонецЕсли;    
    КонецЕсли;
    
    Если Б.Открыта()=0 Тогда
        Попытка
            Б.ОткрытьФайл(Путь);
        исключение    
            Сообщить("Не удалось открыть файл DBF","!");
            Возврат;  
        КонецПопытки
    КонецЕсли;
    Би = СоздатьОбъект("БухгалтерскиеИтоги");
    Би.ИспользоватьСубконто(ВидыСубконто.ТМЦ);
    Би.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад);
    Би.ВыполнитьЗапрос(РабочаяДата() - 60, РабочаяДата(), "281");
    Би.ВыбратьСубконто(ВидыСубконто.МестаХранения);
    Би.ПолучитьСубконто(ВидыСубконто.МестаХранения);
    Би.ВыбратьСубконто(ВидыСубконто.ТМЦ);
    Ном = 1;
    Пока Би.ПолучитьСубконто(ВидыСубконто.ТМЦ) = 1 Цикл
        Б.Добавить();
        Б.NN = Ном;
        Б.TOVARCODE = Би.Субконто(ВидыСубконто.ТМЦ).Код;
        Б.TOVAR = Би.Субконто(ВидыСубконто.ТМЦ).Наименование;
        Б.Ostatok = Би.СКД(3);
        Б.Записать();
        ном = Ном + 1;
    КонецЦикла;
    Б.ЗакрытьФайл();



Вроде как все нормально записалось, все устраивает. Только вот ступор у меня вышел, как найти нужній товар в ДБФ-е. В помошнике есть метод НАЙТИ(), но как его правильно применить что-то застопорился... Можете объяснить на пальцах. Буду благодарен также за ссылку на пример. Благодарю.

А поправить отправленное сообщение никак?

Сообщение отредактировал Vofka - 05.03.12, 17:49

MATEVI Подменю пользователя
сообщение 05.03.12, 18:22
Сообщение #2

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 956 раз
Рейтинг: 0

ЗаписьНайдена=ДБФ.Найти("Иванов",0)

ЖКК стр 861
А вообще что то не совсем понятно что Вы хотите найти в ДБФе? Вы же его формируете в том куске кода

Сообщение отредактировал MATEVI - 05.03.12, 19:37

Стрелок Подменю пользователя
сообщение 05.03.12, 19:29
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 96
Спасибо сказали: 8 раз
Рейтинг: 0

Цитата(MATEVI @ 05.03.12, 19:22) *
ЗаписьНайдена=ДБФ.Найти("Иванов",0)

ЖКК стр 861
А вообще что то не совсем понятно что Вы хотите найти в ДБФе? Вы же его формируете в том куске кода



телепатирую - у него этот кусок кода выполняется медленно. вот и формирует раз в день файлик. Видимо не только с дбф не сталкивался но и с получением остатков вообще.

Топикстартер - копните в сторону стандартных документов расхода товара а также справочник "ТМЦ" в режиме подбора (когда остатки выводятся в табличке. Поверьте всё гораздо проще и прозрачнее

Мама дорогая. А зачем делать запрос за 60 дней если используется только конечное сальдо?

Сообщение отредактировал MATEVI - 05.03.12, 19:37


Signature
Программист 1С - любимчик бухгалтеров

sava1 Подменю пользователя
сообщение 05.03.12, 20:20
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Радикальное решение - 1срр (прямой запрос + индексированная таблица)
Хотя это не для топикстартера upset.gif

Стрелок Подменю пользователя
сообщение 05.03.12, 20:32
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 96
Спасибо сказали: 8 раз
Рейтинг: 0

Цитата(sava1 @ 05.03.12, 21:20) *
Радикальное решение - 1срр (прямой запрос + индексированная таблица)
Хотя это не для топикстартера upset.gif



прямым запросом и без таблицы всё летает. главное правильно условия наложить (накласть)


Signature
Программист 1С - любимчик бухгалтеров

sava1 Подменю пользователя
сообщение 05.03.12, 20:37
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

но человека интересует сериализация (если я правильно понял)

Стрелок Подменю пользователя
сообщение 05.03.12, 20:40
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 96
Спасибо сказали: 8 раз
Рейтинг: 0

Цитата(sava1 @ 05.03.12, 21:37) *
но человека интересует сериализация (если я правильно понял)


Его интересует текущий остаток товара и минимально-допустимый (из карточки). Если что - дозаказ. Всё. больше ничего. Получает он в этом коде и пишет в дбф текущий остаток. потом видать хочет читать его и сравнивать с минимальным остатком товара.


Signature
Программист 1С - любимчик бухгалтеров

vadim007 Подменю пользователя
сообщение 06.03.12, 8:08
Сообщение #8

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0

Цитата(Стрелок @ 05.03.12, 20:40) *
Его интересует текущий остаток товара и минимально-допустимый (из карточки). Если что - дозаказ. Всё. больше ничего. Получает он в этом коде и пишет в дбф текущий остаток. потом видать хочет читать его и сравнивать с минимальным остатком товара.

Он же сказал в начале: "Сформировать базу данных минимальных остатков товара на складе для ежедневной перепроверки и дозаказа товара". А формирует просто остатки, не отбирая минимальных. Зачем телепатировать? Вот когда автор четко сформирует свою задачу, тогда можно и объяснить.

Talkman Подменю пользователя
сообщение 06.03.12, 9:28
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 189
Из: Черкассы
Спасибо сказали: 9 раз
Рейтинг: 9

Может действительно не совсем точно ситуацию объяснил.
Кусок кода выполняется единоразово при инициализации базы данных минимальных остатков товара. За 60 дней запрос делается чтобы попали все товары по которым были движения не зависимо от того есть ли они сейчас на остатке или нет. Основная задача - ежедневное сравнение остатка товара с минимальным остатком указанным в ДБФе единоразово. То бишь буду ежедневно смотреть остатки товара и сравнивать с необходимым минимальным остатком в ДБФ. Основная задача - быстро найти нужную запись в ДБФнике и сравнить значения остатков.

Еще раз уточню. ДБФ формируется единоразово. Заполнение минимальных остатков товара будет заполнятся вручную людьми, т. к. планированием сколько чего минимально должно оставаться для нормальной торговли будут решать начальники отделов продаж. Основная задача - быстрый поиск записи в дбв. Копал в сторону индексов, но не понравилось. Вроде как из пушки по воробьям. Метод найти() интуитивно понятен, но смущает описание "найти значение по индексу". Может там все как дважды два, но т.к. с индексами не сталкивался прошу помощи либо разъяснения. Спасибо.

vadim007 Подменю пользователя
сообщение 06.03.12, 9:47
Сообщение #10

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0

В какой конфигурации это все делается?

Talkman Подменю пользователя
сообщение 06.03.12, 9:52
Сообщение #11

Завсегдатай
****
Группа: Пользователи
Сообщений: 189
Из: Черкассы
Спасибо сказали: 9 раз
Рейтинг: 9

Цитата(vadim007 @ 06.03.12, 9:47) *
В какой конфигурации это все делается?

Жутко переделаная ПУБ. Сравнение остатков будет проводится в отдельной обработке.

vadim007 Подменю пользователя
сообщение 06.03.12, 10:08
Сообщение #12

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0

В ПУБ, в справочнике ТМЦ есть реквизит МинимальныйОстаток. Его будут заполнять начальники отделов?

Talkman Подменю пользователя
сообщение 06.03.12, 10:11
Сообщение #13

Завсегдатай
****
Группа: Пользователи
Сообщений: 189
Из: Черкассы
Спасибо сказали: 9 раз
Рейтинг: 9

Цитата(vadim007 @ 06.03.12, 10:08) *
В ПУБ, в справочнике ТМЦ есть реквизит МинимальныйОстаток. Его будут заполнять начальники отделов?

Дело в том, что отдел продаж не один. Грубо говоря есть несколько складов с которых идут продажи и по которым нужно сформировать минимальные остатки для товара.

Цитата(Talkman @ 06.03.12, 10:11) *
Дело в том, что отдел продаж не один. Грубо говоря есть несколько складов с которых идут продажи и по которым нужно сформировать минимальные остатки для товара.

Минимальные остатки для каждого склада разные

vadim007 Подменю пользователя
сообщение 06.03.12, 10:22
Сообщение #14

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0

И эти минимальные остатки для каждого склада хранятся в 1С? Ведь конфа жутко переработанная, как вы писали. Уже предвижу, в какую сторону она переписана. Если же окажется, что остатки разные не только для каждого склада, но и для каждого отдела продаж... Скорей всего так оно и есть. Но не в этом суть. По моему, речь идет об отчете, в котором, в разрезе отделов и складов, нужно выводить текущий остаток товара на заданную дату, минимальный остаток, и галочку - нужно-ли дозаказывать товар. Если так, то тогда все просто.

Talkman Подменю пользователя
сообщение 06.03.12, 10:46
Сообщение #15

Завсегдатай
****
Группа: Пользователи
Сообщений: 189
Из: Черкассы
Спасибо сказали: 9 раз
Рейтинг: 9

Цитата(vadim007 @ 06.03.12, 10:22) *
И эти минимальные остатки для каждого склада хранятся в 1С? Ведь конфа жутко переработанная, как вы писали. Уже предвижу, в какую сторону она переписана. Если же окажется, что остатки разные не только для каждого склада, но и для каждого отдела продаж... Скорей всего так оно и есть. Но не в этом суть. По моему, речь идет об отчете, в котором, в разрезе отделов и складов, нужно выводить текущий остаток товара на заданную дату, минимальный остаток, и галочку - нужно-ли дозаказывать товар. Если так, то тогда все просто.

Не совсем понимаю о чем сейчас ведется беседа. Есть склады, они же МестаХранения. Для каждого склада само собой свой перечень товаров со своими остатками. Эти остатки и нужно контролировать, чтобы они были не меньше минимальных, установленых руководителями отделов продаж, за которыми закреплены склады. Нюанс только в том, где хранить данные о минимальных остатках товаров в разрезе складов. Мое мнение такое. Зачем править конфу и внедрять дополнительные атрибуты в ТМЦ для хранения минимальных остатков, нагружать конфу лишними данными если их можно хранить в отдельном файле. Зачем менять конфу, если все можно реализовать одной обработкой?
Мы немного отвлеклись от сабжа...

Цитата(vadim007 @ 06.03.12, 10:08) *
В ПУБ, в справочнике ТМЦ есть реквизит МинимальныйОстаток. Его будут заполнять начальники отделов?

Минимальные остатки будут вносится в ДБФ файлик. Для каждого склада свой файлик.

MATEVI Подменю пользователя
сообщение 06.03.12, 10:55
Сообщение #16

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 956 раз
Рейтинг: 0

Обращение к ДБФ необходимо в случае если у Вас другая БД (не 1С) и необходим экспорт/импорт данных, или например, экспорта/импорта данных из клиент-банка. Если даже у Вас две параллельные базы 1С то стоит обратить внимание на механизм ОЛЕ.

Спасибо сказали: Домовик,

Talkman Подменю пользователя
сообщение 06.03.12, 11:03
Сообщение #17

Завсегдатай
****
Группа: Пользователи
Сообщений: 189
Из: Черкассы
Спасибо сказали: 9 раз
Рейтинг: 9

Я конечно дико извиняюсь, но неужели вопрос настолько сложен... Меня интересует как можно посредством 1С найти запись в ДБФ исключая метод простого перебора. Если это метод Найти(), то опишите пожалуйста пример использования, если другой механизм, буду благодарен если Вы мене его продемонстрируете. Значение минимальных остатков товара для каждого товара не считаю целесообразным хранить в 1С, так как эти данные будут использоваться лишь для одного процесса. Зачем приваривать коляску к мотоциклу, если нужно перевести пол мешка картошки...

MATEVI Подменю пользователя
сообщение 06.03.12, 11:14
Сообщение #18

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 956 раз
Рейтинг: 0

Ну как знаете. [необходимо зарегистрироваться для просмотра ссылки]. Смотрим в конец страницы.

ПыСы Аллегории проводить не буду.

Спасибо сказали: Talkman,

Talkman Подменю пользователя
сообщение 06.03.12, 11:53
Сообщение #19

Завсегдатай
****
Группа: Пользователи
Сообщений: 189
Из: Черкассы
Спасибо сказали: 9 раз
Рейтинг: 9

Цитата(MATEVI @ 06.03.12, 11:14) *
Ну как знаете. [необходимо зарегистрироваться для просмотра ссылки]. Смотрим в конец страницы.

ПыСы Аллегории проводить не буду.

Все таки индексы... Значит прямого поиска нет...
Чтож, спасибо. Подумаю о создании подчиненного справочника для ТМЦ, в котором будут реквизиты склад и минимальный остаток.
Либо же из ДБФ загружать данные в ТЗ и уже с ней работать... Короче будем посмотреть...

vadim007 Подменю пользователя
сообщение 06.03.12, 12:11
Сообщение #20

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0

Цитата(Talkman @ 06.03.12, 10:46) *
инимальные остатки будут вносится в ДБФ файлик. Для каждого склада свой файлик.

Откуда будут браться минимальные остатки? Я так понял, не из 1С. Если их должны вносить начальники отделов, то нужно их обучить работать с какой-нибудь утилитой редактирования dbf.
Цитата(Talkman @ 06.03.12, 11:03) *
Зачем приваривать коляску к мотоциклу, если нужно перевести пол мешка картошки...

Действительно - зачем?
Цитата(Talkman @ 06.03.12, 11:53) *
Подумаю о создании подчиненного справочника для ТМЦ, в котором будут реквизиты склад и минимальный остаток.

А я то думал, что в жутко переработанной конфе это уже реализовано, осталась только малость - сравнить текущие и минимальные остатки. Тогда - вперед! Только не нужно новый справочник подчинять справочнику ТМЦ.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 1:17
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!