Задача. Сформировать базу данных минимальных остатков товара на складе для ежедневной перепроверки и дозаказа товара. Раньше с ДБФ ваапще не сталкивался и попробовал данные о минимальных остатках хранить в ТХТ формате. Не понравилось. Пробовал экспортировать в эксель. Очень не понравился. Загнал данные в ДБФ фалик.
Б=СоздатьОбъект("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; КонецЦикла; Б.ЗакрытьФайл();
Вроде как все нормально записалось, все устраивает. Только вот ступор у меня вышел, как найти нужній товар в ДБФ-е. В помошнике есть метод НАЙТИ(), но как его правильно применить что-то застопорился... Можете объяснить на пальцах. Буду благодарен также за ссылку на пример. Благодарю.
Группа: Пользователи
Сообщений: 96
Спасибо сказали: 8 раз
Рейтинг: 0
Цитата(MATEVI @ 05.03.12, 19:22)
ЗаписьНайдена=ДБФ.Найти("Иванов",0)
ЖКК стр 861 А вообще что то не совсем понятно что Вы хотите найти в ДБФе? Вы же его формируете в том куске кода
телепатирую - у него этот кусок кода выполняется медленно. вот и формирует раз в день файлик. Видимо не только с дбф не сталкивался но и с получением остатков вообще.
Топикстартер - копните в сторону стандартных документов расхода товара а также справочник "ТМЦ" в режиме подбора (когда остатки выводятся в табличке. Поверьте всё гораздо проще и прозрачнее
Мама дорогая. А зачем делать запрос за 60 дней если используется только конечное сальдо?
Группа: Пользователи
Сообщений: 96
Спасибо сказали: 8 раз
Рейтинг: 0
Цитата(sava1 @ 05.03.12, 21:37)
но человека интересует сериализация (если я правильно понял)
Его интересует текущий остаток товара и минимально-допустимый (из карточки). Если что - дозаказ. Всё. больше ничего. Получает он в этом коде и пишет в дбф текущий остаток. потом видать хочет читать его и сравнивать с минимальным остатком товара.
Его интересует текущий остаток товара и минимально-допустимый (из карточки). Если что - дозаказ. Всё. больше ничего. Получает он в этом коде и пишет в дбф текущий остаток. потом видать хочет читать его и сравнивать с минимальным остатком товара.
Он же сказал в начале: "Сформировать базу данных минимальных остатков товара на складе для ежедневной перепроверки и дозаказа товара". А формирует просто остатки, не отбирая минимальных. Зачем телепатировать? Вот когда автор четко сформирует свою задачу, тогда можно и объяснить.
Может действительно не совсем точно ситуацию объяснил. Кусок кода выполняется единоразово при инициализации базы данных минимальных остатков товара. За 60 дней запрос делается чтобы попали все товары по которым были движения не зависимо от того есть ли они сейчас на остатке или нет. Основная задача - ежедневное сравнение остатка товара с минимальным остатком указанным в ДБФе единоразово. То бишь буду ежедневно смотреть остатки товара и сравнивать с необходимым минимальным остатком в ДБФ. Основная задача - быстро найти нужную запись в ДБФнике и сравнить значения остатков.
Еще раз уточню. ДБФ формируется единоразово. Заполнение минимальных остатков товара будет заполнятся вручную людьми, т. к. планированием сколько чего минимально должно оставаться для нормальной торговли будут решать начальники отделов продаж. Основная задача - быстрый поиск записи в дбв. Копал в сторону индексов, но не понравилось. Вроде как из пушки по воробьям. Метод найти() интуитивно понятен, но смущает описание "найти значение по индексу". Может там все как дважды два, но т.к. с индексами не сталкивался прошу помощи либо разъяснения. Спасибо.
В ПУБ, в справочнике ТМЦ есть реквизит МинимальныйОстаток. Его будут заполнять начальники отделов?
Дело в том, что отдел продаж не один. Грубо говоря есть несколько складов с которых идут продажи и по которым нужно сформировать минимальные остатки для товара.
Цитата(Talkman @ 06.03.12, 10:11)
Дело в том, что отдел продаж не один. Грубо говоря есть несколько складов с которых идут продажи и по которым нужно сформировать минимальные остатки для товара.
И эти минимальные остатки для каждого склада хранятся в 1С? Ведь конфа жутко переработанная, как вы писали. Уже предвижу, в какую сторону она переписана. Если же окажется, что остатки разные не только для каждого склада, но и для каждого отдела продаж... Скорей всего так оно и есть. Но не в этом суть. По моему, речь идет об отчете, в котором, в разрезе отделов и складов, нужно выводить текущий остаток товара на заданную дату, минимальный остаток, и галочку - нужно-ли дозаказывать товар. Если так, то тогда все просто.
И эти минимальные остатки для каждого склада хранятся в 1С? Ведь конфа жутко переработанная, как вы писали. Уже предвижу, в какую сторону она переписана. Если же окажется, что остатки разные не только для каждого склада, но и для каждого отдела продаж... Скорей всего так оно и есть. Но не в этом суть. По моему, речь идет об отчете, в котором, в разрезе отделов и складов, нужно выводить текущий остаток товара на заданную дату, минимальный остаток, и галочку - нужно-ли дозаказывать товар. Если так, то тогда все просто.
Не совсем понимаю о чем сейчас ведется беседа. Есть склады, они же МестаХранения. Для каждого склада само собой свой перечень товаров со своими остатками. Эти остатки и нужно контролировать, чтобы они были не меньше минимальных, установленых руководителями отделов продаж, за которыми закреплены склады. Нюанс только в том, где хранить данные о минимальных остатках товаров в разрезе складов. Мое мнение такое. Зачем править конфу и внедрять дополнительные атрибуты в ТМЦ для хранения минимальных остатков, нагружать конфу лишними данными если их можно хранить в отдельном файле. Зачем менять конфу, если все можно реализовать одной обработкой? Мы немного отвлеклись от сабжа...
Цитата(vadim007 @ 06.03.12, 10:08)
В ПУБ, в справочнике ТМЦ есть реквизит МинимальныйОстаток. Его будут заполнять начальники отделов?
Минимальные остатки будут вносится в ДБФ файлик. Для каждого склада свой файлик.
Обращение к ДБФ необходимо в случае если у Вас другая БД (не 1С) и необходим экспорт/импорт данных, или например, экспорта/импорта данных из клиент-банка. Если даже у Вас две параллельные базы 1С то стоит обратить внимание на механизм ОЛЕ.
Я конечно дико извиняюсь, но неужели вопрос настолько сложен... Меня интересует как можно посредством 1С найти запись в ДБФ исключая метод простого перебора. Если это метод Найти(), то опишите пожалуйста пример использования, если другой механизм, буду благодарен если Вы мене его продемонстрируете. Значение минимальных остатков товара для каждого товара не считаю целесообразным хранить в 1С, так как эти данные будут использоваться лишь для одного процесса. Зачем приваривать коляску к мотоциклу, если нужно перевести пол мешка картошки...
Ну как знаете. [необходимо зарегистрироваться для просмотра ссылки]. Смотрим в конец страницы.
ПыСы Аллегории проводить не буду.
Все таки индексы... Значит прямого поиска нет... Чтож, спасибо. Подумаю о создании подчиненного справочника для ТМЦ, в котором будут реквизиты склад и минимальный остаток. Либо же из ДБФ загружать данные в ТЗ и уже с ней работать... Короче будем посмотреть...
инимальные остатки будут вносится в ДБФ файлик. Для каждого склада свой файлик.
Откуда будут браться минимальные остатки? Я так понял, не из 1С. Если их должны вносить начальники отделов, то нужно их обучить работать с какой-нибудь утилитой редактирования dbf.
Цитата(Talkman @ 06.03.12, 11:03)
Зачем приваривать коляску к мотоциклу, если нужно перевести пол мешка картошки...
Действительно - зачем?
Цитата(Talkman @ 06.03.12, 11:53)
Подумаю о создании подчиненного справочника для ТМЦ, в котором будут реквизиты склад и минимальный остаток.
А я то думал, что в жутко переработанной конфе это уже реализовано, осталась только малость - сравнить текущие и минимальные остатки. Тогда - вперед! Только не нужно новый справочник подчинять справочнику ТМЦ.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!